/* =============================
// FULLSCREEN WHITE OVERLAY
============================= */

#site-loader {
	position: fixed;
	inset: 0;
	background: white;
	z-index: 9999;
	opacity: 1;
	pointer-events: none;
	transition: opacity 0.6s ease;
}

/* After fade-out */
#site-loader.fade-out {
	opacity: 0;
}

/* =========================================
   GLOBAL & TYPOGRAPHY
========================================= */

body {
	background-color: #FAF9F5 !important; /* Header section off-white color */
	overflow-x: hidden; /* Prevent horizontal overflow */
}

body,
h1,
h2 {
	color: #48537a; /* Main text color */
}

h1 { /* 'Sarah Fox' text */
	font-family: "libre-franklin", sans-serif;
	font-weight: 800;
	font-size: 34pt;
}

h2 { /* 'Recent News' and 'Talks & Travel' headers */
	font-family: "libre-franklin", sans-serif;
	font-weight: 800;
	font-size: 11pt;
	text-align: left;
}

a { /* Hyperlinks */
	font-family: "libre-franklin", sans-serif;
	color: steelblue; /* Hyperlink color */
	text-decoration: none; /* No underline on links */

}

p { /* Intro paragraph */
	font-family: "libre-franklin", sans-serif;
	font-weight: 300;
	font-size: 10pt;
}


/* =========================================
   HEADER LAYOUT
========================================= */

.text-container {
	margin-left: 165px;
	text-align: center;
}

/* Decrease spacing at reduced screen sizes */
@media (max-width: 1200px) {
	.text-container {
		margin-left: 45px;
	}
}

@media (max-width: 950px) {
	.text-container {
		margin-left: 0;
		margin-right: 0;
		text-align: center;
		padding: 0 0px;
	}
}

/* Restrict intro paragraph to fraction of page width
	(to avoid overlapping background image) */
.intro {
	width: 40%;
}

/* Expand intro paragraph width as page width decreases
	(background image switches to an embedded image below header) */
@media (max-width: 1200px) {
	.intro {
		width: 50%;
	}
}

@media (max-width: 950px) {
	.intro {
		width: 85%;
	}
}

@media (max-width: 650px) {
	.intro {
		width: 100%;
	}
}

.about {
	text-align: left;
	background-color: #FAF9F5; /* improves visibility over background image */
	padding: 15px;
	margin: 0;
}

#name {
	width: fit-content;
	background-color: #FAF9F5; /* improves visibility over background image */
	text-align: left;
	line-height: 50px;
	padding-right: 10px;
	padding-top: 10px;
	padding-left: 15px;
	padding-bottom: 0px;
	margin-bottom: 0;

}
/* Reduced header text & spacing on mobile */
@media (max-width: 450px) {
	#name {
		font-size: 2.5em;
		padding-right: 0;
	}
}


/* =========================================
   RESPONSIVE BUTTON BAR
========================================= */

.w3-bar { /* Horizontal container for 3 buttons */
	background-color: #FAF9F5;
	width: fit-content;
	display: flex;
	flex-wrap: wrap; /* Buttons switch to column layout on mobile */
	justify-content: left;
	padding-left: 15px;
	padding-top: 10px;
	padding-bottom: 20px;
	padding-right: 0px;
}

.w3-bar .w3-bar-item { /* Individual button styling */
	flex: 1 1 auto;
	width: 148px;
	max-width: 148px;
	min-width: fit-content;
	border: 1px solid #48537a !important;
	text-align: center;
	padding: 9px 15px;
	margin-right: 15px;
}

/* On small screens, buttons stack full-width */
@media (max-width: 630px) {
	.w3-bar .w3-bar-item {
		flex: 1 1 100%;
		max-width: none;
	}

	.w3-bar {
		gap: 15px;
		padding-top: 20px;
		width: 100%;

	}

	.w3-bar-item {
		margin-right: 0;
		width: 100%;

	}
}

/* Button hover styling */
.w3-button:hover {
	color: #000 !important;
	background-color: rgb(241, 241, 241) !important;
}


