/* Science of Learning layout — adapted from Indicate theme */

@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;600&display=swap");

body {
	background: #ffffff url("../images/sol/background.jpg") center top no-repeat;
	background-attachment: scroll;
	color: #3e3939;
}

a {
	color: #378cc6;
	text-decoration: none;
}

a:hover,
a:focus {
	color: #1d699a;
	text-decoration: underline;
}

/* Constrained site shell (960px like original) */
.sol-container {
	max-width: 960px !important;
	width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
}

.sol-container > .wp-block-group,
.sol-container.wp-block-group {
	max-width: 960px;
}

/* Header banner */
#header.sol-header,
.sol-header {
	margin-top: 15px;
	padding: 25px 0 20px;
	background: url("../images/sol/header-bg.png") center top no-repeat;
	background-size: 100% 100%;
	min-height: 150px;
	box-sizing: border-box;
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

#header .logo {
	float: left;
	margin-left: 0;
	flex: 1 1 auto;
}

#header .header-right {
	float: right;
	flex: 0 0 auto;
	padding-left: 120px;
}

.sol-header .wp-block-site-logo img,
.sol-header .custom-logo,
.sol-header .sol-header-banner {
	max-width: 100%;
	width: 100%;
	max-height: none;
	height: auto;
	display: block;
}

.sol-header .logo,
.sol-header .custom-logo-link {
	display: block;
	width: 100%;
	line-height: 0;
}

/* Hide text title when a custom logo is present (banner logo) */
.sol-header:has(.wp-block-site-logo img) .wp-block-site-title,
.sol-header:has(.custom-logo-link img) .wp-block-site-title {
	display: none;
}

.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;
	width: 1px;
	word-wrap: normal !important;
}

.sol-header .wp-block-site-title a {
	color: #ffffff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2rem;
	font-weight: 700;
	text-decoration: none;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

.sol-header .wp-block-site-tagline {
	color: #f0e6ff;
	font-size: 0.875rem;
}

.sol-header-social {
	padding-top: 10px;
	margin-right: 15px;
}

.sol-header-social p {
	margin: 0;
	line-height: 1;
}

.sol-header-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin-left: 6px;
	border-radius: 3px;
	color: #fff !important;
	text-decoration: none !important;
	font-size: 0;
	line-height: 1;
	vertical-align: middle;
	position: relative;
}

/* Image icons (rss.png / email.png) — no ::before glyphs, no br */
.sol-header-social a.sol-rss,
.sol-header-social a.sol-mail,
#top-social-profiles a {
	background: transparent !important;
	width: auto;
	height: auto;
	padding: 0;
	font-size: 0;
	line-height: 0;
}

.sol-header-social a.sol-rss::before,
.sol-header-social a.sol-mail::before,
#top-social-profiles a::before {
	content: none !important;
	display: none !important;
}

.sol-header-social a img,
#top-social-profiles a img {
	display: inline-block;
	vertical-align: middle;
	width: 28px;
	height: 28px;
	margin: 0;
	padding: 0;
	border: 0;
}

.sol-header-social a:hover,
#top-social-profiles a:hover {
	opacity: 0.85;
}

.sol-header-social br,
#top-social-profiles br {
	display: none !important;
}

/* Primary navigation — dark bar (classic WP menu + block nav) */
.sol-nav {
	background: #2a2a2a url("../images/sol/menu-primary-bg.png") left top repeat-x;
	background-color: #2c2c2c;
	min-height: 36px;
	z-index: 400;
	position: relative;
	width: 100%;
}

.sol-nav .menu-primary-container,
.sol-nav nav {
	position: relative;
	height: 36px;
	z-index: 400;
}

.sol-nav .menus,
.sol-nav .menu-primary,
.sol-nav ul.menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.sol-nav .menus li,
.sol-nav .menu-primary li,
.sol-nav ul.menu li {
	list-style: none;
	margin: 0;
	padding: 0;
	position: relative;
}

.sol-nav .menus li a,
.sol-nav .menu-primary li a,
.sol-nav ul.menu li a {
	color: #ffffff !important;
	font-family: Arial, sans-serif;
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 11px 15px !important;
	text-decoration: none !important;
	display: block;
	line-height: 1.2;
	white-space: nowrap;
}

