/******************************************************************/
/******************************************************************/
/*** F O O T E R  ***/
/******************************************************************/
/******************************************************************/

/* Footer basic & Flexbox layout styles */

.site-footer {
	padding: 1rem 0.5rem;
}

.site-footer__top,
.site-footer__middle {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	margin-right: -0.5rem; /* Flexbox hack: make sure we don't get double spacing on right due to right margin on child items */
	flex-wrap: wrap;
}

/* hack to get negative right margin working in IE11 */
_:-ms-fullscreen, :root .site-footer__top, 
_:-ms-fullscreen, :root .site-footer__middle {
	position: relative;
	margin-right: -0.5rem;
}

.site-footer__top .region,
.site-footer__middle .region {
	margin: 0 0.5rem 0.5rem 0;
	border-radius: 10px;
}

@media all and (min-width: 870px) {
	.site-footer {
		padding: 60px 24px 24px 24px;
	}

	.site-footer__top,
	.site-footer__middle {
		margin-right: -24px;
	}

	/* hack to get negative right margin working in IE11 */
	_:-ms-fullscreen, :root .site-footer__top, 
	_:-ms-fullscreen, :root .site-footer__bottom {
		position: relative;
		margin-right: -24px;
	}
	
	.site-footer__top .region,
	.site-footer__middle .region {
		margin: 0 1.5rem 1.5rem 0;
	}
}

.site-footer__top .region {
	-webkit-flex: 1 1 280px;
	-ms-flex: 1 1 280px;
	flex: 1 1 280px;
}

.site-footer__middle .region-bottom-footer-left {
	-webkit-flex: 4 1 292px;
	-ms-flex: 4 1 292px;
	flex: 4 1 292px;
}

.site-footer__middle .region-bottom-footer-right {
	-webkit-flex: 1 1 268px;
	-ms-flex: 1 1 268px;
	flex: 1 1 268px;
}

.site-footer .block {
	padding: 1.5rem 1.5rem 1rem 1.5rem;
}

/* Footer grid layout for browsers that understand it */

.site-footer__top,
.site-footer__middle {
	display: grid;
	margin-right: 0;
	grid-gap: 0.5rem;
}

@media all and (min-width: 960px) {
	.site-footer__top,
	.site-footer__middle {
		grid-gap: 1.5rem;
	}
}

@media all and (min-width: 584px) and (max-width: 959px) {
	.site-footer__top,
	.site-footer__middle {
		grid-template-columns: 1fr 1fr;
	}

	.region-top-footer-right {
		grid-column-start: 1;
		grid-column-end: span 2;
	}
}

@media all and (min-width: 960px) {
	.site-footer__top,
	.site-footer__middle {
		grid-template-columns: 1fr 1fr 1fr;
	}

	.site-footer__middle .region-bottom-footer-left {
		grid-column-start: 1;
		grid-column-end: span 2;
	}
}

@supports (display: grid) {
	.site-footer__top,
	.site-footer__middle {
		margin-right: 0;
	}

	.site-footer .region {
		margin: 0;
	}
}