
aside.pre-footer, aside.pre-footer-site {
	.bates-office-hours {
		p {
			margin-block: 0;
		}
	}
}

aside.pre-footer {

	clear: both;
	margin: 0;
	padding: 4em 4% 2em;

	a {
		/* darker than --colorLink for accessibility on the pre-footer background */
		color: var(--colorGarnet_dark)
	}

	h1, h2, h3, h4, h5, h6 {
		font-family: var(--fontSansSerif), sans-serif;
		margin-bottom: .7em;
		font-weight: 300;
	}
	h1, h2, h3, h4 {
		color: #981328;
	}

	h2 {
		font-size: 2.2em;
		font-weight: 200;
	}
	h3 {
		font-size: 2em;
		font-weight: 300;
	}
	h4 {
		font-size: 1.4em;
		font-weight: 400;
	}
	h5 {
		font-size: 1.3em;
		font-weight: 600;
	}
	h6 {
		font-size: 1.1em;
		font-weight: 800;
	}

	div:first-of-type.widget_block {
		h1, h2, h3, h4, h5, h6 {
			&:first-child {
				margin-top: 0;
			}
		}
	}

	.widget {
		margin-block: 1em;
	}

	.site-title {
		color: hsl( 0 0% 29% );
		font-size: 40px;
		font-family: var(--fontSerif), serif;
		margin-block: .5em;
	}

	.pre-footer-widget-area {
		font-size: 1.2rem;
		padding-top: 1.5em;
		line-height: 1.2em;

		/* Image widget
		 */
		.widget_media_image img {
			box-shadow: 1px 1px 2px hsla(0, 0%, 0%, .3);
			background: black;
			padding: 5px 5px 13px;
		}
	}

	.widgettitle {
		font-family: var(--fontSansSerif), sans-serif;
		color: hsl(350, 78%, 30%);
		font-size: 1.3em;
		font-weight: 300;
		margin: .5em 0;
	}

	input[type="submit"] {
		background: var(--colorGreen);
		color: white;
		padding: .7em 1em;
		border-radius: 3px;
		border: none;
		cursor: pointer;
		&:hover {
			box-shadow: 0 0 40px hsla(0, 0%, 0%, .4) inset;
		}
	}
	input[type="text"] {
		font-size: 1em;
	}

	@media(min-width:800px){
		.pre-footer-widget-area {
			border-top: 0;
			padding-top: 0;
		}
	}

}


aside.pre-footer-site {
	margin-top: 1em;
	background-color: hsl(0, 0%, 92%);
	background-image: linear-gradient(hsl(0, 0%, 94%), hsl(0, 0%, 89%));

	.hours-information {
		font-size: 1.2rem;
		margin: 1em 0;

		h4 {
			margin-bottom: .5rem;
		}

		p {
			font-weight: 300;
			padding-block: .2em;
		}
	}

	/* Nav Menu widget
	 */
	.widget_nav_menu ul ,
	ul.wp-block-list
	{
		line-height: 1.8rem;
	}
	.widget_nav_menu ul {
		padding: 0 0 .4em ;
	}

	.widget_search {
		margin-top: 2em;

		label.wp-block-search__label {
			color: hsl(0, 0%, 29%);
		}

		.wp-block-search__inside-wrapper {
			margin-block: .7em;

		}

		.wp-block-search__button-inside {
			.wp-block-search__inside-wrapper {
				border: .5px solid hsl(0 0% 71%);
				background: white;
				padding: 4px 20px 4px 10px;
				display:flex;

				&:has( input.wp-block-search__input:focus ) {
					outline: 2px solid var(--colorLink);
				}
			}

			input.wp-block-search__input {
				appearance: none;
				flex-grow: 1;
				font-family: inherit;
				font-size: inherit;
				border: none;
				padding: 0 4px;
				&:active, &:focus {
					outline: none;
					box-shadow: none;
				}
			}
		}

		button.wp-block-search__button {
			background: none;
			color: hsl(0 0% 43%);
			padding: 0;

			& svg {
				--size: 2.2em;
				height: var(--size);
				width: var(--size);
			}
		}
	}


	.wrapper {
		--padding: 48px;
	}

	.pre-footer-column-1 {
		padding-bottom: 2em;
		border-bottom: 1px solid hsl( 0 0% 65% );
		margin-bottom: 2em;
	}

	@media(min-width:800px){
		.wrapper {
			display: grid;
			gap: 1em;
			grid-template-columns: min( 50%, 460px ) auto;
		}

		.pre-footer-widget-area {
			border-top: 0;
			padding-top: 0;
		}

		.pre-footer-column-1 {
			border-right: 1px solid hsl( 0 0% 65% );
			border-bottom: none;
			padding-right: var(--padding);
			padding-bottom: 0;
		}

		.pre-footer-column-1 + .pre-footer-column-2 {
			padding-left: var(--padding);
		}
	}
}

.logged-in-user-pagemeta-information + aside.pre-footer-site {
	margin-top: 0;
}

aside.pre-footer-network {
	background: hsl(0, 0%, 93%)
}


/**
 * Logged-in user
 * Editor-only Last-Modified Box
 */
