/*----------------------------------------------------------------- */
/* FOOTER
/*----------------------------------------------------------------- */

footer {
	margin-top: 100px;
	padding-top: 15px;
	padding-right: var(--padding__default);
	padding-right: env(safe-area-inset-right);
	padding-bottom: 15px;
	padding-left: var(--padding__default);
	padding-left: env(safe-area-inset-left);

	color: var(--color__white);
	background: var(--color__black);
}

/* CONTENTINFO */
.footer__text {
	padding-bottom: 20px;
}

.footer__text h2 {
	font-size: 6.4rem;
	font-weight: var(--font-weight__normal);
	line-height: 7.3rem;

	margin-bottom: 25px;
}

.footer__text p {
	font-size: 3rem;
	line-height: 4.2rem;

	margin-bottom: 15px;
}

.footer__text p:last-of-type {
	margin-bottom: 0;
}

.footer__text p a {
	text-decoration: underline;
}

.footer__text p a:hover {
	text-decoration: none;
	text-decoration: solid underline transparent;
}

.footer__contact {
	padding-top: 100px;
}

.footer__contact-wrapper {
	position: relative;

	align-items: center;

	max-width: 615px;
	margin-bottom: 100px;

	border: 1px solid var(--color__grey-dark);
	background-color: var(--color__grey-light);
}

.footer__contact-wrapper::before {
	position: absolute;
	bottom: 100%;
	left: -1px;

	width: 0;
	height: 0;

	content: "";

	border-right: 31px solid transparent;
	border-bottom: 43px solid var(--color__grey-dark);
}

.footer__contact-wrapper::after {
	position: absolute;
	bottom: 100%;
	left: 0;

	width: 0;
	height: 0;

	content: "";

	border-right: 29px solid transparent;
	border-bottom: 40px solid var(--color__grey-light);
	border-left: 0 solid var(--color__grey-dark);
}

html[data-theme="wireframe"] .footer__contact-wrapper::before,
html[data-theme="wireframe"] .footer__contact-wrapper::after {
	display: none;
}

.footer__contact-info {
	padding: 20px 20px 20px 55px;
}

.footer__contact-info a[href^="tel:"],
.footer__contact-info a[href^="mailto:"] {
	font-size: 2.8rem;
	line-height: 4.4rem;

	display: block;

	letter-spacing: -0.37px;

	color: var(--color__brown-dark);
}

.footer__contact-info a[href^="tel:"]:hover,
.footer__contact-info a[href^="mailto:"]:hover {
	color: var(--color__orange);
}

.footer__contact-info a > .icon {
	width: 25px;
	height: 25px;
	margin-right: 10px;

	vertical-align: middle;

	color: var(--color__orange);
}

.footer__contact-map {
	font-size: 1.6rem;
	line-height: 2.8rem;

	position: relative;

	display: inline-block;

	margin-top: 30px;
	padding-top: 15px;

	text-decoration: underline;
	letter-spacing: -0.21px;

	color: var(--color__brown-darker);
	border-top: 1px solid var(--color__grey-dark);
}

.footer__contact-map:hover {
	text-decoration: solid underline transparent;
}

.footer__contact-map::before {
	display: inline-block;

	width: 11px;
	height: 13px;
	margin-right: 10px;

	content: "";

	border: 1px solid var(--color__brown-dark);
	border-radius: 50%;
}

.footer__contact-photo {
	max-width: 235px;
	margin-bottom: 0;
	margin-left: auto;
}

.footer__certificates {
	margin-bottom: 45px;
}

.footer__socials {
	margin-bottom: 30px;
}

.footer__certificates h3,
.footer__socials h3 {
	font-family: var(--font-family__default);
	font-size: 1.5rem;
	font-weight: var(--font-weight__bold);
	line-height: 2.4rem;

	margin-bottom: 30px;

	text-transform: uppercase;

	color: var(--color__brown-light);
}

