/* footer */
footer.site-footer{
	position:fixed;
	top:100dvh;
	left:0;
	z-index:200;
	display:flex;
	width:100%;
	height:100dvh;
	margin:0;
	padding:0;
	overflow:hidden;
	color:rgb(var(--b) / 1);
	opacity:.25;
	visibility:hidden;
	pointer-events:none;
	transition:
		top .85s cubic-bezier(.22,1,.36,1),
		opacity .65s ease,
		visibility .65s ease;
}

footer.site-footer.is-visible{
	top:0;
	opacity:1;
	visibility:visible;
	pointer-events:auto;
}

body.popup-open footer.site-footer,
body.menu-open footer.site-footer{
	top:100dvh !important;
	opacity:0 !important;
	visibility:hidden !important;
	pointer-events:none !important;
}

footer.site-footer .stamp{
	position:absolute;
	top:12%;
	left:50%;
	z-index:10;
	display:flex;
	flex-direction:column;
	align-items:center;
	width:20%;
	margin:0;
	text-align:center;
	opacity:.85;
	transform:translateX(-50%);
}

footer.site-footer .footer-stamp-media{
	position:relative;
	display:block;
	width:100%;
	height:10dvh;
	margin:0;
	overflow:visible;
}

footer.site-footer .stamp-logo,
footer.site-footer .stamp-logo img{
	display:block;
	width:100%;
	height:100%;
}

footer.site-footer .stamp-logo img{
	object-fit:contain !important;
	object-position:center !important;
}

footer.site-footer .tagline{
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:.1rem;
	width:100%;
	margin-top:.65rem;
}

footer.site-footer .tagline .lead{
	font-size:1rem;
	font-weight:700;
}

footer.site-footer .tagline .caption{
	font-size:.85rem;
	font-weight:400;
}

footer.site-footer .footer-container{
	position:absolute;
	left:50%;
	bottom:0;
	z-index:50;
	display:block;
	width:90%;
	max-height:68dvh;
	margin:0;
	padding:3rem 4% 3.5rem;
	overflow-x:hidden;
	overflow-y:auto;
	color:rgb(var(--b) / 1);
	background-image:
		linear-gradient(110deg,rgb(var(--c2) / .97) 0%,rgb(var(--n) / 1) 100%),
		url("../../img/bg.webp");
	background-repeat:repeat;
	background-size:auto;
	background-position:center;
	background-blend-mode:multiply;
	border-radius:1rem 1rem 0 0;
	pointer-events:auto;
	transform:translateX(-50%);
}

footer.site-footer .footer-groups{
	display:grid;
	grid-template-columns:repeat(var(--footer-group-count,3),minmax(0,1fr));
	align-items:start;
	gap:3rem;
	width:100%;
}

footer.site-footer .footer-group{
	display:flex;
	flex-direction:column;
	min-width:0;
	margin:0;
	padding:0;
}

footer.site-footer .footer-group-title{
	width:100%;
	margin:0 0 1rem;
	padding:0 0 .65rem;
	color:rgb(var(--c1) / 1);
	font-size:1.35rem;
	font-weight:700;
	line-height:1.1;
	border-bottom:1px solid rgb(var(--b) / .45);
}

footer.site-footer .footer-group-list{
	display:flex;
	flex-direction:column;
	gap:1rem;
	width:100%;
	margin:0;
	padding:0;
	list-style:none;
}

footer.site-footer .footer-group-list,
footer.site-footer .footer-group-list > li{
	list-style:none !important;
}

footer.site-footer .footer-group-list > li::marker{
	content:"" !important;
}

footer.site-footer .footer-group-list > li::before{
	display:none !important;
	content:none !important;
}

footer.site-footer .footer-group-item{
	display:flex;
	flex-direction:column;
	align-items:flex-start;
	width:100%;
	margin:0;
	padding:0;
}

footer.site-footer .footer-group-button{
	display:inline-flex;
	align-items:center;
	gap:0;
	width:auto;
	margin:0;
	padding:0;
	border:0;
	background:none;
	color:rgb(var(--b) / 1);
	font:inherit;
	font-size:1rem;
	font-weight:700;
	line-height:1.2;
	text-align:left;
	cursor:pointer;
}

footer.site-footer .footer-group-button.has-icon{
	gap:.65rem;
}

footer.site-footer .footer-button-icon{
	flex:0 0 auto;
	color:rgb(var(--c1) / 1);
	font-size:1.05em;
	font-weight:400;
	line-height:1;
}

footer.site-footer .footer-button-label{
	min-width:0;
}

footer.site-footer .footer-group-comment{
	display:block;
	margin:.25rem 0 0;
	color:rgb(var(--b) / .7);
	font-size:.78rem;
	font-weight:400;
	line-height:1.3;
}

footer.site-footer .footer-group-button.has-icon + .footer-group-comment{
	margin-left:1.7rem;
}

footer.site-footer .footer-button-separator{
	display:block;
	width:100%;
	height:0;
	margin:.85rem 0;
	padding:0;
	border:0;
	border-top:1px solid rgb(var(--b) / .35);
}

footer.site-footer .footer-social-wrap{
	dis:flex;
	flex-direction:column;
	width:100%;
}

