/*!
Theme Name: lornmacneal
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: lornmacneal
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

lornmacneal is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
  background:#e6e2dd;
  color:#3d3e40 !important;
  position: relative;
}

body::before {
  content: '';
  position: fixed;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 1920px;
  background-image: url('/wp-content/uploads/2026/03/Grid-BG.jpg');
  background-repeat: repeat-y;
  background-position: top center;
  background-size: 100% auto;
  opacity: 0.35;
  pointer-events: none;
  z-index: -1;
}

.row {
  --bs-gutter-x: 1.4rem; /* change this value */
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-0.5 * var(--bs-gutter-x));
  margin-left: calc(-0.5 * var(--bs-gutter-x));
}

.row > * {
  /*padding-right: calc(var(--bs-gutter-x) * .8);
  padding-left: calc(var(--bs-gutter-x) * .8);*/
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 5em;
	margin: 0.67em 0 0 0;
  color: #3d3e40;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;	
		font-family: "linotype-didot", serif;
		font-weight: 400;
		font-style: normal;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
  color: #3d3e40;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
  background:#EDE4DD;
}

hr {
  background-color: #333;
	border: 0;
	height: 1px;
	margin-top: 0.1em !important;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;  
  background: transparent;
  border:0;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;  
  background: transparent;
  border:0;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

.lm-contact__submit {
  font-size: 3.7em;
  margin: 0.67em 0;
  padding: 0;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

.lm-intro {
  margin: 0 12px;
}

#page {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
  overflow-x: hidden;
}

  .lm-page-content,
  .lm-page-intro__text,
  .lm-page-body,
  .lm-page-extra-content {
    font-family: "helvetica-neue-lt-pro", sans-serif;
  }

#about {
  margin: 50px 12px 0 12px;
}

  .lm-about__text{
    font-family: "helvetica-neue-lt-pro", sans-serif;
  }

#projects {
  margin: 50px 12px 0 12px;
}


#people {
  margin: 50px 12px 0 12px;
}

.lm-people__photo {
  width: 100%;
}

  .lm-people__text,
  .lm-person-band__role,
  .lm-person-band__bio,
  .lm-person-profile__bio,
  .lm-person-profile__role,
  .lm-person-profile__qualifications,
  .lm-person-profile__content-block {
    font-family: "helvetica-neue-lt-pro", sans-serif;
  }

.lm-person-profile__extra {
  margin-top: 3rem;
}

.lm-person-profile__content-row {
  margin-bottom: 2rem;
}

.lm-person-profile__images-row {
  margin-bottom: 2rem;
}

.lm-person-profile__extra-image {
  display: block;
  width: 100%;
  height: auto;
}

#process {
  margin: 50px 12px 0 12px;
}

#process .container{
  padding: 50px 12px;
}

#process .container h1{
  color:#ffffff;
}

  .lm-process__text,
  .lm-process__steps {
    font-family: "helvetica-neue-lt-pro", sans-serif;
  }

#journal {
  margin: 50px 12px 0 12px;
}

  .lm-journal-card__excerpt {
    font-family: "helvetica-neue-lt-pro", sans-serif;
  }

  .lm-journal-grid {
  margin: 0 12px;
}


#contact {
  margin: 50px 12px 0 12px;
}


#process {
  background: #333;
  color: #fff;
}

/* Extend Bootstrap container to fill up to 1920px */
.container,
.container-fluid,
.container-xxl {
  max-width: 1920px !important;
}

.lm-hero__img {
  width: 100%;
}


#process {
  margin: 50px 0px;
  padding: 0 12px;
}

/* Break hero out of Bootstrap container, same as .lm-project-hero */
.lm-hero {
  width: min(100vw, 1920px);
  position: relative;
  left: 50%;
  margin-left: calc(min(100vw, 1920px) / -2);
  margin-bottom: 2rem;
  line-height: 0;
}

.lm-about__img.img-fluid {
  float: right;
}

/*--------------------------------------------------------------
# Single post
--------------------------------------------------------------*/

.lm-single-post {
  padding-top: 4rem;
  padding-bottom: 6rem;
}

.lm-post-title__heading {
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 400;
  margin: 2rem 0 0.5rem;
  line-height: 1;
}

.lm-post-body__content {
  font-family: "helvetica-neue-lt-pro", sans-serif;
}

.lm-post-body__content h1,
.lm-post-body__content h2, 
.lm-post-body__content h3, 
.lm-post-body__content h4, 
.lm-post-body__content h5, 
.lm-post-body__content h6  {  
  font-family: "linotype-didot", serif;
  margin-bottom: 20px;
}


.lm-post-title__rule {
  border: none;
  border-top: 1px solid currentColor;
  opacity: 0.25;
  margin-bottom: 2.5rem;
}

