
/*-----------------------------------------
HTML, BODY
-----------------------------------------*/
html, body
{
	background: #F2F2EA;
	margin: 0;
	padding: 0;
	overflow-x: hidden;
	width: 100%;
}


/*-----------------------------------------
HEADER
-----------------------------------------*/
header
{

}

/*-----------------------------------------
HEADER LOGO
-----------------------------------------*/
.header-logo
{
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center;
	width: 59%;
}
	@media (min-width: 981px)
	{
		.header-logo
		{
			width: 30%;
		}
	}
	
		.header-logo a
		{
			display: block;
		}

		.header-logo img
		{
			display: block;
			height: 40px;
			width: auto;
		}
	

/*-----------------------------------------
HEADER NAV SEARCH ITEMS
-----------------------------------------*/
.header-nav-search-items
{
	-ms-flex-item-align: center;
	-ms-grid-row-align: center;
	align-self: center;
	text-align: right;
	width: 38%;
}
	@media (min-width: 981px)
	{
		.header-nav-search-items
		{
			width: 68.5%;
		}
	}
	
		.header-nav-search-items > *
		{
			display: inline-block;
			text-align: left;
			vertical-align: middle;
		}
	
	


/*-----------------------------------------
NAVIGATION
-----------------------------------------*/
.header-navigation ul
{
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 981px)
{
	.site-nav-list > li
	{
		display: inline-block;
	}

		.site-nav-trigger
		{
			background: transparent;
			color: var(--color-black);
			font-weight: normal;
			padding: 0 2rem;
		}
			.site-nav-trigger:hover
			{
				background: transparent;
			}
			
			.site-nav-trigger::after
			{
				content: attr(data-text);
				display: block;
				font-weight: bold;
				height: 0;
				visibility: hidden;
				overflow: hidden;
				pointer-events: none;
			}
			
			.site-nav-trigger.active
			{
				font-weight: bold;
			}
			
}


/*-----------------------------------------
MEGA MENU
-----------------------------------------*/
.mega-menu
{
	background: var(--color-deep-purple);
	border-radius: 16px;
	display: none;
	left: 0;
	padding: 1.2rem;
	position: absolute;
	top: 80px;
	width: 100%;
	z-index: 100;
}

	.mega-menu.is-open
	{
		display: block;
	}

	.mega-menu-inner
	{
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 4%;
		padding: 0;
		width: 100%;
	}

	.mega-menu-back
	{
		margin-bottom: 3rem;
		width: 100%;
	}
		.mega-menu-back button
		{
			background: var(--color-light-purple);
			border-radius: 4px;
			color: var(--color-deep-purple);
			padding: 0.8rem 1.2rem;
		}
			.mega-menu-back button:before
			{
				content: "";
				background-image: url('../svgs/arrow-purple-left.svg');
				background-repeat: no-repeat;
				background-size: contain;
				display: inline-block;
				height: 16px;
				margin-right: 1.2rem;
				vertical-align: middle;
				width: 18px;
			}
			
	.mega-menu-group-title
	{
		color: var(--color-light-purple);
		margin-bottom: 1.5rem;
	}


/*-----------------------------------------
MEGA MENU - PRIMARY & SECONDARY
-----------------------------------------*/
.mega-menu-primary,
.mega-menu-secondary
{
	color: var(--color-stone);
	margin-bottom: 3rem;
	width: 100%;
}

	.mega-menu-primary ul,
	.mega-menu-secondary ul
	{
		list-style: none;
		margin: 0;
		padding: 0;
	}

		.mega-menu-primary li,
		.mega-menu-secondary li
		{
			margin-bottom: 1.5rem;
		}

			.mega-menu-primary li a,
			.mega-menu-secondary li a
			{
				color: var(--color-stone);
				text-decoration: none;
			}

			.mega-menu-secondary li a
			{
				font-size: var(--font-size-lg);
				line-height: var(--line-height-lg);
			}

				.mega-menu-secondary li a:hover
				{
					color: var(--color-orange);
				}

				.mega-menu-secondary li a:before
				{
					background-image: url('../svgs/arrow-orange-right.svg');
					background-repeat: no-repeat;
					background-size: contain;
					content: "";
					display: inline-block;
					height: 17px;
					margin-right: 0;
					max-width: 0;
					opacity: 0;
					overflow: hidden;
					transition: max-width .3s ease-in-out, margin-right .3s ease-in-out, opacity .3s ease-in-out;
					vertical-align: middle;
					width: 17px;
				}

					.mega-menu-secondary li a:hover:before
					{
						margin-right: 1rem;
						max-width: 17px;
						opacity: 1;
					}


