/*
	(c)2018 - visuallizard.com

	General Layout Styles.
	Sets major blocking to elements that appear accross the site in different templates.
	All can be removed and started from scratch or elemnts can be adjusted individually.
*/

.container {
/*
	Set site maximum width only here and use this class to centre the content in browser window.
	Use "max-width" instead of "width" for auto-responsivness.
*/
	max-width: 1660px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 2rem;
	position: relative;
}
	aside#cookie-disclaimer {
		display: block;
		position: relative;
		order: -10;
		width: 100%;
		padding: 1rem 0;
		margin: 0;
		background: #000;
		color: #fff;
	}
		aside#cookie-disclaimer .container {
			display: flex;
			position: relative;
			justify-content: stretch;
			align-items: stretch;
			column-gap: 2%;
		}
			aside#cookie-disclaimer .container > div.cke {
				flex-basis: 78.5%;
				max-width: 78.5%;
			}
				aside#cookie-disclaimer .container > div.cke p { margin: 0; }
			aside#cookie-disclaimer .container > form {
				display: flex;
				position: relative;
				justify-content: center;
				align-items: center;
				flex-basis: 18.5%;
				max-width: 18.5%;
				margin: 0;
			}
				aside#cookie-disclaimer .container > form button.button.continue {
					display: block;
					position: relative;
					font-size: 1rem;
					background: #fff;
					color: #000;
				}
	.featured-banners .banner-container {
		max-width: 1200px;
		padding: 1.5% 2rem;
	}
	.site-header-container,
	.site-footer-container,
	.mega .banner,
	.badges > .banner {
		max-width: 1260px;
		padding-left: 1rem;
		padding-right: 1rem;
	}
	.site-header-container,
	.mega .banner,
	.badges > .banner {
		max-width: 1400px;
	}


.full-width {
	width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
}
.full-bleed {
/* 	alternative to .full-width - https://andy-bell.design/wrote/creating-a-full-bleed-css-utility/ */
	width: 100vw;
	margin-left: 50%;
	transform: translateX(-50%);
}