.lm-post-body__photo {
  margin-bottom: 0.5rem;
}

.lm-post-body__photo:last-child {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# People index
--------------------------------------------------------------*/

.lm-people-heading {
  margin: 0 12px;
}

.lm-person-band {
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  min-height: 80vh;
  display: flex;
  align-items: flex-start;
}

.lm-person-band__overlay {
  position: relative;
  width: 100%;
  padding: 4rem 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.25) 60%, transparent 100%);
}

.lm-person-band__text-col {
  margin: 0 12px;
}

.lm-person-band__text-col {
  color: #fff;
}

.lm-person-band__name {
  font-size: clamp(2rem, 5vw, 4rem);
  font-weight: 400;
  margin-bottom: 0.25rem;
  line-height: 1.1;
}

.lm-person-band__name-link {
  color: inherit;
  text-decoration: none; 
  color: #000 !important;
}

.lm-person-band__name-link:hover {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.lm-person-band__role {
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 1rem;
  opacity: 0.85;  
  color: #000 !important;
}

.lm-person-band__bio {
  font-size: 1rem;
  line-height: 1.6;
  max-width: 42ch;  
  color: #000 !important;
}

/*--------------------------------------------------------------
# Journal archive
--------------------------------------------------------------*/

.lm-journal-archive {
  padding-bottom: 4rem;
}

.lm-journal-archive__title {
  font-size: clamp(2.5rem, 6vw, 5rem);
  font-weight: 400;
  margin: 2rem 0 0.5rem;
  line-height: 1;
}

.lm-journal-archive__rule {
  border: none;
  border-top: 1px solid currentColor;
  opacity: 0.25;
  margin-bottom: 2.5rem;
}

.lm-journal-grid {
  margin-bottom: 3rem;
}

/*--------------------------------------------------------------
# Journal cards
--------------------------------------------------------------*/

.lm-journal-card {
  display: block;
}

.lm-journal-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.lm-journal-card__img-wrap {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 4 / 3;
}

/* Two images side by side */
.lm-journal-card__img-wrap--two {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
}

/* Three images: large left, two stacked right */
.lm-journal-card__img-wrap--three {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 2px;
}
.lm-journal-card__img-wrap--three .lm-journal-card__img:first-child {
  grid-row: 1 / 3;
}

.lm-journal-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lm-journal-card__body {
  padding: 0.75rem 0 0;
}

.lm-journal-card__title {
  font-size: 1rem;
  font-weight: 400;
  margin: 0 0 0.35rem;
  line-height: 1.3;
}

.lm-journal-card__excerpt {
  font-size: 0.8rem;
  opacity: 0.6;
  margin: 0;
  line-height: 1.5;
}

.lm-journal-card__date {
  font-size: 0.75rem;
  opacity: 0.5;
  margin: 0.2rem 0 0.5rem;
  letter-spacing: 0.03em;
}

.lm-journal-card__text {
  font-size: 0.8rem;
  line-height: 1.6;
  opacity: 0.75;
  margin-top: 0.5rem;
}
.lm-journal-card__text p {
  margin: 0 0 0.4em;
}
.lm-journal-card__text p:last-child {
  margin-bottom: 0;
}

/*--------------------------------------------------------------
# Project cards
--------------------------------------------------------------*/

/* Shared card shell */
.lm-project-card {
  display: block;
  margin-bottom: 0;
}

.lm-project-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

/* Caption below images */
.lm-project-card__caption {
  padding: 0.75rem 0 0.25rem;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}


.lm-project-card__caption span {
  display: inline-block;
}

a .lm-project-card__caption {
  color: #000;
  text-decoration: none !important;
  border: 0 !important;
}

.lm-project-card__category {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.6;
}

.lm-project-card__title {
  font-size: 1.1rem;
  font-weight: 500;
}

/* ── Card layout: asymmetric duo ────────────────────────────────
   Odd cards  (1, 3…): small portrait left  (~35%) + large landscape right (~65%)
   Even cards (2, 4…): large landscape left (~65%) + small portrait right  (~35%)
   Images are flex children, same row, no gaps between them.
----------------------------------------------------------------- */
/* ── Single-image fallback ─────────────────────────────────────── */
.lm-project-card__images--single .lm-project-card__img {
  width: 100%;
  height: auto;
  display: block;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */

/* ── Header shell ── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  border-bottom: 1px solid #e8e8e8;
}

.lm-hero__figure {
  margin: 0;
}

.lm-header-inner {
  padding: 0.1rem 0;
}
/* ── Logo / site name ── */

.site-branding {
  margin: 0;
}

.site-branding .custom-logo-link img, .site-branding .custom-logo {
  display: block;
  max-height: 70px;
  width: auto;
}

.site-branding__name {
  font-size: 1.25rem;
  font-weight: 600;
  text-decoration: none;
  color: #111;
  letter-spacing: 0.04em;
}

/* ── Desktop nav items (each a genuine col-1 in the Bootstrap row) ── */
.lm-nav-item {
  align-items: center;
  justify-content: flex-start;
}

.lm-nav-link {
  font-family: "helvetica-neue-lt-pro", sans-serif;
  display: block;
  text-decoration: none;
  font-size: 1rem;
  letter-spacing: 0.04em;
  color: #111;
  transition: color 0.2s ease;
  text-transform: uppercase;
  text-align: left;
  white-space: nowrap;
  width: 100%;
  color: #000 !important;
}

.lm-nav-link:hover,
.lm-nav-link--active {
  color: #555;
}

/* ── Mobile nav panel ── */
.main-navigation {
  border-top: 1px solid #e8e8e8;
}

.main-navigation ul,
.main-navigation > div > ul {
  display: none;
  flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 1rem 0;
}

.main-navigation.toggled ul {
  display: flex;
}

.main-navigation ul li {
  width: 100%;
  padding: 0.5rem 0;
  border-bottom: 1px solid #f0f0f0;
}

.main-navigation ul li:last-child {
  border-bottom: none;
}

.main-navigation a {
  font-family: "helvetica-neue-lt-pro", sans-serif;
  display: block;
  text-decoration: none;
  font-size: 0.9rem;
  letter-spacing: 0.04em;
  color: #111;
  text-transform: uppercase;
}

/* ── Hamburger button ── */
.menu-toggle {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}

.menu-toggle__bar {
  display: block;
  width: 24px;
  height: 2px;
  background: #111;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.lm-page-photos {
  margin: 0 12px;
}

.lm-page-photos__img {
  width: 100%;
}

.lm-page-offset-photo {
  margin: 0 12px;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {  
  padding-left: calc(var(--bs-gutter-x) * .5);
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

.site-footer__logo {
  max-width: 70%;
}
/* Footer badges row — editable cols bottom-aligned */
.site-footer__badges-col-1,
.site-footer__badges-col-2,
.site-footer__badges-col-3 {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.site-footer__col.site-footer__badges-col-1 p,
.site-footer__col.site-footer__badges-col-2 p,
.site-footer__col.site-footer__badges-col-3 p {
  margin: 0;
}

.site-footer__col p {
  margin: 0;
}

/* Footer badge images */
.site-footer__badges {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  align-items: center;
  justify-items: center;
  gap: 1rem;
  margin-top: 0.75rem;
}

.site-footer__badge {
  height: auto;
  width: 100%;
  display: block;
}

footer {
  margin: 50px 12px 20px 12px;
  font-family: "helvetica-neue-lt-pro", sans-serif;
}

footer ul {
  margin: 0;
  padding: 0;
}

footer .menu-item {
  list-style-type: none;
}




@media (max-width: 767.98px) {
  footer ul,
  footer ol {
    margin: 0;
    padding: 0;
  }
}

footer .menu-item a {
  color:#3d3e40;
  text-decoration:none;
}

footer a {
  color:#3d3e40;
  text-decoration:none;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# Projects archive — intro, filter, grid
--------------------------------------------------------------*/

/* Intro text */
.lm-archive-intro {
  margin: 6rem 12px 2rem 12px;
  font-size: 1.1rem;
  max-width: 60ch;
}

/* Category filter nav */
.lm-project-filter {
  margin: 1.5rem 12px 2rem 12px;
  padding: 0.75rem 0;
}

.lm-project-filter__list {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc(100% / 12);
  list-style: none;
  margin: 0;
  padding: 0;
}

.lm-project-filter__item {
  display: flex;
  align-items: center;
}

/* › separator between items */
.lm-project-filter__item:not(:last-child)::after {
  content: '';
  display: inline-block;  
  width: 11px;
  height: 10px;
  margin: 0 0.75rem;
  vertical-align: middle;
  background: url('/wp-content/uploads/2026/03/arrow-small.png') center / contain no-repeat;
}

.lm-project-filter__link {
  text-decoration: none;
  color: #999;
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  transition: color 0.2s;
  font-family: "helvetica-neue-lt-pro", sans-serif;
}

.lm-project-filter__link:hover,
.lm-project-filter__item--active .lm-project-filter__link {
  color: #111;
}

/* Project grid */
.lm-project-grid {
  margin-bottom: 3rem;
}

/* Property card */
.lm-property-card {
  margin-bottom: 0;
}

.lm-property-card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.lm-property-card__figure {
  margin: 0 0 0.5rem;
  overflow: hidden;
}

.lm-property-card__img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.4s ease;
}

.lm-property-card__link:hover .lm-property-card__img {
  transform: scale(1.03);
}

.lm-property-card__category {
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #999;
  margin: 0 0 0.25rem;
}

.lm-property-card__title {
  font-size: 1rem;
  font-weight: 400;
  margin: 0 0 0.5rem;
}

/* Archive gallery — flexbox, strict DOM order, left-to-right wrap */
.lm-archive-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin: 2rem 12px 3rem 12px;
  align-items: flex-start; /* rows don't stretch to equal height */
}

.js-homepage-gallery {
  margin: 2rem 0px 3rem 0px;

}

.lm-archive-gallery__item,
.lm-archive-gallery__spacer {
  box-sizing: border-box;
  flex-shrink: 0;
}

/* Spacer: transparent flex child that pushes the next image right */
.lm-archive-gallery__spacer { display: block; }

/* Gutter sizer: zero-height element whose width Packery reads as the column gutter */
.lm-archive-gallery__gutter-sizer {
  width: 1.5%; /* must match $gutter_pct in PHP */
  height: 0;
  flex-shrink: 0;
}

.lm-archive-gallery__item  { 
  overflow: hidden;
  position: relative;
  margin-bottom: 12px; /* vertical gap between rows — adjust to taste */
}

.lm-archive-gallery__item  { 
  text-decoration: none;
}


.lm-archive-gallery__order {
  position: absolute;
  top: 6px;
  left: 6px;
  z-index: 2;
  background: rgba(0,0,0,0.75);
  color: #fff;
  font-size: 11px;
  line-height: 1.3;
  padding: 4px 8px;
  border-radius: 3px;
  pointer-events: none;
  max-width: calc(100% - 12px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lm-archive-gallery__item a {
  display: block;
  width: 100%;  
  text-decoration: none;
}

.lm-archive-gallery__item img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.5s ease;
}

.lm-archive-gallery__item a:hover img {
  transform: scale(1.03);
}


@media screen and (max-width:1600px) {

  #projects {
  margin: 50px 0 0 0;
}
#about {
  margin: 50px 0 0 0;
}

#people {
  margin: 50px 0 0 0;
}

.lm-archive-gallery {
  margin: 2rem 0 3rem 0;
}

}

@media ( max-width: 767px ) {
  .lm-archive-gallery__item  { width: 100% !important; }
  .lm-archive-gallery__spacer { display: none !important; }
  #projects { margin: 50px 0 0 0; }
  #about    { margin: 50px 0 0 0; }
  #people   { margin: 50px 0 0 0; }
  .lm-archive-gallery { margin: 2rem 0 3rem 0; }
}

/*--------------------------------------------------------------
# Breadcrumb
--------------------------------------------------------------*/

.lm-breadcrumb {
  margin: 1.5rem 12px;
  position: relative;
  z-index: 1;
}

.lm-breadcrumb__list {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: calc(100% / 12);
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.lm-breadcrumb__item {
    font-family: "helvetica-neue-lt-pro", sans-serif;
  display: flex;
  align-items: center;  
  font-size: 0.9rem;
  letter-spacing: 0.02em;
  color: #666;
}

/* Arrow separator after every item except the last */
.lm-breadcrumb__item:not(:last-child)::after {
  content: '';
  display: inline-block;  
  width: 11px;
  height: 10px;
  margin: 0 0.4rem;
  vertical-align: middle;
  background: url('/wp-content/uploads/2026/03/arrow-small.png') center / contain no-repeat;
}

.lm-breadcrumb__item a {
  color: #666;
  text-decoration: none;
}

.lm-breadcrumb__item a:hover {
  text-decoration: underline;
}

.lm-breadcrumb__item--current {
  color: #111;
  font-weight: 500;
}

.lm-breadcrumb__item:nth-child(3) {
  grid-column: span 2;
}

/*--------------------------------------------------------------
# Single project hero
--------------------------------------------------------------*/

.lm-project-hero {
  /* Break out of the Bootstrap .container, capped at 1920px */
  width: min(100vw, 1920px);
  position: relative;
  left: 50%;
  margin-left: calc(min(100vw, 1920px) / -2);
  margin-bottom: 2rem;
  line-height: 0; /* remove inline gap below img */
  display: block; /* ensure it stays in normal flow */
  z-index: 0;
}

.lm-project-hero__img {
  display: block;
  width: 100%;
  height: auto;
}

/*--------------------------------------------------------------
# Single project gallery
--------------------------------------------------------------*/

.lm-project-intro {
  margin: 0 12px;
}

.lm-project-gallery {
  margin: 2rem 12px;
}

.lm-project-gallery .row {
  height: 40vw;        /* scales with viewport width */
  /*max-height: 600px;*/   /* caps out at 600px on wide screens */
  margin-bottom: 1rem;
  height: 100%;
}

.lm-project-gallery [class*="col-"] {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.lm-gallery-fig {
  margin: 0;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.lm-gallery-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