/*-----------------------------------------
MEGA MENU - PRIMARY LINK
-----------------------------------------*/
.mega-menu-primary-link
{
	-webkit-box-align: start;
	-webkit-box-direction: normal;
	-webkit-box-orient: horizontal;
	-ms-flex-align: start;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	align-items: flex-start;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 3%;
}

	.mega-menu-primary-image
	{
		border-radius: 4px;
		height: 64px;
		max-width: 64px;
		overflow: hidden;
		width: 22%;
	}

		.mega-menu-primary-image img
		{
			height: 100%;
			object-fit: cover;
			width: 100%;
		}

	.mega-menu-primary-image + .mega-menu-primary-content
	{
		width: 75%;
	}

	.mega-menu-primary-title
	{
		font-size: var(--font-size-lg);
		line-height: var(--line-height-lg);
		margin-bottom: 0.4rem;
	}

	.mega-menu-primary-desc
	{
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		display: -webkit-box;
		font-size: var(--font-size-xs);
		line-clamp: 2;
		line-height: var(--line-height-xs);
		overflow: hidden;
	}


/*-----------------------------------------
MEGA MENU - CTA
-----------------------------------------*/
.mega-menu-cta
{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 8px;
	padding: 2rem;
	width: 100%;
}
	.mega-menu-cta.mega-menu-cta-purple
	{
		background-image: url('../texture/light-purple-texture.jpg');
		
	}

	.mega-menu-cta.mega-menu-cta-orange
	{
		background-image: url('../texture/orange-texture.jpg');
	}
	
		.mega-menu-cta-title
		{
			font-size: var(--font-size-3xl);
			font-weight: bold;
			line-height: var(--line-height-3xl);
		}
		
		.mega-menu-cta-text
		{
			margin-bottom: 4rem;
		}
		
/*-----------------------------------------
MEGA MENU - TABLET
-----------------------------------------*/
@media (min-width: 581px)
{
	.mega-menu-primary,
	.mega-menu-secondary
	{
		width: 45%;
	}
}


/*-----------------------------------------
MEGA MENU - DESKTOP
-----------------------------------------*/
@media (min-width: 981px)
{
	.mega-menu
	{
		padding: 1.2rem 1.2rem 1.2rem 6rem;
	}

		.mega-menu-back
		{
			display: none;
		}

		.mega-menu-primary,
		.mega-menu-secondary
		{
			margin-bottom: 0;
			padding: 1.2rem 0;
			width: 28.3%;
		}

		.mega-menu-cta
		{
			padding: 4rem 3.2rem;
			width: 35.4%;
		}
}