.site-header {
	position: relative;
	padding: 1rem 0;
	border-bottom: .5rem solid #009cdc;

	transition: all .3s;
	order: -2;	/* to be first and before .badges */
}
	.is-mega .site-header {
		z-index: 100;
	}
	.in-area-zoo .site-header     { border-bottom-color: transparent; background-color: #0063af; }
	.in-area-park .site-header    { border-bottom-color: transparent; background-color: #77a02e; }
	.in-area-leaf .site-header    { border-bottom-color: transparent; background-color: #407928; }
	.in-area-support .site-header { border-bottom-color: #dca100; }
	.t-festival .site-header      { border-bottom-color: transparent; background-color: #e2188e; }
	.t-boozoo .site-header        { border-bottom-color: transparent; background-color: #69214a; }

.site-header-container {
	display: flex;
	flex-direction: row;
	align-items: center;
	padding-top: 1rem;
	padding-bottom: 1rem;
	position: static; /* for mega menu */
}



.site-title {
/* 	float: left; */
	margin: 0 2% 0 0;

	min-width: 50px;
	max-width: 80px;

	max-width: 60px; max-height: 60px;
	width: 100%;

	position: relative;
	z-index: 2;
}
	.site-title > a {
		display: block;
		width: 100%;

		text-decoration: none;
		color: inherit;
		font-size: 20px;
		line-height: 1;

		background-image: url(/img/logo-apc.svg);
		background-repeat: no-repeat;
		background-position: left center;

		transform: scale(1);
		transition: all .3s;
	}
	.site-title:hover > a {
		transform: scale(1.1);
	}
	.in-area .site-title > a,
	.is-mega .site-title > a,
    .t-boozoo .site-title > a {
		background-image: url(/img/logo-apc-white.svg);
	}
		.site-title > a::after{
			position:absolute; width:0; height:0; overflow:hidden; z-index:-1;  /* hide image */
			content:url(/img/logo-apc-white.svg) url(/img/logo-apc-full.svg) url(/img/logo-apc-full-white.svg);    /* preload images */
		}
	.site-title img {
		display: block;
		max-width: 100%;

		opacity: 0;
	}

	.in-area .site-title img {
		opacity: 0;
	}


/* Search Form */
.search-form {
	float: right;
	display: inline-flex;
	margin: .5em 0;
}
	.search-input {

	}
	.search-button {
		border-radius: 0;
	}



.site-header .cke {
	float: right;
	display: inline;
}

/* Social Icons */
.social {
	display: block;
	list-style: none;
	margin: .25rem 0;
	padding: 0;
	text-align: center;

	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-around;
}
	.social > li {
		display: inline-block;
	}
	.social > li + li {
/* 		margin-left: 1.25rem; */
	}
	.social > li > a {
		display: inline-block;
		padding: 0;
		margin: 0;
		border: 0px solid transparent;
		border-radius: 100%;
		vertical-align: middle;
		color: #626161;
		transform: scale(1);
		transition: all .2s;
	}
	.social > li > a:hover {
		transform: scale(1.2);
	}
	.social .icon {
		display: block;
		width: 1.75rem;
		height: 1.75rem;
	}
	.social svg {
		display: block;
		width: 100%;
		height: 100%;

	}

	.site-header .social {
		margin: 0rem 0 0 1rem;
		align-self: center;
		position: relative;
		z-index: 1;
	}
		.site-header .social > li > a:hover {

		}
		.in-area .site-header .social > li > a,
		.is-mega .site-header .social > li > a,
		.t-boozoo .site-header .social > li > a {
			color: #fff;
		}

	.site-footer .social {
		float: right;
		position: relative;
		top: -4rem;
		right: 1rem;
	}


	/* badges as Banners Module */
	.badges {
		position: relative;
		z-index: 99;
		width: 100%;

		order: -1; /* change order to visually be before .featured-banners for self positioning, but after in DOM order */
	}
	.site-header + .badges { display: none; /* hide .badges if there are no .featured-banners on the page above it */ }

	.mega .banner,
	.badges > .banner {
		margin: 0 auto;
	}
	.mega     .banner > a,
	.badges > .banner > a {
		position: absolute;
		right: 0rem;
		top: -1.5rem;
		display: block;
		width: 200px;
		height: 200px;
		width: clamp(100px, 15vw, 200px);
		height: clamp(100px, 15vw, 200px);
		opacity: 1;
		padding: 0 !important;
		transform-origin: center;
		transform: scale(.9);
		transition: all .3s ease-in;
		box-shadow: 0 5px 5px 3px rgba(0,0,0,.1);
		border-radius: 50%;
	}
	.mega     .banner > a:hover,
	.badges > .banner > a:hover {
		transform: scale(.95);
		box-shadow: 0 5px 8px 6px rgba(0,0,0,.2);
	}
	/* Hide badge if there is no link to prevent showing emty dropshadow */
	.mega     .banner > a[href=""],
	.badges > .banner > a[href=""] {
		display: none;
	}

	.mega     .banner .banner-container,
	.badges > .banner .banner-container {
		/* visuallyhidden */
		border: 0;
		clip: rect(0 0 0 0);
		height: 1px;
		width: 1px;
		margin: -1px;
		overflow: hidden;
		padding: 0;
		position: absolute;
	}

	.mega .banner {
		position: absolute;
		top: -.5rem;
		right: 2.5rem;
		width: 100%;
	}

/* 	! SECTIONS	*/
main {
	padding-bottom: 4rem;
}
	.primary {
		width: 70%;
		padding: 2em 5% 2em 0;
	}
	.sidebar {
		width: 30%;
		padding: 2em 0 2em 5%;
		border-left: 1px solid #777;
	}

	/* ! Regions for Layout Module */
	.region-row {
		display: flex;
	}
		.region-cell {
			width: 100%;
			padding: 2rem 5%;
		}
		.region-cell:first-child {
			padding-left: 0;
		}
		.region-cell:last-child {
			padding-right: 0;
		}





/* ! MODULES */


/* ! Banners: defaults */
.banners {
	margin-bottom: 2em;
}
	.banner {
		position: relative;
	}
		.banner-link {
			display: block;
		}
			.banner-img {
				display: block;
				width: 100%;
				height: auto;
			}
			.banner-container {
				position: absolute;
				top: 0;
				bottom: 0;
				left: 0;
				right: 0;
				margin: 0 auto;
				padding: 1em;
				padding: 5%;

				display: flex;
				align-items: center;
				justify-content: center;
			}
			.upperleft    .banner-container { align-items: flex-start; justify-content: flex-start; }
			.uppercentre  .banner-container { align-items: flex-start; justify-content: center;     text-align: center; }
			.upperright   .banner-container { align-items: flex-start; justify-content: flex-end;   }
			.middleleft   .banner-container { align-items: center;     justify-content: flex-start; }
			.middlecentre .banner-container { align-items: center;     justify-content: center;     text-align: center; }
			.middleright  .banner-container { align-items: center;     justify-content: flex-end;   }
			.lowerleft    .banner-container { align-items: flex-end;   justify-content: flex-start; }
			.lowercentre  .banner-container { align-items: flex-end;   justify-content: center;     text-align: center; }
			.lowerright   .banner-container { align-items: flex-end;   justify-content: flex-end;   }

			.banner-text {
				display: block;
				width: 100%;
				margin: 0;
/* 				max-width: 800px; */
				color: #fff;

				text-align: left;
				text-transform: none;
				transition: color .2s;
			}
			.banner-link:hover .banner-text {
/* 				opacity: .5; */
			}
				.banner-title {
					color: inherit;
					font-size: 50px;
					font-size: calc(1.5em + 2vw);
					margin-top: 0;
					margin-bottom: 0;
					text-transform: none;
				}
				.banner-subtitle {
					color: inherit;
				}
				.banner-desc {
					color: inherit;
					max-width: 600px;
					margin: 0 auto;
					letter-spacing: 0.05em;
				}

	/* ! Banners: Featured - slider */
	.featured-banners {
		margin-bottom: 2rem;
	}

		.p-home .featured-banners,
		.p-leaf .featured-banners,
		.p-lifegrows .featured-banners,
		.t-festival .featured-banners,
		.t-boozoo .featured-banners {
			margin-bottom: 0;
		}
		.featured-banners .banner-img {
				min-height: 200px;
				object-fit: cover;
			}
		.featured-banners .banner-container {
			align-items: flex-end;
		}
		.featured-banners .banner-text {
			display: flex;
			flex-direction: column;
		}
		.featured-banners .banner-title {
			margin: 0;
			font-size: 156px;
			font-size: clamp(2rem, 10vw, 120px);
			font-weight: 700;
			line-height: 1;
			text-indent: -.05em;
		}
		.featured-banners .banner-subtitle {
			order: -1;
			margin: 0;
			font-size: clamp(1rem, 5vw, 40px);
			letter-spacing: 0.02em;
			text-transform: uppercase;
		}

	/* ! Banners: Colour - used as Featured banners with colour panel  */
	.colour-banners {
		background-color: #407928;
	}
		.colour-banners .banner-container {
			align-items: initial;
			justify-content: flex-start;
			padding: 0;
			max-width: 1400px;

		}
		.colour-banners .banner-img {
			transform: translateX(15%); /* Shift banner's centre to compensate for panel. */
			min-height: 300px;
			object-fit: cover;
		}
		.colour-banners .banner-text {
			color: #407928;
			background: currentcolor;
			/* max-width: 480px; */
			width: clamp(320px, 30%, 480px);
			padding: 1rem 2rem;
			box-shadow: -20vw 0 0 0 currentcolor, -10vw 0 0 0 currentcolor;

			position: relative;
			/* overflow: auto */
		}
		.colour-banners .banner-title {
			margin: 0 0 .5rem 0;
			font-size: 60px;
			font-size: clamp(1.5rem, 4vw, 30px);
			font-weight: 700;
			color: #fff;
		}
		.colour-banners .banner-subtitle {
			font-size: 1.5rem;
			font-size: clamp(1rem, 1vw, 20px);
			/* font-weight: 500; */
			color: #fff;
		}
		.colour-banners .banner-desc {
			font-size: 1.5rem;
			font-size: clamp(.9rem, 1vw, 20px);
			color: #fff;
			line-height: 1.2;
		}
		/* fake button: */
		.colour-banners .banner-link .banner-text::after {
			content: "Learn more";
			display: inline-block;
			margin-top: 1rem;
			padding: .5em 1em;
			border-radius: 3px;
			background-color: #fff;
			line-height: 1;
			font-weight: 600;
			text-transform: uppercase;
		}
		.colour-banners .banner-link:hover .banner-text::after {
			transform: scale(1.1);
		}

	/* ! Banners: Ads */
	.content-banners {
		margin: 4rem 0 0;
	}

	/* ! Banners: Grid Fixed item width */
	.grid-fixed.banners {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		width: 102%;
		margin: 0 -1% 0;
		padding: 0;
	}
		.grid-fixed .banner {
			display: inline-block;
			width: 25%;
			padding: 1em 1%;
		}
		.grid-fixed .banner-link {
			display: flex;
			align-items: center;
			height: 100%;
		}
		.grid-fixed .banner-img {
			transition: transform .3s;
		}
		.grid-fixed .banner-link:hover .banner-img {
			transform: scale(1.05);
		}
		.grid-fixed .banner-title {
			font-size: 20px;
		}

	/* ! Banners: Grid Flex item width
	(usually for sponsor logos where width is unknown. Set module settigns to something like Width:0 and Height:100px ) */
	.grid-flex {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		width: 102%;
		margin: 0 -1% 1em;
		padding: 0;
	}
		.grid-flex .banner {
			width: auto;
			margin: 1em 1%;
			padding: 0;
		}
		.grid-flex .banner-link {

		}
		.grid-flex .banner-img {
			display: block;
			width: auto;
			height: 100%;
			max-height: 100px;
			margin: 0;
			transition: all .3s;
		}
		.grid-flex .banner-link:hover .banner-img {
			transform: scale(1.1);
		}
		.grid-flex .banner-title {
			font-size: 20px;
		}


	/* ! Partners (based on flex) */
	.partner-banners {
		justify-content: center;
		margin-bottom: 0;
	}
		.partner-banners .banner {
			width: auto;
			margin: 1rem 2%;

			display: flex;
			align-items: center;
			align-content: center;
		}
		.partner-banners .banner-img {
			max-height: 50px;
			height: auto;
		}

	/* ! Memberships (based on flex) */
	.memberships-banners {
		justify-content: center;
		margin-top: 2rem;
		margin-bottom: 0;
	}
		.memberships-banners .banner {
			width: auto;
			margin: 1rem 2%;
			flex-basis: 20%;
			max-width: 300px;
		}
		.memberships-banners .banner-link {
			text-decoration: none;
		}
		.memberships-banners .banner-img {
			margin: 0 auto 1rem;
			max-width: 300px;
			max-height: 150px;
		}

			.memberships-banners .banner-container {
				position: static;
				left: unset;
				top: unset;
				right: unset;
				bottom: unset;
				padding: 0;
			}
				.memberships-banners .banner-text {
					color: #707070;
					text-align: center;
				}
					.memberships-banners .banner-title {
						font-size: 18px;
						margin: 0;

					}
					.memberships-banners .banner-link .banner-title {
						color: #009cdc;
					}
					.memberships-banners .banner-subtitle {
						font-size: 16px;
						font-weight: normal;
						margin: 0;
					}

/* ! Gallery */
.galleries {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;

	width: 100%;
/* 	width: calc(100% + 4rem); */
	margin: 0rem 0 2rem;
	padding: 0;
	list-style-type: none;
}
	.galleries > li {
		width: calc( (100% / 3) - 1.5rem );
		margin: 0 0 2rem;
		padding: 0;
		max-width: 480px;
	}
	.galleries::after {
		content: "";
		display: block;
		margin: 0;
		padding: 0;

/* 		flex-grow: 1; */
		min-width: 100px;
		width: calc( (100% / 3) - 1.5rem );
	}
	.galleries .gallery-figure {
		margin: 0;
	}
		.galleries .gallery-link {
			display: block;
			text-align: center;
			text-decoration: none;
			color: inherit;
			overflow: hidden;
		}
		.galleries .gallery-img {
			display: block;
			width: 100%;
			height: auto;
			transition: transform .5s;
		}
		.galleries .gallery-link:hover .gallery-img {
			transform: scale(1.05);
		}
		.galleries .gallery-link:hover .gallery-title {
			color: #009cdc;
		}
		.galleries .gallery-title {
			margin-top: .25rem;
			font-weight: bolder;
			line-height: 1.2;
		}

.gallery-set {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: space-between;

	width: 100%;
	margin: 2rem 0 0rem;
	padding: 0;
	list-style-type: none;
}
	.gallery-set > li {
		width: calc( (100% / 3) - 1.5rem );
		margin: 0 0 2rem;
		padding: 0;
		max-width: 480px;
	}
	.gallery-set::after {
		content: "";
		display: block;


/* 		flex-grow: 1; */
		min-width: 100px;
		width: calc( (100% / 3) - 1.5rem );
	}
		.gallery-box {
			position: relative;
			display: block;
			margin: 0;
			overflow: hidden;
		}
		.gallery-box .gallery-link {
			display: block;
			text-align: center;
			text-decoration: none;
			color: inherit;
			overflow: hidden;
		}

		.gallery-box[style*="placeholder"] {
		    background-size: cover;
		}
		.gallery-text {
		    width: 100%;
		    min-height: 0;
		    max-height: 70%;
		    margin: 0;
		    padding: 1.5em 1.5em 1em;
		    border: none;
		    border-radius: 0;
		    background-color: transparent;
		    background-image: linear-gradient(to bottom, rgba(0,0,0, 0), rgba(0,0,0, .5), rgba(0,0,0, .85));
		    color: #fff;
		    opacity: 1;
		    transition: all .3s ease-in-out;
		    overflow: hidden;
		    cursor: pointer;
		    position: relative;
		    z-index: 1;
		}
		.gallery-title {
		    margin-bottom: 0;
		}
		.gallery-box .gallery-brief {
		    max-height: 0;
		    opacity: 0;
		    margin-top: 0;
		    margin-bottom: 0;
		    transition: all .3s ease-in-out;
		}
		.gallery-box .gallery-brief:empty {
		    margin: 0;
		}
		.gallery-box a:hover .gallery-brief {
		    max-height: 200px;
		    opacity: 1;
		    margin-top: 1em;
		}

		.gallery-img {
			display: block;
			width: 100%;
			height: auto;
			background-color: #d4eef9;
			transition: transform .5s;
		}
		.gallery-link:hover .gallery-img {
			transform: scale(1.05);
		}


	/* 	Lightbox slider nav */
	.lightbox-nav {
		display: block;
		list-style: none;
		margin: 1rem 0;
		padding: 0;
	}
		.lightbox-nav-item {
/* 			float: left; */
			margin: 0;
		}
		.lightbox-nav img {
			display: block;
			width: 100%;
			height: auto;
		}

		.lightbox-nav .slick-slide {
			padding: 0 1rem;
		}


/* InfoBar */
.infobar {
/* 	padding: 1rem; */
	background-color: #64bbbd;
	color: #fff;
}
	.in-area-leaf .infobar {
		/* change look in The Leaf site area: */
		background-color: #a91a6c;
	}
	.infobar-container {
		display: flex;
		flex-flow: row wrap;
	}
		.infobar-current {
			flex-basis: 50%;

			display: flex;
			align-items: center;
			margin-right: auto;
			padding: 1rem;

			font-size: 35px;
			font-size: clamp(1rem, .75rem + 1vw, 1.75rem);
			line-height: 1.1;
		}
			.infobar-today {
				font-weight: 900;
/* 				margin-right: .5em; */
			}
			.infobar-forecast {
				margin: 0 .5em;
				display: flex;
				flex-flow: row nowrap;
				/* align-items: center; */
				max-width: 420px;

				font-size: clamp(1rem, .5rem + 1vw, 1.5rem);
			}
				.infobar-forecast-temp {
					margin-right: .5em;
				}
				.infobar-forecast-cond {

				}

		.infobar-hours {
			display: flex;
			flex-wrap: nowrap;
			text-align: center;
			flex-wrap: nowrap;
			flex-grow: 1;

			max-width: 700px;
		}
			.infobar-hours > div {
				padding: .5rem 1rem;
				flex-grow: 1;
				flex-basis: 0;
			}
			.infobar-hours > .hours-zoo { background-color: #0063af; }
			.infobar-hours > .hours-park { background-color: #77a02e; }
			.infobar-hours > .hours-lights { background-color: #8e1d1d; }
			.infobar-hours > .hours-leaf { background-color: #407928; }
			.infobar-hours > .hours-gardens { background-color: #c1cc4d; }
			.infobar-hours > .hours-gather { background-color: #000000; }

				.infobar-hours .hours-title,
				.infobar-hours .hours-value {
					display: block;
					font-weight: 900;
					line-height: 1;
				}
					.infobar-hours .hours-title {
						text-transform: uppercase;
						white-space: nowrap;
						line-height: 1;
						font-size: 35px;
						font-size: clamp(1rem, .85rem + 1vw, 1.5rem);
					}
					.infobar-hours .hours-value {
						font-size: clamp(.85rem, .85rem + .5vw, 1.25rem);
					}

/* ! Announcement Ribbon */
.announcement {
	display: block;
	background: #626161;
	padding: .75em 0 1em;
	color: #c5ed64;
	font-size: 24px;
	font-size: clamp(1rem, .5rem + 1vw, 2rem);
	text-align: center;
	line-height: 1.2;
}
	.announcement * {
		color: inherit;
	}
	.announcement > .container div > * {
		margin-bottom: .25em;
	}
	.announcement > .container div > *:last-child {
		margin-bottom: 0;
	}
	.announcement h2 {
		font-size: 30px;
		margin-bottom: .5rem;
	}
	.announcement a {
		color: #fff;
		text-decoration: underline;
		text-decoration-thickness: 1.5px;
	}
	.announcement a:hover {
		color: #000;
	}


/* ! Maps bar */
.mapsbar {
	display: none;
	background-color: #eff8f8;
	background-image: linear-gradient(to right, #64bbbd 50%, #eff8f8 50% );
	color: #fff;
}
	.p-home .mapsbar {
		display: block;
	}
	.mapsbar-container {
		display: flex;
		flex-flow: row wrap;
		align-items: center;
		justify-content: space-between;
	}
	.mapsbar-container > * {
		flex-basis: 31%;
		padding: 2rem 1rem 2rem 2rem;
		padding: .75em .5em .75em .75em;
		font-size: clamp(1em, .75em + 2vw, 32px);
		line-height: 1.1;
	}
	.mapsbar-title {
		margin: 0;
		padding-top: 0;
		padding-bottom: 0;
		background-color: #64bbbd;
		color: #fff;
	}
	.mapsbar-link {
		display: block;
		text-transform: uppercase;
		text-decoration: none;
		background-color: #eff8f8;
		white-space: nowrap;
		flex-basis: 34%;
		padding-left: 4rem;
	}
		.mapsbar-link.zoo { color: #0063af; }
		.mapsbar-link.park { color: #77a02e; }
		.mapsbar-link:hover { color: #009cdc; }

		.mapsbar-link .icon {
			display: inline-block;
			vertical-align: middle;
			line-height: 1;
			margin-top: -.1em;
			margin-right: .25em;
			font-size: 1.2em;
		}



/* ! Breadcrumbs [default] */
.breadcrumbs {
	list-style: none;
	margin: 0 0;
	padding: 0;
	overflow: hidden;
	font-size: 20px;
	font-weight: 600;

	display: flex;
	flex-wrap: nowrap;
	align-content: center;
}
	.breadcrumbs .brcr-item {
		padding: .5em .5em .5em 0;
	}
	.breadcrumbs .brcr-item:only-child {
		display: none; /* hide breadcrumb if ther is onl one */
	}
	.breadcrumbs .brcr-item:first-child {
		padding-left: 0;
	}
	.breadcrumbs .brcr-item + .brcr-item::before {
		display: inline-block;
		content: "/";
		padding-right: .25em;
		font-size: 100%;
		font-weight: normal;
		line-height: 1;
	}
	.breadcrumbs .brcr-item a {
		color: inherit;
		text-decoration: none;
	}
	.breadcrumbs .brcr-item a:hover {
		text-decoration: underline;
	}


/* ! Site Footer  */
.site-footer {
	position: relative;
	clear: both;
	padding: 3rem 0 0;
	margin: 0;
	background-color: #ddd;
}

	.site-footer .container {
		display: flex;
		flex-wrap: wrap;
	}
		.footer-logo {
			margin-right: 5%;
		}
			.footer-logo a {
				display: block;
				transition: transform .2s;
			}
			.footer-logo a:hover {
				transform: scale(1.05);
			}

		/* Footer Nav */
		.footer-nav {
			flex-grow: 1;

			font-size: 22px;
		}

	.partners-block {
		background: #fff;
		padding: 2rem;
	}
	.copyright {
		width: 100%;
		padding: .5rem 1rem;
		background-image: linear-gradient(to right, #0063af, #009cdc, #77a02e, #407928, #626161);
		background-image: linear-gradient(to right, #0063af, #64bbd, #6e8e1d, #003258);
		color: #fff;
		font-size: 16px;
		text-align: center;
	}
		.copyright p {
			margin: auto;
		}

	.land-acknowledgement {
		text-align: center;
		max-width: 600px;
		margin: 0 auto;
		font-size: 80%;
	}

/* ! Error Pages */
.error-header {
	font-size: 50px;
}
.error-code {
	font-size: 12px;
}
