/***** Footer *************/
footer {
	display: grid;
	justify-items: center;
	background-color: var(--clr-dark);

	.ctas-sect {
		width: 100%;
		display: grid;

		.cta-block {
			padding-block: 1.875rem;
			display: grid;
			justify-items: center;

			a {
				position: relative;
				display: block;
				width: 100%;
				max-width: 25rem;
				color: var(--clr-main);
				background-color: var(--clr-secondary);
				padding: 1.25rem 2.125rem 1.25rem 1.5625rem;
				border: 1px solid var(--clr-text-gray);
				border-radius: 0.4rem;

				--_border-width: 1.1875em;
				&::after {
					position: absolute;
					right: 2.125rem;
					top: 35%;
					border-left-color: var(--clr-link);
				}

				&:hover,
				&:focus {
					color: var(--clr-secondary);
					background-color: var(--clr-main);
					text-decoration: none;

					&::after {
						border-left-color: var(--clr-secondary);
					}
				}

				h2 {
					font-weight: 400;
					font-size: 1.875rem;
					margin: 0;
				}

				p {
					font-family: var(--ff-secondary);
					margin-bottom: 0;
				}
			}
		}

		@media (width >= 62.5rem) { /* 1000px */
			& {
				grid-template-columns: repeat(2, 1fr);
			}

			.cta-block {
				--_gap: 3.5rem;

				&:first-of-type a {
					justify-self: right;
					margin-right: var(--_gap);
				}

				&:last-of-type a {
					justify-self: left;
					margin-left: var(--_gap);
				}
			}
		}

		@media (width >= 75rem) { /* 1200px */
			.cta-block {
				--_gap: 5.625rem;
			}
		}
	}

	.references-sect {
		width: 100%;
		background-color: hsl(0, 0%, 94%);
		padding-inline: var(--padding-rl);
		padding-block: 2.625rem 3.125rem;

		.dc-content {
			display: grid;
			--max-width: 21.875rem;

			> .references-page-link {
				margin-top: 2.25rem;
				justify-self: center;
			}
		}

		.references-page-link {
			display: inline-block;
			font-size: 0.875rem;
			color: hsl(0, 0%, 100%);
			line-height: 2.57em;
			padding-inline: 1.1em 1em;
			--_border-width: 0.45em;
			background-color: var(--clr-main);
			border-radius: 0.25rem;

			&::after {
				border-left-color: hsl(0, 0%, 100%);
				margin-left: 6em;
			}

			&:hover,
			&:focus {
				text-decoration: none;
				background-color: hsl(0, 0%, 0%);
			}
		}

		.reference-image-grid .references-page-link {
			display: none;
		}

		.reference-image-grid {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			align-items: center;
			row-gap: 2.25rem;
			column-gap: 3rem;
		}

		@media (width >= 46.875rem) { /* 750px */
			& {
				padding-block: 2.625rem 3.75rem;
			}

			.dc-content {
				--max-width: 45rem;

				> .references-page-link {
					display: none;
				}
			}

			.reference-image-grid {
				row-gap: 3rem;
				column-gap: 3.75rem;

				> .references-page-link {
					display: block;
				}
			}
		}

		@media (width >= 81.25rem) { /* 1300px */
			& {
				padding-block: 2.25rem;
			}

			.dc-content {
				--max-width: 78.25rem;
				display: grid;
				grid-template-columns: 1fr auto;
				gap: 6.875rem;
				align-items: center;

				> .references-page-link {
					display: block;
					margin-top: 0;
				}
			}

			.reference-image-grid {
				column-gap: 0;
				justify-content: space-between;

				> .references-page-link {
					display: none;
				}
			}
		}
	}
}

.footer-wrapper {
    display: flex;
	flex-wrap: wrap;
	column-gap: 2rem;
	row-gap: 3.25rem;
	justify-content: space-between;
	width: 100%;
	max-width: calc(61rem + var(--padding-rl) * 2);
	padding-inline: var(--padding-rl);
    padding-block: 3.75rem;
	color: hsl(0, 0%, 100%);

	.footer-block {
		position: relative;
	}

	/***** Block 1 *********/
	.footer-block.one {
		.title {
			display: none;
		}

		.address-block {
			font-weight: 300;
			line-height: 1.5;
			margin-block: 2.25rem 1.25rem;

			.line-3 {
				display: block;
			}
		}

		.contact-block {
			display: grid;
			gap: 1.5rem;

			.address {
				padding-left: 2.5rem;
				background-repeat: no-repeat;
				background-position: left center;
			}

			.phone {
				display: block;
				font-size: 1.125rem;
				line-height: 1.2;

				a {
					font-weight: 700;
					color: var(--clr-secondary);
				}

				.phone-desc {
					font-weight: 300;
					font-size: 1rem;
					margin-left: 0.5em;
				}

				&:not(.adtl) {
					font-size: 1.5625rem;
					background-image: url(../images/icon-phone-white-22.png);

					.phone-desc {
						display: block;
					}
				}

				&.adtl {
					background-image: url(../images/icon-fax-white-25.png);

					a {
						font-weight: 500;
					}
				}
			}

			.email {
				background-image: url(../images/icon-email-white-24.png);

				a {
					color: var(--clr-blue-2);
				}
			}
		}
	}
	/***** end Block 1 *****/

	/***** Block 2 *********/
	.footer-block.two {
		display: grid;
		gap: 1.25rem;
		max-width: 25rem;

		.dc-social a {
			&:hover,
			&:focus {
				scale: 1.2;
				outline: none;
			}
		}

		.search-form {
			margin-block: 1.25rem 1.875rem;
		}

		ul {
			list-style: none;
			line-height: 1.6;
			margin-bottom: 0;

			a {
				font-weight: 400;
				color: var(--clr-blue-2);
			}
		}

		.copyright {
			p {
				font-size: 0.875rem;
				margin-bottom: 0;
				text-align: center;
				text-wrap: balance;
			}
		}

		@media(width >= 50rem) { /* 800px */
			& {
				justify-items: right;
			}

			ul,
			.copyright p {
				text-align: right;
			}
		}
	}
	/***** end Block 2 *****/

	@media (width >= 46.875rem) { /* 750px */
		& {
			padding-block: 4.375rem;
			align-items: center;
		}
	}
}
/***** end Footer**********/