/*-----------------------------------------
MOBILE NAV
-----------------------------------------*/
@media (max-width: 980px)
{
	.header-navigation
	{
		background: var(--color-deep-purple);
		border-radius: 8px;
		display: none;
		left: 0;
		padding: 2rem 2rem 4rem 2rem;
		position: absolute;
		top: 100%;
		width: 100%;
		z-index: 99;
	}

		.header-navigation.is-open
		{
			display: block;
		}

			.header-navigation.is-open > ul > li:not(:last-child)
			{
				margin-bottom: 2rem;
			}
			
				.header-navigation.is-open .site-nav-trigger
				{
					background: transparent;
					color: var(--color-stone);
					font-size: var(--font-size-3xl);
					line-height: var(--line-height-3xl);
					padding: 0;
					text-align: left;
				}
					.header-navigation.is-open .site-nav-trigger:hover
					{
						color: var(--color-stone);
					}
					
					.header-navigation.is-open .site-nav-trigger:after
					{
						content: "";
						background-image: url('../svgs/arrow-stone-right.svg');
						background-repeat: no-repeat;
						background-size: contain;
						display: inline-block;
						height: 17px;
						margin-left: 1.2rem;
						vertical-align: middle;
						width: 17px;
					}
					
					
			.header-navigation.is-open .mega-menu.is-open
			{
				padding: 2rem 1.2rem 1.2rem;
				top: 0;
			}
				.header-navigation.is-open .mega-menu.is-open .mega-menu-inner
				{
					padding: 0;
				}
}

@media (max-width: 580px)
{
	.header-navigation
	{
		border-radius: 16px;
	}

}


/*-----------------------------------------
MOBILE TRIGGER
-----------------------------------------*/
.site-nav-mobile-trigger
{
	border-radius: 4px;
	display: inline-block;
	height: 48px;
	padding: 0;
	text-align: center;
	width: 48px;
}

	@media (min-width: 981px)
	{
		.site-nav-mobile-trigger
		{
			display: none;
		}
	}

		.site-nav-mobile-trigger svg
		{
			display: block;
			margin: auto;
		}


/*-----------------------------------------
SEARCH
-----------------------------------------*/
.site-nav-search,
.site-nav-search:hover
{
	background: transparent;
	padding: 0 1.3rem;
	vertical-align: text-top;
}
	@media (min-width: 481px)
	{
		.site-nav-search,
		.site-nav-search:hover
		{
			padding: 0 2rem;
		}
	}
	
	.site-nav-search:before
	{
		content: "";
		background-image: url('../svgs/search-purple-icon.svg');
		background-repeat: no-repeat;
		background-size: contain;
		display: block;
		height: 18px;
		vertical-align: middle;
		width: 18px;
	}
		@media (min-width: 981px)
		{
			.site-nav-search:before
			{
				background-image: url('../svgs/search-black-icon.svg');
			}
		}
		