/* =========================================
   PANEL + BACKGROUND SLIDESHOW
========================================= */

.w3-panel { /* Header section container */
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 110px 16px;
	width: 100%;
	height: 720px;
}

.bg-slideshow { /* 3 Rotating Background Images */
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: top right;
	background-repeat: no-repeat;
	transition: opacity 6s ease-in; /* Duration between image changes */
	z-index: -1;
}
/* Mobile Background Images */
@media (max-width: 950px) {
	.w3-panel {
		height: auto;
		padding: 0 12px !important;
		margin-top: 30px;
		background-image: url("../../images/notextCommunity-mobile.png");
		background-repeat: no-repeat;
		background-size: contain;
		background-position: bottom;
	}
}


/* =========================================
   FOOTER / TWO COLUMN RESPONSIVE LAYOUT
========================================= */

.two-col {
	display: flex;
	gap: 60px;
	justify-content: space-between;
	flex-wrap: wrap; /* Switch to one long column on mobile */
	margin: 0px 0px;
}

@media (max-width: 950px) {
	.two-col {
		justify-content: center; /* Center single, long column at reduced screen width */
	}
}

.col { /* Individual column styling */
	flex: 1 1 300px;
	max-width: 480px;
}
/* Mobile column spacing */
@media (max-width: 600px) {

	.col {
		flex: 1 1 100%;
		max-width: 100%;
		padding: 0 10px;
	}
}
/* Bold text in Recent News section */
.news-bold {
	font-weight: 800;
}
/* Recent News & Talks/Travel body text */
.section-highlights {
	list-style: none;
	padding: 0 20px;
	width: 100%;
	font-family: "libre-franklin", sans-serif;
	font-weight: 300;
	font-size: 10pt;
	color: #48537a;
	text-align: left;
}
/* Reduce spacing on mobile */
@media (max-width: 600px) {

	.section-highlights {

		padding: 0 5px;

	}
}
/* 'Recent Talks' and 'Talks & Travel' headers */
.section-head {
	padding: 0 20px;
}
/* Reduce spacing on mobile */
@media (max-width: 600px) {

	.section-head {

		padding: 0 5px;

	}
}
/* List Item Spacing */
li { 
	margin: 20px 0;
}
/* Footer Container */
.footer-wrapper {
	margin-left: 160px;
	margin-right: 160px;
}
/* Reduce Footer Spacing at Smaller Screen Size */
@media (max-width: 1200px) {
	.footer-wrapper {
		margin-left: 40px;
		margin-right: 40px;
	}
}

@media (max-width:950px) {
	.footer-wrapper {
		margin-left: 25px;
		margin-right: 25px;
	}
}


/* =========================================
   COPYRIGHT
========================================= */

.copyright {
	font-family: "libre-franklin", sans-serif;
	font-weight: 300;
	font-size: 9pt;
	color: #48537a;
	text-align: center;
	margin-top: 45px;
}


/* =========================================
   CONTENT WIDTH
========================================= */

.w3-content { /* Limit content width for readability */
	max-width: 980px;
	margin-left: 0;
	margin-right: auto;
}
/* Adjusted spacing for smaller screens */
@media (max-width: 950px) {
	.w3-content {
		margin: 0 30px;
	}
}

/* Hide mobile slideshow by default */
.mobile-slideshow {
	display: none;
}

/* Mobile: turn off background slideshow & show embedded image */
@media (max-width: 950px) {

	.bg-slideshow {
		display: none !important;
		/* Hide desktop background version */
	}

	.mobile-slideshow {
		display: block; /* Visibility = on */
		width: 100%;
		text-align: center;
		margin: 0px 0px;
	}

	.mobile-slideshow img {
		width: 100%;
		height: auto;
		display: block;
		max-width: 700px;
		margin: 0 0;
		border-radius: 4px;
		transition: opacity 1s ease-in-out;
	}

	/* Remove background-image from w3-panel so it doesn't collide */
	.w3-panel {
		background-image: none !important;
		height: fit-content;
		padding-top: 40px !important;
	}
}