.sol-nav .menus li a:hover,
.sol-nav .menus li:hover > a,
.sol-nav .menus li.current-menu-item > a,
.sol-nav .menus li.current_page_item > a,
.sol-nav .menus li.current-menu-ancestor > a,
.sol-nav .menu-primary li a:hover,
.sol-nav .menu-primary li:hover > a,
.sol-nav .menu-primary li.current-menu-item > a,
.sol-nav .menu-primary li.current_page_item > a,
.sol-nav .menu-primary li.current-menu-ancestor > a {
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff !important;
	background: url(../../images/menu-primary-bg.png) left -134px repeat-x;
}

/* Dropdowns */
.sol-nav .menus li ul,
.sol-nav .menu-primary li ul,
.sol-nav ul.menu li ul {
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	min-width: 180px;
	background: #3c83b3;
	z-index: 500;
	flex-direction: column;
	box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.25);
	padding-left: 0;
}

.sol-nav .menus li:hover > ul,
.sol-nav .menu-primary li:hover > ul,
.sol-nav ul.menu li:hover > ul {
	display: block;
}

.sol-nav .menus li li a,
.sol-nav .menu-primary li li a,
.sol-nav ul.menu li li a {
	text-transform: none;
	font-family: Arial, Helvetica, sans-serif;
	padding: 10px 15px !important;
	background: #3c83b3;
	white-space: normal;
}

.sol-nav .menus li li a:hover,
.sol-nav .menu-primary li li a:hover {
	background: #499bcf !important;
}

.sol-nav .menus li li ul,
.sol-nav .menu-primary li li ul {
	left: 100%;
	top: 0;
}

/* Block navigation fallback styles */
.sol-nav .wp-block-navigation {
	gap: 0;
}

.sol-nav .wp-block-navigation-item__content {
	color: #ffffff !important;
	font-family: "Oswald", Arial, sans-serif;
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	padding: 11px 15px !important;
	text-decoration: none !important;
}

.sol-nav .wp-block-navigation-item__content:hover,
.sol-nav .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content,
.sol-nav .wp-block-navigation-item.current-menu-ancestor > .wp-block-navigation-item__content {
	background: rgba(255, 255, 255, 0.12);
	color: #ffffff !important;
}

.sol-nav .wp-block-navigation__submenu-container {
	background: #3c83b3 !important;
	border: none !important;
	box-shadow: 2px 2px 6px rgba(0, 0, 0, 0.25);
}

.sol-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: #fff !important;
	text-transform: none;
	padding: 10px 15px !important;
	font-family: Arial, Helvetica, sans-serif;
}

.sol-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: #499bcf !important;
}

.sol-nav .wp-block-navigation__responsive-container-open svg {
	fill: #fff;
}

/* Main two-column area */
.sol-main {
	background: #ffffff;
	padding: 15px 0 30px;
	margin-top: 1rem;
}

.sol-content {
	flex: 1 1 0;
	min-width: 0;
	max-width: 620px;
}

.sol-sidebar {
	flex: 0 0 300px;
	width: 300px;
	max-width: 300px;
	margin-left: 15px;
	padding-left: 12px;
	border-left: 1px solid #e9ebe8;
	box-sizing: border-box;
}