.footer__certificates-grid {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: space-between;

	max-width: 380px;
}

.footer__certificates-grid a {
	margin: 10px;
}

.footer__certificates-grid img {
	width: auto;
	max-width: 100px;
	height: auto;
	max-height: 90px;
}

.footer__socials-grid {
	display: grid;

	gap: 10px;
	grid-template-columns: repeat(3, 1fr);
}

.footer__socials-grid a {
	font-size: 1.6rem;
	line-height: 3rem;

	padding: 9px 27px 9px 20px;

	letter-spacing: -0.21px;

	color: var(--color__brown-darker);
	border: 1px solid var(--color__grey-dark);
}

.footer__socials-grid a:hover {
	border-color: var(--color__orange);
}

.footer__logo figure {
	margin: 0;
}

.footer__logo img {
	width: auto;
	height: 17px;
}

@media (max-width: 960px) {
	.footer__text h2 {
		font-size: 3.2rem;
		line-height: 3.5rem;

		margin-bottom: 20px;
	}

	.footer__text p {
		font-size: 1.7rem;
		line-height: 2.4rem;

		margin-bottom: 5px;
	}

	.footer__contact {
		margin-bottom: 45px;
	}

	.footer__contact-info a[href^="tel:"],
	.footer__contact-info a[href^="mailto:"] {
		font-size: 1.7rem;
		line-height: 2.4rem;
	}

	.footer__contact-info a[href^="tel:"] {
		margin-bottom: 15px;
	}
}

@media (max-width: 930px) {
	.footer__socials-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 760px) {
	footer {
		margin-top: 15px;
	}

	.footer__row {
		align-items: center;
		flex-direction: column;
	}

	.footer__row h3 {
		text-align: center;
	}
}

@media (max-width: 721px) {
	.footer__contact + .row {
		justify-content: center;
	}
}

@media (max-width: 600px) {
	.footer__contact .row {
		align-items: center;
		flex-direction: column;
	}

	.footer__contact-wrapper {
		margin-bottom: 45px;
	}

	.footer__contact::before,
	.footer__contact::after {
		display: none;

		margin-bottom: 45px;
	}

	.footer__contact-info {
		order: 2;

		padding: 30px 0 15px 0;
	}

	.footer__contact-wrapper::before,
	.footer__contact-wrapper::after {
		display: none;
	}

	.footer__contact-photo {
		order: 1;

		margin: -55px auto 0 auto;
	}

	.footer__contact-info a[href^="tel:"],
	.footer__contact-info a[href^="mailto:"] {
		text-align: center;
	}
}

@media (max-width: 560px) {
	.footer__contact-info a[href^="mailto:"] {
		margin-bottom: 10px;
	}

	.footer__certificates,
	.footer__socials {
		width: 100%;
	}

	.footer__certificates-grid {
		max-width: 100%;
	}

	.footer__socials-grid a {
		justify-content: center;

		padding: 9px 10px;
	}
}

@media (max-width: 400px) {
	.footer__contact-photo {
		max-width: 110px;
	}

	.footer__logo figure {
		display: none;
	}
}

/* COPYRIGHT
----------------------------------------- */
.footer__copyright {
	padding: 52px 0;

	border-top: 1px solid var(--color__grey-dark);
}

.footer__copyright span,
.footer__copyright span a {
	font-size: 1.8rem;
	line-height: 2.8rem;

	letter-spacing: -0.24px;

	color: var(--color__brown-lighter);
}

@media (max-width: 960px) {
	.footer__copyright {
		width: 100%;
		padding: 22px 0 17px 0;
	}

	.footer__copyright span,
	.footer__copyright span a {
		font-size: 1.4rem;
		line-height: 2.2rem;
	}
}

/* SOCIAL BUTTONS
----------------------------------------- */
.footer__socials .icon {
	display: block;

	width: auto;
	height: 25px;

	color: var(--color__brown);
}