.logged-in-user-pagemeta-information {
	background-color: hsl( 41 61% 94% );
	padding: 1.5em 2em;
	margin-block: 1em;
	clear: both;

	.pagemeta-blocks {
		h1, h2 {
			margin: .2em 0 .5em;
			font-family: inherit;
		}
		h3 {
			margin: .5em 0;
		}
	}

	.pagemeta-last-modified {
		font-size: .85em;
		font-family: monospace;
	}

	@media(min-width:550px){
		.pagemeta-blocks {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			align-items: flex-start;

			& > div {
				box-sizing: border-box;
				padding: 0 1em 0 0;
				width: 50%;
			}
		}
	}

	@media(min-width: 800px){
		.pagemeta-blocks {
			flex-wrap: nowrap;

			& > div {
				width: auto;
			}
		}
	}

	p {
		margin: .7em 0;
	}
	p.pagemeta-footer-text {
		font-style:italic;
		margin-block: 2em .5em;
	}
}



/**
 * News & Updates
 */
aside.pre-footer section.news-updates {

	h1 {
		font-size: 2rem;
		font-weight: 300;
		margin: 1.1em 0 .5em;

		@media(min-width:550px){
			font-size: 2.1rem;
		}
		@media( min-width: 1024px ) {
			font-size: 2.2rem;
		}
		@media(min-width:1400px){
			font-size: 2.3em;
		}
	}

	article {

		&:not(:first-of-type){
			margin-top: 1.5em;
		}

		img {
			max-width: 100%;
			display: none;
		}

		p {
			margin: .5em 0;
			line-height: 1.2em;
		}

		h2 {
			margin: .6em 0 .8em;
			font-family: var(--fontSansSerif), sans-serif;
			font-weight: 400;
			font-size: 1.6em;
		}

		.aside-date {
			color: hsl(0, 0%, 20%);
		}
	}

	@media(min-width:550px){
		article {
			display: grid;
			grid-template-columns: 150px 1fr;
			grid-gap: .6em;

			img {
				display: block;
			}
		}
	}

	@media(min-width:800px){
		article {

			h1 {
				font-size: 1.6em;
			}
			.aside-date {
				margin-top: 0;
			}
		}
	}

	@media(min-width:1024px){
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		grid-gap: 1em 2em;

		h3 {
			grid-row: 1;
			grid-column: 1 / 4;
		}

		article {
			display: block;
			&:not(:first-of-type){
				margin-top: 0;
			}

			a.aside-image {
				display: block;
				overflow: hidden;
				height: 200px;
				margin-bottom: .7em;
			}

			img {
				display: block;
			}
		}
	}
	@media(min-width:1400px){
		grid-gap: 1em 3em;

		article {
			a.aside-image {
				height: 250px;
			}
		}
	}
}


/* Contact Information Element
 * This element is built by the Bates Office Information plugin, and we're
 * applying extra styles here for the context of the pre-footer
 */
section.contact-information {
	margin: 1em 0;
	container-type: inline-size;

	h3 {
		margin-top: 0;
	}

	p {
		padding: .2em 0;
		line-height: 1.3em;
	}

	.office-information {
		font-size: 1.1rem;

		@container (min-width: 550px) {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 1em;
			font-size: 1.4rem;
		}
	}

	.contact-info-name {
		margin-block: .7em;
		font-size: 1.1em;
		display: inline-block;
		font-weight: 500;
	}

	a.contact-info-mapLink {
		background-image: url('images/icons/map-pin-garnet.svg');
		background-position: center;
		background-repeat: no-repeat;
		background-size: 75%;
		background-color: hsl(0,0%,85%);
		display: inline-block;
		height: 32px;
		width: 32px;
		border-radius: 32px;
		box-sizing: border-box;
		padding: 4px;
		transition: .2s background-color, .2s border-color, .2s background, .2s transform,
			.2s background-size;
		border: 1px solid transparent;
        transform: perspective(10px);

		&:hover {
			border-color: hsl(86, 35%, 50%);
			background-color: hsl(86, 32%, 80%);
			transform: perspective(10px) translate3d(0%,0%,-1px);
			background-size: 1.3em;
		}
	}

	._own-line {
		display: block;
		padding-block: 2px;
		line-height: 1.25;
	}

	.contact-info-other {
		display: block;
		margin-block: .8em;
	}

	.contact-info-physical-address {
		margin-bottom: .5em;
		color: hsl(0, 0%, 25%);
		line-height: 1.1em;
		font-weight: 300;
		display: flex;
		gap: 1em;
		flex-direction: column-reverse;
	}

	.contact-info-phone, .contact-info-email {

		margin-block: 2em;
		line-height: 1.25;

		a {
			display: block;
			margin: .5em 0;
			/* to make the numbers easier to read */
			text-decoration-color: silver;
		}
		a:not(:hover) {
			color: inherit;
		}

	}

	@container( min-width: 550px ) {
		.office-information-column > .contact-info-phone:first-child ,
		.office-information-column > .contact-info-name:first-child
		{
			margin-top: 0;
		}
	}

	.section-label {
		margin: 0; padding: 0;
		text-transform: uppercase;
		font-size: 1em;
		font-weight: 700;
		color: hsl( 0 0% 48% );
	}


	.bates-contact-info-social-grid {
		flex-wrap: wrap;
		margin: 1em 0;

		&:empty {
			display: none;
		}

		a.social-link {
			box-shadow: 1px 1px 2px hsla(0,0%,0%,0.2)
		}

		@media(min-width: 550px) {
			--iconSize: 32px;
		}
	}
}