/*-----------------------------------------
SEARCH PANEL
-----------------------------------------*/
.search-panel
{
	display: none;
	left: 0;
	position: absolute;
	top: 80px;
	width: 100%;
	z-index: 99;
}
.search-panel.is-open
{
	display: block;
}
	
	.search-panel .row
	{
		padding: 0;
	}

		.search-panel-box
		{
			background: var(--color-deep-purple);
			border-radius: 16px;
			padding: 2.4rem 1.2rem 2.8rem;
		}
			@media (min-width: 581px)
			{
				.search-panel-box
				{
					padding: 2rem 2rem 2.8rem;
				}
			}
			
			@media (min-width: 981px)
			{
				.search-panel-box
				{
					padding: 2.4rem 6rem 2.8rem;
				}
			}
			
			
			/*** FORM ***/
			.search-panel-form
			{
				margin-bottom: 2rem;
				position: relative;
			}
			
				input.search-panel-input
				{
					background: transparent;
					border: 1px solid var(--color-stone);
					color: var(--color-stone);
					font-size: var(--font-size-xl);
					line-height: var(--line-height-xl);
					margin: 0;
					padding: 1.3rem 2.4rem 1.3rem 1rem !important;
				}
					@media (min-width: 481px)
					{
						input.search-panel-input
						{
							padding: 1.3rem 2.4rem !important;
						}
					}
					
				
					input.search-panel-input::placeholder
					{
						color: var(--color-stone);
						opacity: 0.6;
					}

					input.search-panel-input::-webkit-input-placeholder
					{
						color: var(--color-stone);
						opacity: 0.6;
					}

					input.search-panel-input::-moz-placeholder
					{
						color: var(--color-stone);
						opacity: 0.6;
					}

					input.search-panel-input:-ms-input-placeholder
					{
						color: var(--color-stone);
						opacity: 0.6;
					}

					input.search-panel-input:-moz-placeholder
					{
						color: var(--color-stone);
						opacity: 0.6;
					}
			
				button.search-panel-submit
				{
					background: var(--color-light-purple);
					border-radius: 4px;
					height: 4rem;
					margin: 0.7rem;
					padding: 0;
					position: absolute;
					right: 0;
					top: 0;
					width: 4rem;
				}
					button.search-panel-submit:after
					{
						content: "";
						background-image: url('../svgs/search-purple-icon.svg');
						background-repeat: no-repeat;
						background-size: contain;
						display: block;
						height: 16px;
						margin: auto;
						width: 16px;
					}
			
			
			/*** USEFUL LINKS ***/
			.search-link-text
			{
				color: var(--color-light-purple);
				display: inline-block;
				font-size: var(--font-size-xs);
				line-height: var(--line-height-xs);
				margin-bottom: 1.2rem;
				margin-right: 2.4rem;
				vertical-align: middle;
			}

			.search-panel-links-list
			{
				display: inline-block;
				list-style: none;
				margin: 0;
				padding: 0;
				vertical-align: middle;
			}
				.search-panel-links-list li
				{
					display: inline-block;
					margin-bottom: 1.2rem;
					margin-right: 0.8rem;
					text-align: center;
					vertical-align: top;
					width: 46%;
				}
					@media (min-width: 581px)
					{
						.search-panel-links-list li
						{
							width: auto;
						}
					}
					
					.search-panel-links-list li a
					{
						border: 1px solid;
						border-radius: 4px;
						color: var(--color-stone);
						display: block;
						font-size: var(--font-size-sm);
						line-height: var(--line-height-sm);
						padding: 0.6rem 1.2rem;
						text-decoration: none;
						transition: all .3s ease-in-out;
					}
						.search-panel-links-list li a:hover
						{
							background: var(--color-light-purple);
							color: var(--color-deep-purple);
						}
						

/*-----------------------------------------
SEARCH RESULTS
-----------------------------------------*/
/* Search Results
------------------------------------------------------------------ */
.search-results
{
	padding-bottom: 60px;
	padding-top: 40px;
}

	.search-results-count
	{
		margin-bottom: 30px;
	}
		
	.search-results-list
	{
		list-style: none;
		margin: 0;
		padding: 0;
	}
		.search-results-item
		{
			border-bottom: 1px solid var(--color-stone);
			padding-bottom: 24px;
			padding-top: 24px;
		}
		.search-results-item:first-child
		{
			border-top: 1px solid var(--color-stone);
		}
			.search-results-link
			{
				display: block;
				text-decoration: none;
			}
			.search-results-link:hover .search-results-title
			{
				color: var(--color-orange);
			}
				.search-results-title
				{
					color: var(--color-deep-purple);
					margin: 0 0 8px;
					transition: color .3s ease-in-out;
				}
				.search-results-text
				{
					color: var(--color-deep-purple);
					margin: 0;
				}

	.search-results-empty
	{
		color: var(--color-deep-purple);
		padding-bottom: 40px;
		padding-top: 20px;
	}

/* Search Results — Tablet & Desktop
------------------------------------------------------------------ */
@media (min-width: 980px)
{
	.search-results
	{
		padding-bottom: 100px;
		padding-top: 60px;
	}
}



/*-----------------------------------------
CONTENT
-----------------------------------------*/
main img
{
	border-radius: 8px;
}
	@media (min-width: 481px)
	{
		main img
		{
			border-radius: 16px;
		}
	}



