/* ----------------------------------------
   GLOBAL STYLES
---------------------------------------- */

body, .page {
	background-color: #fff;
	color: #fff;
	margin: 0;
	padding: 0;
}

a:active {
	opacity: initial;
}

.page a.active {
	opacity: 0.4;
}

i, em {
	font-style: italic;
}

b, strong {
	font-weight: bolder;
}

sub, sup {
	position: relative;
	vertical-align: baseline;
}

sub {
	top: 0.3em;
}

sup {
	top: -0.4em;
}

s {
	text-decoration: line-through;
}

ul, ol {
	margin: 0;
	padding-left: 1em;
}

blockquote {
	margin: 0;
	padding-left: 2em;
}

hr {
	background: rgba(255, 255, 255, 0.15);
	border: 0;
	height: 1px;
}

img {
	border: 0;
	padding: 0;
}

.content img {
	float: none;
	margin-bottom: auto;
}

.gallery_image_caption {
	margin: 1.2rem 0 0.5rem;
	font-size: 1.3rem;
	font-weight: 400;
	color: rgba(0, 0, 0, 0.85);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif, Icons;
	line-height: 1.3;
	font-style: normal;
}

/* ----------------------------------------
   LOADING
---------------------------------------- */

.loading[data-loading] {
	position: fixed;
	bottom: 8px;
	left: 8px;
}

/* ----------------------------------------
   TYPOGRAPHY + CONTENT
---------------------------------------- */

[data-predefined-style="true"] bodycopy {
	font-size: 1.7rem;
	color: #000;
	font-family: "Authentic Sans", Icons;
	line-height: 1.8;
	font-weight: 400;
	font-style: normal;
}

[data-predefined-style="true"] bodycopy a {
	border-bottom: 0.075em solid transparent;
	color: #000;
	padding-bottom: 0.1em;
	text-decoration: none;
}

bodycopy a.image-link,
bodycopy a.icon-link {
	border-bottom: 0;
	padding-bottom: 0;
}

[data-predefined-style="true"] h1 {
	font-family: Syne, Icons;
	margin: 0;
	font-size: 3.5rem;
	line-height: 1.3;
	color: #fff;
	font-weight: 700;
}

[data-predefined-style="true"] h1 a {
	color: #000;
	border-bottom: none;
}

[data-predefined-style="true"] h2 {
	font-family: "Monument Grotesk Variable", Icons;
	font-weight: 700;
	font-size: 2.5rem;
	line-height: 1.2;
	margin: 0;
	color: #000;
	font-variation-settings: 'slnt' 0, 'MONO' 0;
}

[data-predefined-style="true"] h2 a {
	color: rgba(0, 0, 0, 0.85);
	border-bottom: none;
}

[data-predefined-style="true"] small {
	font-size: 1rem;
	line-height: 1.7rem;
	font-family: "Authentic Sans", Icons;
	color: #000;
	display: inline-block;
}

[data-predefined-style="true"] small a {
	color: transparent;
	border-bottom: none;
}

/* ----------------------------------------
   LAYOUT & BREAKPOINTS
---------------------------------------- */

[data-css-preset] .page {
	background-color: initial;
}

[data-css-preset].mobile .page,
.mobile .page {
	position: relative;
	min-height: 10px;
	width: 100%;
	background-color: transparent;
}

[data-css-preset] body {
	background-color: #fff;
}

[data-css-preset] .container {
	margin-left: auto;
	margin-right: auto;
    margin-bottom: 0;
	text-align: left;
}

[data-css-preset] .container_width {
	width: 100%;
}

[data-css-preset] .content_padding {
	padding: 2rem !important; /* removed top/bottom padding */
}

[data-css-preset] text-limit {
	display: inline-block;
	max-width: 66rem;
}

/* ----------------------------------------
   THUMBNAILS
---------------------------------------- */

[data-css-preset] .thumbnails {
	background-color: #fff;
    margin-bottom: 0;
    padding-bottom: 0;
}

[data-css-preset] .thumbnails_width {
	width: 75%;
}

[data-css-preset] [thumbnails-pad] {
	padding: 5rem;
}

[data-css-preset] [thumbnails-gutter] {
	margin: -10rem;
}

[data-css-preset] [responsive-layout] [thumbnails-pad] {
	padding: 1.175rem;
}

[data-css-preset] [responsive-layout] [thumbnails-gutter] {
	margin: -2.35rem;
}

.thumbnails .thumb_image {
	outline: 1px solid transparent;
	outline-offset: -1px;
}

.thumbnails .title {
	margin-top: 1rem;
	font-size: 2rem;
	font-weight: 500;
	color: #000;
	font-family: "Authentic Sans", Icons;
	text-align: center;
}

.thumbnails .tags {
 margin-top: 0.5rem;
    margin-bottom: 2rem;
    font-size: 1.1rem;
    font-weight: 300;
    color: rgba(0, 0, 0, 1);
    font-family: "Authentic Sans", Icons; 
    font-style: italic;
    line-height: 1.8rem;  /* ← THIS is the line you want to modify */
    text-align: center;
}

.thumbnails .tags a {
	color: #000;
	text-decoration: none;
	border-bottom: none;
}

.thumbnails .has_title .tags {
	margin-top: 1rem;
}

/* ----------------------------------------
   SITE MENU BUTTON
---------------------------------------- */

[data-css-preset] #site_menu_button {
	color: rgba(153, 0, 255, 1);
	font-size: 36px;
	padding: 6px;
	line-height: 1;
	position: fixed;
	top: 3rem;
	right: 3rem;
	background: transparent;
}

body.mobile #site_menu_button {
	font-size: 34px;
	margin: -6px;
}

#site_menu_button.custom_icon {
	width: 40px;
	height: auto;
}

#site_menu_button.active {
	display: none;
}

/* ----------------------------------------
   SITE MENU PANEL
---------------------------------------- */

#site_menu {
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", Icons;
	background: rgba(255, 255, 255, 0.95);
	font-size: 30px;
	font-weight: 400;
	padding: 20px 30px 90px 30px;
	max-width: 400px;
	min-width: 300px;
	text-align: left;
	display: flex;
	justify-content: flex-start;
}

body.mobile #site_menu {
	width: 100%;
}

#site_menu .page-link a,
#site_menu .set-link > a {
	color: rgba(255, 255, 255, 0.75);
}

#site_menu .set-link > a {
	font-weight: bold;
}

#site_menu a:active {
	opacity: 0.7;
}

#site_menu a.active {
	opacity: 0.4;
}

#site_menu .close {
	display: none;
	color: rgba(255, 255, 255, 0.4);
	line-height: 0.85em;
	font-size: 45px;
}

body.mobile #site_menu .close {
	display: block;
	font-size: 50px;
	line-height: 1em;
}

#site_menu .break {
	height: 28px;
}

#site_menu .indent {
	margin-left: 28px;
}


/* Remove bottom spacing from main containers */
.content, .main, .container, .project_content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Ensure the body has no bottom padding or margin */
body {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Adjust footer spacing if necessary */
footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
}