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

	.testimonials {
		width: 100%;
		background-repeat: no-repeat;
		background-position: center bottom;
		padding-inline: var(--padding-rl);
		padding-block: 5rem;

		.strong-view {
			display: grid;
		}

		.strong-content {
			display: flex;
			flex-wrap: wrap;
			gap: 2.25rem;
			justify-content: center;

			.testimonial {
				flex-basis: 20.125rem;
				background-color: hsl(0, 0%, 100%);
				color: hsl(0, 0%, 0%);
				padding: 3.125rem 2.5rem;
				outline: 1px solid hsla(0, 0%, 0%, 0.08);

				.testimonial-content {
					margin-bottom: 2.25rem;

					p {
						font-size: 1.5rem;
						margin-bottom: 0;

						&::before,
						&::after {
							position: relative;
							font-family: var(--ff-quote);
							font-weight: 900;
							font-size: 3rem;
							color: var(--clr-link);
							line-height: 0;
						    top: 0.4em;
						}
						
						&::before {
							content: '“';
							padding-right: 0.2em;
						}

						&::after {
							content: '”';
							padding-left: 0.2em;
						}

						.readmore {
							display: none;
						}
					}
				}

				.testimonial-inner {
					display: grid;
				}

				.testimonial-name {
					font-weight: 300;
					font-size: 1.125rem;
					text-align: right;

					&::before {
						content: '\2014';
						margin-right: 0.25em;
					}
				}

				.readmore {
					align-self: flex-end;
					margin-top: 2.625rem;

					a {
						display: block;
						font-weight: 700;
						font-size: 0.875rem;
						text-align: center;
						line-height: 2.35;
						padding-inline: 1.5em;
						color: hsl(0, 0%, 100%);
						background-color: var(--background-button);
						border-radius: 10rem;
						align-self: end;
						transition: all var(--trans-duration) linear;

						&:hover,
						&:focus-visible {
							text-decoration: none;
							background-color: var(--background-button-hover);
						}
					}
				}
			}
		}

		@media (width >= 43.75rem) { /* 700px */
			& {
				.strong-content {
					gap: 3.75rem;
				}
			}
		}

		@media (width >= 46.25rem) { /* 740px */
			& {
				padding-block: 8.75rem 7.5rem;
			}
		}

		@media (width >= 68.75rem) { /* 1100px */
			& {
				padding-block: 10rem;
			}
		}
	}

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

		.heading-sect {
			text-align: center;
			margin-bottom: 2.25rem;

			h2 {
				font-weight: 500;
				font-size: 1.25rem;
				color: hsl(0, 0%, 0%);
				margin-block: 0 0.2em;
			}

			.references-page-link {
				font-size: 1rem;
				--_border-width: 0.45em;

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

				&:hover,
				&:focus {
					text-decoration: none;
				}
			}
		}

		.dc-content {
			--max-width: 90rem;
		}

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

		@media (width >= 50rem) { /* 800px */
			& {
				padding-block: 4.75rem 5rem;
			}

			.heading-sect {
				margin-bottom: 3.75rem;

				* {
					display: inline-block;
				}

				h2 {
					line-height: 1;
					margin-block: 0;
					padding-right: 2rem;
					margin-right: 1.625rem;
					border-right: 2px solid hsl(0, 0%, 0%);
				}
			}

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

		@media (width >= 1400px) {
			& {
				padding-block: 4.875rem 3.75rem;
			}

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

	.search {
		width: 100%;
		padding-block: 2.375rem 3.5rem;
		background-color: var(--clr-gray-light);

		.dc-content {
			display: grid;
			justify-items: center;
			padding-inline: var(--padding-rl);
		}

		@media (width >= 50rem) { /* 800px */
			& {
				padding-block: 3.625rem 3.125rem;
			}
		}
	}
}

.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.4;
			margin-block: 1.5rem;

			.line-3 {
				display: block;
			}
		}

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

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

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

				.phone-desc {
					font-weight: 300;
					color: var(--clr-text-gray);
					margin-left: 0.5em;
				}
			}
		}
	}
	/***** end Block 1 *****/

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

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

		a {
			font-size: 1rem;
		}
	}
	/***** end Block 2 *****/

	@media (width >= 50rem) { /* 800px */
		& {
			padding-block: 4.375rem;
		}
	}
}
/***** end Footer**********/