/*-----------------------------------------
FOOTER CTA
-----------------------------------------*/
.footer-cta
{
	background-image: url('../texture/large-light-purple-texture.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	border-top-right-radius: 160px;
}
	@media (min-width: 581px)
	{
		.footer-cta
		{
			border-top-right-radius: 0;
		}
	}
	
	.footer-cta .flex
	{
		gap: 3.5%;
	}
		@media (min-width: 981px)
		{
			.footer-cta .flex
			{
				gap: 4%;
			}
		}
		
			.footer-cta .footer-cta-image
			{
				background-repeat: no-repeat;
				background-position: center center;
				background-size: cover;
				border-radius: 0 300px 300px 0;
				height: 28rem;
				position: relative;
				width: 100%;
			}
				
				@media (min-width: 581px)
				{
					.footer-cta .footer-cta-image
					{
						height: auto;
						width: 48.25%;
					}
				}
				
				@media (min-width: 981px)
				{
					.footer-cta .footer-cta-image
					{
						width: 33%;
					}
				}
			
		
			.footer-cta .footer-cta-content
			{
				-ms-flex-item-align: center;
				-ms-grid-row-align: center;
				align-self: center;
				padding: 2rem 0 6rem 0;
				width: 100%;
			}
				@media (min-width: 581px)
				{
					.footer-cta .footer-cta-content
					{
						padding: 4rem 0;
						width: 48.25%;
					}
				}
				
				@media (min-width: 981px)
				{
					.footer-cta .footer-cta-content
					{
						padding: 8rem 0;
						width: 63%;
					}
				}
				
					.footer-cta .footer-cta-content .content
					{
						max-width: 800px;
						width: 94%;
					}
						@media (max-width: 580px)
						{
							.footer-cta .footer-cta-content .content
							{
								margin: auto;
							}
						}

							.footer-cta .footer-cta-content .footer-cta-title
							{
								font-size: var(--font-size-4xl);
								font-weight: 600;
								line-height: var(--line-height-4xl);
								margin-bottom: 1.6rem;
							}
								@media (min-width: 981px)
								{
									.footer-cta .footer-cta-content .footer-cta-title
									{
										font-size: var(--font-size-5xl);
										line-height: var(--line-height-5xl);
									}
								}
								
							.footer-cta .footer-cta-content .footer-cta-text
							{
								font-size: var(--font-size-xl);
								line-height: var(--line-height-xl);
								margin-bottom: 4rem;
							}
								@media (min-width: 981px)
								{
									.footer-cta .footer-cta-content .footer-cta-text
									{
										margin-bottom: 8rem;
									}
								}
							
							
							.footer-cta .footer-cta-content .footer-cta-btn
							{
								background: var(--color-white);
								color: var(--color-deep-purple);
							}
								.footer-cta .footer-cta-content .footer-cta-btn:hover
								{
									background: var(--color-deep-purple);
									color: var(--color-white);
								}
							
		
		

/*-----------------------------------------
FOOTER
-----------------------------------------*/
.footer-main
{
	background: var(--color-deep-purple);
	color: var(--color-white);
}
	.footer-main > .row
	{
		gap: 3%;
		padding: 6rem 0;
	}
		@media (min-width: 981px)
		{
			.footer-main > .row
			{
				-webkit-box-orient: horizontal;
				-webkit-box-direction: reverse;
				-ms-flex-direction: row-reverse;
				flex-direction: row-reverse;
			}
		}
		
			.footer-main > .row .col-1,
			.footer-main > .row .col-2
			{
				width: 100%;
			}
			
				.footer-logo
				{
					display: none;
					margin-bottom: 2.4rem;
				}
				
				.footer-main a
				{
					color: var(--color-white);
				}
					.footer-main a:hover
					{
						color: var(--color-orange);
					}
			
		
		/*** Row 1 ***/
		.footer-main > .row-1
		{
			border-bottom: 1px solid rgb(255 255 255 / 20%);
			padding-bottom: 4rem;
		}
			
			.footer-main > .row-1 .col-1
			{
				margin-bottom: 4.8rem;
			}
				@media (min-width: 981px)
				{
					.footer-main > .row-1 .col-1
					{
						margin: 0;
						width: 48.5%;
					}
				}
				
					.footer-newsletter-code form
					{
						margin-bottom: 0;
					}
					
						.footer-newsletter-code label
						{
							display: none;
						}
						
						.footer-newsletter-code input
						{
							margin-bottom: 0.8rem;
						}
						
						.footer-newsletter-code input[type="submit"]
						{
							background: var(--color-white);
							color: var(--color-deep-purple);
							margin-bottom: 0;
						}
							.footer-newsletter-code input[type="submit"]:hover
							{
								background: var(--color-light-purple);
							}
							
							@media (max-width: 580px)
							{
								.footer-newsletter-code input[type="submit"]
								{
									width: 100%;
								}
							}
						

			@media (min-width: 981px)
			{
				.footer-main > .row-1 .col-2
				{
					width: 48.5%;
				}
					.footer-main > .row-1 .col-2 .footer-logo
					{
						display: block;
					}
			}
			
			
				.footer-menu
				{
					margin-bottom: 6.4rem;
				}
				
				.footer-contact-details
				{
					margin-bottom: 2.4rem;
				}
				
					@media (min-width: 581px)
					{
						.footer-menu,
						.footer-contact-details
						{
							display: inline-block;
							margin: 0;
							vertical-align: text-top;
							width: 49%;
						}
					}
				
						.footer-menu ul
						{
							list-style: none;
							margin: 0;
							padding: 0;
						}
							.footer-menu ul li
							{
								margin-bottom: 1.6rem;
							}

						.footer-main > .row-1 .col-2 a
						{
							font-weight: bold;
						}
			
			
			@media (max-width: 980px)
			{
				.footer-main > .row-1 .col-1 .footer-logo
				{
					display: block;
				}
			}
			

		/*** Row 2 ***/		
		.footer-main > .row-2
		{
			padding-top: 2rem;
		}
			@media (min-width: 981px)
			{
				.footer-main > .row-2
				{
					padding-top: 4rem;
				}
			}
			
				.footer-main > .row-2 .col-1
				{
					margin-bottom: 4.0rem;
				}
				
					@media (min-width: 981px)
					{
						.footer-main > .row-2 .col-1
						{
							margin: 0;
							width: 33.4%;
						}
					}
					
					.footer-social-list
					{
						list-style: none;
						margin: 0;
						padding: 0;
					}
						@media (min-width: 981px)
						{
							.footer-social-list
							{
								text-align: right;
							}
						}
						
							.footer-social-list li
							{
								display: inline-block;
								margin-right: 1.2rem;
							}

								.footer-social-list li a
								{
									-ms-flex-line-pack: center;
									align-content: center;
									border: 1px solid rgb(255 255 255 / 30%);
									border-radius: 60px;
									display: inline-block;
									height: 48px;
									text-align: center;
									width: 48px;
								}
									.footer-social-list li a:hover
									{
										background: var(--color-white);
										color: var(--color-deep-purple);
									}
						
				
			.footer-main > .row-2 .col-2
			{
				font-size: var(--font-size-sm);
				line-height: var(--line-height-sm);
			}
			
				@media (min-width: 981px)
				{
					.footer-main > .row-2 .col-2
					{
						width: 63.6%;
					}
				}
					
					.footer-copyright
					{
						margin-bottom: 0.8rem;
					}
					
					.footer-bottom-links
					{
						list-style: none;
						margin: 0;
						padding: 0;
					}
						.footer-bottom-links li
						{
							display: block;
							margin-bottom: 0.8rem;
						}	
							
							@media (min-width: 581px)
							{
								.footer-bottom-links li
								{
									display: inline-block;
									margin-bottom: 0;
									margin-right: 1.2rem;
								}
							}
							

/*-----------------------------------------
FORMS
-----------------------------------------*/