footer.site-footer .footer-social-above{
	margin:0 0 1rem;
}

footer.site-footer .footer-social-below{
	margin:1rem 0 0;
}

footer.site-footer .footer-social{
	display:flex;
	flex-flow:row wrap;
	align-items:center;
	gap:.8rem;
	width:100%;
	margin:0;
	padding:0;
}

footer.site-footer .footer-social-link{
	position:relative;
	dis:inline-flex;
	align-items:center;
	justify-content:center;
	flex:0 0 auto;
	width:2.25rem;
	height:2.25rem;
	margin:0;
	padding:0;
	border:1px solid rgb(var(--b) / .4);
	border-radius:50%;
	background:transparent;
	color:rgb(var(--c1) / 1);
	font:inherit;
	font-size:1.25rem;
	line-height:1;
	cursor:pointer;
	transition:
		color .25s ease,
		background-color .25s ease,
		border-color .25s ease,
		transform .25s ease;
}

footer.site-footer .footer-social-link:hover,
footer.site-footer .footer-social-link:focus-visible{
	border-color:rgb(var(--c1) / 1);
	background:rgb(var(--c1) / 1);
	color:rgb(var(--n) / 1);
	transform:translateY(-.15rem);
}

footer.site-footer .footer-social-icon{
	dis:block;
	line-height:1;
}

footer.site-footer .footer-social-label{
	position:absolute !important;
	width:1px !important;
	height:1px !important;
	margin:-1px !important;
	padding:0 !important;
	overflow:hidden !important;
	clip:rect(0 0 0 0) !important;
	clip-path:inset(50%) !important;
	white-space:nowrap !important;
	border:0 !important;
}

footer.site-footer .footer-social-settings{
	dis:flex;
	align-items:center;
	gap:.45rem;
	margin:0 0 .65rem;
	font-size:.7rem;
	text-transform:uppercase;
}

footer.site-footer .footer-social-setting{
	margin:0;
	padding:.35rem .55rem;
	border:1px dashed currentColor;
	background:transparent;
	color:inherit;
	font:inherit;
	cursor:pointer;
}

footer.site-footer .right{
	display:block;
	width:100%;
	margin-top:2rem;
	padding-top:1rem;
	color:rgb(var(--b) / .5);
	font-size:.65rem;
	text-align:center;
	border-top:1px solid rgb(var(--b) / .25);
}

body.simple-edit-mode footer.site-footer .footer-media-edit{
	position:absolute !important;
	top:50% !important;
	left:50% !important;
	z-index:999999 !important;
	transform:translate(-50%,-50%) !important;
}

body.simple-edit-mode footer.site-footer .footer-group.is-add-group{
	padding:1rem;
	border:1px dashed rgb(var(--b) / .55);
}

body.simple-edit-mode footer.site-footer .footer-group-item.is-empty{
	padding:.65rem;
	border:1px dashed rgb(var(--b) / .35);
}

body.simple-edit-mode footer.site-footer .footer-group-button.is-empty{
	color:rgb(var(--c1) / 1);
}

body.simple-edit-mode footer.site-footer .footer-social-link.is-empty{
	border-style:dashed;
	color:rgb(var(--c1) / 1);
}

body.simple-edit-mode footer.site-footer .footer-social-empty{
	font-family:Arial,sans-serif;
	font-weight:700;
}

@media(max-width:767px){
	footer.site-footer{
		z-index:300;
		max-width:100%;
		max-height:100dvh;
		opacity:.75;
		transition:
			top .95s cubic-bezier(.22,1,.36,1),
			opacity .95s ease,
			visibility .95s ease;
	}

	footer.site-footer .stamp{
		top:0;
		left:0;
		width:100%;
		height:25dvh;
		padding:2rem 0 1rem;
		transform:none;
	}

	footer.site-footer .footer-stamp-media{
		width:50%;
		height:15dvh;
	}

	footer.site-footer .tagline{
		margin-top:.25rem;
	}

	footer.site-footer .tagline .lead{
		font-size:.9rem;
	}

	footer.site-footer .tagline .caption{
		font-size:.7rem;
	}

	footer.site-footer .footer-container{
		top:25dvh;
		left:0;
		bottom:auto;
		width:100%;
		height:75dvh;
		max-height:75dvh;
		padding:2rem 2rem 8rem;
		background:linear-gradient(135deg,rgb(var(--c2) / 1) 0%,rgb(var(--n) / 1) 100%);
		border-radius:1rem 1rem 0 0;
		-webkit-overflow-scrolling:touch;
		transform:none;
	}

	footer.site-footer .footer-groups{
		grid-template-columns:1fr;
		gap:2rem;
	}

	footer.site-footer .footer-group + .footer-group{
		padding-top:2rem;
		border-top:1px solid rgb(var(--b) / .35);
	}

	footer.site-footer .footer-group-title{
		font-size:1.15rem;
		text-transform:uppercase;
	}

	footer.site-footer .footer-group-button{
		font-size:1.05rem;
	}

	footer.site-footer .footer-group-comment{
		font-size:.8rem;
	}

	footer.site-footer .footer-social{
		gap:.75rem;
	}

	footer.site-footer .footer-social-link{
		width:2.5rem;
		height:2.5rem;
		font-size:1.35rem;
	}
}