/* Sidebar widget styling */
.sol-sidebar .wp-block-heading,
.sol-sidebar h2,
.sol-sidebar h3,
.sol-widget-title {
	background: #484e53;
	color: #ffffff !important;
	margin: 0 0 10px 0 !important;
	padding: 10px !important;
	border-radius: 5px 5px 0 0;
	font-family: "Oswald", Arial, sans-serif !important;
	font-size: 16px !important;
	line-height: 1.2 !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.sol-sidebar .wp-block-group.sol-widget {
	margin-bottom: 18px;
}

.sol-sidebar ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sol-sidebar ul li {
	padding: 0 0 9px 12px;
	margin: 0 0 8px 0;
	background: url("../images/sol/widget-list.png") left 4px no-repeat;
	border-bottom: 1px dashed #c6c6c6;
	font-size: 13px;
	color: #666;
	line-height: 1.4;
}

.sol-sidebar ul li a {
	color: #666;
	text-decoration: none;
}

.sol-sidebar ul li a:hover {
	color: #1a5984;
}

.sol-sidebar .wp-block-latest-posts__list li,
.sol-sidebar .wp-block-categories-list li,
.sol-sidebar .wp-block-page-list li {
	padding: 0 0 9px 12px;
	margin: 0 0 8px 0;
	background: url("../images/sol/widget-list.png") left 4px no-repeat;
	border-bottom: 1px dashed #c6c6c6;
}

/* Content / posts */
.sol-content .wp-block-post-title,
.sol-content h1.wp-block-post-title {
	color: #292424;
	font-family: Arial, "Oswald", sans-serif;
	font-size: 24px;
	line-height: 1.2;
	font-weight: 400;
	margin: 0 0 10px;
	padding: 10px 0;
}

.sol-content .wp-block-post-title a {
	color: #292424;
	text-decoration: none;
}

.sol-content .wp-block-post-title a:hover {
	color: #236e9e;
}

.sol-content .entry-content,
.sol-content .wp-block-post-content {
	line-height: 1.5;
	font-size: 14px;
	color: #3e3939;
}

.sol-page-title {
	color: #292424;
	margin: 0 0 10px;
	padding: 0 0 10px;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 20px;
	font-family: Arial, Helvetica, sans-serif;
	border-bottom: 2px solid #292424;
}

/* Footer */
.sol-footer {
	background: #f5f5f5 url("../images/sol/footer-bg.png") left top repeat-x;
	padding: 18px 0 24px;
	border-top: 1px solid #e0e0e0;
	font-size: 12px;
	color: #333;
	text-align: center;
}

.sol-footer a {
	color: #000;
	text-decoration: none;
}

.sol-footer a:hover {
	text-decoration: underline;
}

/* Columns gap reset for main layout */
.sol-main-columns {
	display: flex !important;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 0 !important;
	max-width: 960px;
	margin: 0 auto;
	padding: 0 0 0 0;
}

.sol-main-columns > .sol-content {
	flex: 1 1 auto;
	width: auto;
}

.sol-main-columns > .sol-sidebar {
	flex: 0 0 300px;
}

/* Featured image grid tweaks */
.sol-content img {
	max-width: 100%;
	height: auto;
}

/* Responsive */
@media screen and (max-width: 980px) {
	.sol-container,
	.sol-main-columns {
		max-width: 100% !important;
		padding-left: 12px;
		padding-right: 12px;
		box-sizing: border-box;
	}

	.sol-main-columns {
		flex-wrap: wrap !important;
	}

	.sol-content {
		max-width: 100%;
		flex: 1 1 100%;
	}

	.sol-sidebar {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-top: 24px;
		padding-left: 0;
		border-left: none;
		border-top: 1px solid #e9ebe8;
		padding-top: 16px;
	}

	.sol-header {
		background-size: cover;
		min-height: 100px;
		padding: 15px 12px;
	}
}

@media screen and (max-width: 600px) {
	.sol-nav .wp-block-navigation-item__content {
		padding: 10px 10px !important;
		font-size: 11px;
	}
}

/* ==========================================================================
   Indicate post / page / event styles (ported)
   ========================================================================== */

.sol-content .post,
.sol-content .posts-in-post .post {
	margin-bottom: 15px;
	border-bottom: 1px solid #e9ebe8;
	padding-bottom: 10px;
	overflow: hidden;
}

.sol-content .post.page,
.sol-content .post-single {
	border-bottom: 0;
	margin-bottom: 0;
}

.sol-content .title,
.sol-content h2.title {
	color: #292424;
	margin: 0 0 10px 0;
	padding-top: 10px;
	padding-bottom: 10px;
	font-family: Arial, "Oswald", sans-serif;
	font-size: 24px;
	line-height: 1.2;
	font-weight: normal;
}

.sol-content .title a {
	color: #292424;
	text-decoration: none;
}

.sol-content .title a:hover {
	color: #236e9e;
}

.sol-content .entry {
	line-height: 20px;
	font-size: 13px;
}

.sol-content .featured_image,
.sol-content .featured-image-container img {
	padding: 6px;
	border: 1px solid #d2d9ce;
	background: #fff;
	box-sizing: border-box;
}

.sol-content .featured-image-container {
	overflow: hidden;
	margin-bottom: 15px;
}

.sol-content .featured-image-container img {
	max-width: 100%;
	height: auto;
}

.postmeta-primary,
.postmeta-secondary {
	color: #999;
	font-size: 12px;
	line-height: 18px;
	padding: 0 0 10px 0;
}

.postmeta-primary span,
.postmeta-secondary span {
	padding: 3px 0 3px 10px;
}

.postmeta-primary span:first-child,
.postmeta-secondary span:first-child {
	padding-left: 0;
}

.pre-title,
.post-title-meta,
.posts-widgetpretitle,
.posts-widgetposttitle,
.event-series {
	color: #666;
	font-size: 14px;
	font-weight: normal;
	margin: 4px 0;
	line-height: 1.3;
}

.pre-title a,
.post-title-meta a,
.posts-widgetpretitle a,
.posts-widgetposttitle a {
	color: #666;
	text-decoration: none;
}

.event-series {
	color: #378cc6;
	font-style: italic;
}

/* Event pseudo-tags from Indicate content */
.sol-content .date,
.sol-content .time,
.sol-content .venue,
.sol-content .speaker,
.sol-content .chair,
.sol-content .respondent {
	margin: 4px 0 8px;
	padding-left: 0;
	line-height: 1.4;
	font-size: 13px;
}

.sol-content .date::before {
	content: "Date: ";
	font-weight: bold;
}

.sol-content .time::before {
	content: "Time: ";
	font-weight: bold;
}

.sol-content .venue::before {
	content: "Venue: ";
	font-weight: bold;
}

.sol-content .speaker::before {
	content: "Speaker: ";
	font-weight: bold;
}

.sol-content .chair::before {
	content: "Chair: ";
	font-weight: bold;
}

.sol-content .respondent::before {
	content: "Respondent: ";
	font-weight: bold;
}

.sol-content .affiliation {
	font-style: italic;
	color: #666;
}

.readmore {
	margin-bottom: 15px;
	float: right;
	clear: both;
}

.readmore a,
.wp-block-post-excerpt__more-link {
	color: #fff !important;
	background: #2b2f32;
	padding: 8px 14px;
	font-size: 12px;
	line-height: 12px;
	display: inline-block;
	text-decoration: none !important;
	text-transform: uppercase;
	margin-top: 8px;
}

.readmore a:hover,
.wp-block-post-excerpt__more-link:hover {
	color: #fff !important;
	background: #5695c0;
	text-decoration: none !important;
}

.wp-block-post-excerpt__more-text {
	float: right;
	clear: both;
	margin-bottom: 15px;
}

.sol-related-title.widgettitle {
	background: #484e53;
	color: #fff;
	margin: 20px 0 10px;
	padding: 10px;
	border-radius: 5px 5px 0 0;
	font-family: "Oswald", Arial, sans-serif;
	font-size: 16px;
	text-transform: uppercase;
	font-weight: normal;
}

.clearfix::after {
	content: "\0020";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
	overflow: hidden;
}

/* Featured posts slider (Indicate .fp-*) */
.fp-slider {
	margin: 0 0 15px 0;
	position: relative;
}

.fp-slides,
.fp-thumbnail,
.fp-prev-next,
.fp-nav {
	width: 100%;
	max-width: 620px;
}

.fp-slides,
.fp-thumbnail {
	height: 314px;
	overflow: hidden;
	position: relative;
	background: #111;
}

.fp-slide {
	display: none;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.fp-slide.is-active {
	display: block;
	position: relative;
}

.fp-thumbnail img {
	width: 100%;
	height: 314px;
	object-fit: cover;
	display: block;
}

.fp-placeholder {
	width: 100%;
	height: 314px;
	background: #333;
}

.fp-title {
	font-family: Arial, Helvetica, sans-serif;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	padding: 0 0 2px 0;
	margin: 0;
}

.fp-title a,
.fp-title a:hover {
	color: #fff;
	text-decoration: none;
}

.fp-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: #111;
	padding: 10px 15px;
	overflow: hidden;
}

.fp-content p {
	color: #fff;
	padding: 0;
	margin: 0;
	line-height: 18px;
	font-size: 13px;
}

.fp-nav {
	height: 12px;
	text-align: center;
	padding: 10px 0;
	background: #333;
	position: relative;
    top: -15px;
}

.fp-pager a {
	background-image: url("../images/sol/featured-pager.png");
	cursor: pointer;
	margin: 0 8px 0 0;
	padding: 0;
	display: inline-block;
	width: 12px;
	height: 12px;
	overflow: hidden;
	text-indent: -999px;
	background-position: 0 0;
	line-height: 1;
	opacity: 0.7;
}

.fp-pager a:hover,
.fp-pager a.activeSlide {
	text-decoration: none;
	background-position: 0 -112px;
	opacity: 1;
}

.fp-prev-next-wrap {
	position: relative;
	z-index: 200;
}

.fp-prev-next {
	position: absolute;
	bottom: 130px;
	left: 0;
	right: 0;
	height: 37px;
	max-width: 620px;
	pointer-events: none;
}

.fp-prev,
.fp-next {
	pointer-events: auto;
	display: block;
	width: 37px;
	height: 37px;
	opacity: 0.6;
	text-decoration: none;
}

.fp-prev {
	float: left;
	margin-left: 14px;
	background: url("../images/sol/featured-prev.png") left top no-repeat;
}

.fp-next {
	float: right;
	margin-right: 14px;
	background: url("../images/sol/featured-next.png") right top no-repeat;
}

.fp-prev:hover,
.fp-next:hover {
	opacity: 0.85;
}

/* Pagination */
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers {
	text-decoration: none;
	padding: 5px 8px;
	margin: 2px;
	font-size: 15px;
	line-height: 15px;
	color: #333;
}

.wp-block-query-pagination .page-numbers.current {
	font-weight: bold;
	color: #fff;
	background: #5695c0;
}

.wp-block-query-pagination a:hover {
	color: #fff;
	background: #2b2f32;
}

/* Classic widget containers in block sidebar */
.sol-sidebar .widget,
.sol-sidebar .sol-widget,
.sol-sidebar-inner .widget {
	list-style: none;
	margin: 0 0 15px 0;
	padding: 0;
	color: #666;
	font-size: 13px;
}

.sol-sidebar .widget a,
.sol-sidebar-inner .widget a {
	color: #666;
	text-decoration: none;
}

.sol-sidebar .widget a:hover,
.sol-sidebar-inner .widget a:hover {
	color: #1a5984;
}

.sol-sidebar-inner .widgettitle,
.sol-sidebar-inner .sol-widget-title {
	background: #484e53;
	color: #ffffff !important;
	margin: 0 0 10px 0 !important;
	padding: 10px !important;
	border-radius: 5px 5px 0 0;
	font-family: "Oswald", Arial, sans-serif !important;
	font-size: 16px !important;
	line-height: 1.2 !important;
	font-weight: 400 !important;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.sol-sidebar-inner ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.sol-sidebar-inner ul li {
	padding: 0 0 9px 12px;
	margin: 0 0 8px 0;
	background: url("../images/sol/widget-list.png") left 4px no-repeat;
	border-bottom: 1px dashed #c6c6c6;
	font-size: 13px;
	color: #666;
	line-height: 1.4;
}

.posts-widget-featured-image {
	float: left;
	margin: 0 8px 8px 0;
}

@media screen and (max-width: 980px) {
	.fp-slides,
	.fp-thumbnail,
	.fp-prev-next,
	.fp-nav {
		max-width: 100%;
	}

	.fp-slides,
	.fp-thumbnail,
	.fp-thumbnail img,
	.fp-placeholder {
		height: 220px;
	}

	.fp-prev-next {
		bottom: 100px;
	}
}
