/*----------------------------------------------------------------- */
/* FOOTER
/*----------------------------------------------------------------- */

footer
{
	position: relative;

	overflow: hidden;

	padding: 60px 0 44px;

	color: rgb(var(--color__white));
	background: rgb(var(--color__footer));
}

footer > *:not(.footer__img)
{
	position: relative;
	z-index: 1;
}

footer::before
{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;

	height: 74px;

	content: '';

	background: linear-gradient(rgba(var(--color__black), 0.31) 0, rgba(var(--color__black), 0) 100%);
}

footer::after
{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;

	height: 2px;

	content: '';

	opacity: 0.85;
	background: linear-gradient(to left, rgb(var(--color__purple-gradient-4)) 0%, rgb(var(--color__grey-gradient-1)) 24%, rgb(var(--color__grey-gradient-2)) 50%, rgb(var(--color__grey-gradient-3)) 85%, rgb(var(--color__grey-gradient-4)) 100%);
}
.footer_background-extra
{
	padding-top: 0;
}

.footer_background-extra::before,
.footer_background-extra::after
{
	display: none;
}

.footer__img-extra
{
	margin-bottom: -100px;
}

.footer__contact
{
	text-align: center;
}

.footer__contact-form
{
	position: relative;
}

.footer__contact-text
{
	line-height: 2.8rem;

	max-width: 335px;
	margin-bottom: 20px;

	color: rgb(var(--color__pink));

	margin-inline: auto;
}

.footer__contact-form-graphic
{
	display: none;
}

@media (max-width: 760px)
{
	footer
	{
		text-align: center;
	}
	.footer__contact-text
	{
		padding: 0 30px;
	}
}

@media (min-width: 961px)
{
	footer
	{
		padding: 160px 0 100px;
	}

	.footer__img-extra
	{
		margin-bottom: -300px;
	}

	.footer__contact-text
	{
		margin-bottom: 70px;
	}

	.footer__contact-form-graphic
	{
		position: absolute;
		z-index: -1;
		top: 50%;

		display: block;

		width: 750px;
		height: 300px;
		margin-top: -260px;
	}

	.footer__contact-form-graphic_right
	{
		left: 50%;

		-webkit-transform: translateX(32%);
		        transform: translateX(32%);
	}

	.footer__contact-form-graphic_left
	{
		right: 50%;

		margin-top: -280px;

		-webkit-transform: scale(-1, 1) translateX(32%);
		        transform: scale(-1, 1) translateX(32%);
	}
}

/* COPYRIGHT
----------------------------------------- */
.footer__copyright
{
	font-size: 1.2rem;

	text-align: center;

	color: rgba(var(--color__grey-light), 0.65);
}

.footer__copyright a
{
	transition: text-shadow var(--transition-duration__default);
	text-decoration: none;

	color: rgba(var(--color__grey-light), 0.65);
}

.footer__data
{
	font-size: 1.4rem;

	margin-bottom: 18px;

	text-align: center;
}

.footer__data span
{
	display: block;
}

.footer__data a
{
	display: inline-block;

	padding: 8px 10px;

	transition: text-shadow var(--transition-duration__default), text-decoration var(--transition-duration__default);
	vertical-align: middle;

	color: rgba(var(--color__white), 0.65);
}

.footer__copyright a:hover,
.footer__data a:hover
{
	text-decoration: solid underline transparent;

	text-shadow: 0 2px 14px rgb(var(--color__pink)), 0 0 3px rgb(var(--color__pink));
}

.footer__img
{
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;

	pointer-events: none;
}

@media (max-width: 760px)
{
	.footer__data a
	{
		padding: 16px 10px;
	}
	.footer__img
	{
		height: 377px;
	}
	.footer__copyright
	{
		width: 100%;
		margin-bottom: 10px;
	}
}

/* SOCIAL BUTTONS
----------------------------------------- */
.footer__socials
{
	margin-bottom: 20px;
}
.footer__socials a
{
	font-size: 0;

	position: relative;

	display: flex;
	align-items: center;
	justify-content: center;

	width: 44px;
	height: 44px;
	margin-left: 20px;
}

.footer__socials a::before
{
	position: absolute;
	z-index: -1;

	content: '';

	background-size: cover;

	inset: 0;
}

.footer__socials a:first-child
{
	margin: 0;
}

.footer__socials .icon
{
	transition: color var(--transition-duration__default);

	color: rgb(var(--color__white));
}

.footer__socials a:hover .icon
{
	color: rgb(var(--color__pink));
}

@media (max-width: 760px)
{
	.footer__socials
	{
		width: 100%;
	}
}
