/*
 * Horizon theme for SMF 2.1 - main stylesheet.
 * Loaded after the default theme index.css (order 100) and before responsive.css.
 * Original 2.0 design: Bikken / DzinerStudio. Opticraft customisations kept.
 *
 * Fonts: Ubuntu (Ubuntu Font Licence 1.0), self-hosted from ../fonts/ (was fonts.googleapis.com).
 */

@font-face {
	font-family: 'Ubuntu';
	font-style: italic;
	font-weight: 300;
	font-display: swap;
	src: url(../fonts/ubuntu-300-italic-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Ubuntu';
	font-style: italic;
	font-weight: 300;
	font-display: swap;
	src: url(../fonts/ubuntu-300-italic-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Ubuntu';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url(../fonts/ubuntu-400-italic-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Ubuntu';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url(../fonts/ubuntu-400-italic-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Ubuntu';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url(../fonts/ubuntu-300-normal-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Ubuntu';
	font-style: normal;
	font-weight: 300;
	font-display: swap;
	src: url(../fonts/ubuntu-300-normal-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Ubuntu';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(../fonts/ubuntu-400-normal-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Ubuntu';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url(../fonts/ubuntu-400-normal-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: 'Ubuntu';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(../fonts/ubuntu-500-normal-latin-ext.woff2) format('woff2');
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: 'Ubuntu';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url(../fonts/ubuntu-500-normal-latin.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   Layout
   ========================================================================== */
.wrapper {
	margin: 0 auto;
	width: 78%;
}
html {
	background: #f0f0f0;
}
body {
	background: #e8e8e8;
	font: 300 13px/22px "Ubuntu", "Arial", "Helvetica", sans-serif;
	color: #5b5b5b;
}
td, th, tr {
	color: #5b5b5b;
}
input, button, select, textarea, .button {
	font-family: "Ubuntu", "Arial", "Helvetica", sans-serif;
}

/* Normal, standard links. */
a:link, a:visited {
	color: #6594a0;
	text-decoration: none;
}
a:hover {
	color: #588793;
	text-decoration: underline;
}
a {
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
}

/* Headings and type */
h1, h2, h3, h4, h5, h6 {
	color: #42464e;
}
b, strong, .strong {
	font-weight: 500;
}
.bold_text {
	font-weight: 500;
}
.horizon_logo_text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Form controls */
input, button, select, textarea {
	background: #fff;
	border: 1px solid #d7d7d7;
	border-radius: 0;
	box-shadow: none;
	color: #5b5b5b;
	font-size: 13px;
	font-weight: 300;
}
input:hover, textarea:hover, button:hover, select:hover {
	border-color: #bababa;
}
input:focus, textarea:focus, button:focus, select:focus {
	border-color: #42464e;
}
input[type="checkbox"], input[type="radio"] {
	border: none;
	background: none;
}
input[disabled], textarea[disabled], select[disabled] {
	background-color: #eee;
}
hr {
	background: #e4e4e4;
	box-shadow: none;
	height: 1px;
}
fieldset {
	border: 1px solid #c4c4c4;
}
fieldset legend {
	color: #444;
	font-weight: 500;
}

/* ==========================================================================
   Topbar
   ========================================================================== */
#topbar {
	background: #f0f0f0;
	padding: 10px 0;
	position: relative;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
	z-index: 10;
}
#topbar .wrapper {
	display: flow-root;
}
#horizon-time {
	float: left;
	line-height: 28px;
	border: 1px solid #dedede;
	border-radius: 15px;
	padding: 0 10px;
	color: #314051;
	background: #fff;
}
#account {
	float: right;
}
#account #top_info {
	padding: 0;
	line-height: 30px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 0 10px;
}
#account #top_info > li {
	margin: 0;
	padding: 0;
	font-size: 13px;
	line-height: 30px;
	position: relative;
}
#account #top_info > li > a {
	display: inline-block;
	padding: 0 4px;
	border: none;
	border-radius: 15px;
	text-transform: uppercase;
	color: #6594a0;
	background: none;
	box-shadow: none;
	text-shadow: none;
	font-weight: 400;
}
#account #top_info > li > a:hover,
#account #top_info > li > a:focus,
#account #top_info > li > a.open {
	color: #42464e;
	background: none;
	border: none;
	box-shadow: none;
	text-shadow: none;
	text-decoration: none;
}
#account #top_info > li > a.active {
	color: #f86c01;
	background: none;
	border: none;
	text-shadow: none;
}
/* Avatar + "Hi <name>" */
#account #top_info > li.greeting > a {
	text-transform: none;
	color: #5b5b5b;
	padding: 0;
}
#account #top_info > li.greeting .horizon_username {
	font-weight: 500;
	color: #42464e;
}
#profile_menu_top > img.avatar,
#account li.greeting img.avatar {
	display: inline-block;
	float: none;
	width: 30px;
	height: 30px;
	margin: 0 8px 0 0;
	border-radius: 30px;
	object-fit: cover;
	vertical-align: middle;
}
#profile_menu_top::after {
	content: " \25BE";
	color: #bababa;
}
#account .amt {
	background: #ec7175;
	color: #fff;
	border-radius: 15px;
	font-weight: 500;
}
/* Pill buttons: Log in / Register / Log out */
#account #top_info > li.btn-login > a,
#account #top_info > li.btn-logout > a,
#account #top_info > li.btn-signup > a {
	position: relative;
	padding: 0 15px 0 35px;
	color: #bababa;
	font-size: 14px;
	font-weight: 400;
	border-radius: 15px;
	background: #2a2a2a;
	text-decoration: none;
}
#account #top_info > li.btn-login > a::before,
#account #top_info > li.btn-logout > a::before,
#account #top_info > li.btn-signup > a::before {
	content: "";
	position: absolute;
	display: block;
	height: 22px;
	width: 22px;
	border-radius: 22px;
	background-color: #707786;
	top: 4px;
	left: 4px;
}
#account #top_info > li.btn-login > a:hover,
#account #top_info > li.btn-logout > a:hover,
#account #top_info > li.btn-login > a:focus,
#account #top_info > li.btn-logout > a:focus {
	color: #fff;
	background: #2a2a2a;
}
#account #top_info > li.btn-signup > a {
	background: #6e9ba7;
	color: #fff;
}
#account #top_info > li.btn-signup > a::before {
	background-color: #91b3bb;
}
#account #top_info > li.btn-signup > a:hover,
#account #top_info > li.btn-signup > a:focus {
	color: #2a2a2a;
	background: #6e9ba7;
}
/* Popups (profile / PMs / alerts) open towards the left from the right-hand topbar. */
#account #top_info .top_menu {
	left: auto;
	right: 0;
	top: 100%;
	margin-top: 6px;
	border: none;
	border-top: 2px solid #f86c01;
	border-radius: 0 0 15px 15px;
	box-shadow: 0 3px 12px rgba(0, 0, 0, 0.35);
	text-align: left;
	line-height: 1.5em;
	text-transform: none;
	z-index: 100;
}
#account #top_info .top_menu a {
	text-transform: none;
}
#languages_form {
	margin: 0 10px 0 0;
	padding: 0;
}
#languages_form select {
	margin: 0;
	border-radius: 15px;
}

/* ==========================================================================
   Header: logo, menu bar, toolbar, notices
   ========================================================================== */
#header {
	display: block;
	position: relative;
	max-width: none;
	width: auto;
	margin: 0;
	padding: 0;
	background: #eae8e9 url(../images/custom/header-bg.jpg) no-repeat 50% 0 / cover;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
	z-index: 5;
}
#header::after {
	display: none;
}
h1.forumtitle {
	font-size: 1em;
	padding: 15px 0;
	margin: 0;
	font-family: inherit;
	text-align: center;
}
h1.forumtitle a {
	display: block;
	width: 582px;
	max-width: 100%;
	height: auto;
	aspect-ratio: 582 / 120;
	margin: 0 auto;
	background: url(../images/custom/opticraft_logo.png) no-repeat 50% 50% / contain;
	text-shadow: none;
}
h1.forumtitle a:hover,
h1.forumtitle a:focus {
	background-image: url(../images/custom/opticraft_logo_hover.png);
}
/* A logo set in the theme settings replaces the built-in one. */
h1.forumtitle a.custom_logo,
h1.forumtitle a.custom_logo:hover {
	background: none;
	aspect-ratio: auto;
	width: auto;
	display: inline-block;
}
h1.forumtitle a.custom_logo img {
	max-width: 100%;
	height: auto;
}

/* The menu bar */
#navbar {
	min-height: 30px;
	padding: 17px 8px;
	background-color: #2a2a2a;
	position: relative;
	z-index: 20;
}
#main_menu {
	margin: 0;
}
#main_menu .popup_window {
	background: none;
	border: none;
	box-shadow: none;
	padding: 0;
}
#topnav {
	display: flex;
	flex-wrap: wrap;
	gap: 5px 0;
	line-height: 30px;
}
#topnav > li {
	margin: 0 5px;
	padding: 0 0 5px;
	margin-bottom: -5px;
	font-size: 14px;
	line-height: 30px;
	position: relative;
}
#topnav > li > a {
	display: block;
	font-weight: 400;
	font-size: 14px;
	line-height: 30px;
	padding: 0 10px;
	text-transform: uppercase;
	color: #bababa;
	border: none;
	border-radius: 15px;
	background: none;
	box-shadow: none;
	text-shadow: none;
}
/* Horizon's menu is text-only on desktop: hide the 2.1 / mod (e.g. Light Portal) menu icons. */
#topnav > li > a > .main_icons,
#topnav > li > a > i,
#topnav > li > a > img,
#topnav > li > a > svg {
	display: none;
}
#topnav > li > a.active,
#topnav > li:hover > a,
#topnav > li > a:focus,
#topnav > li.sfHover > a {
	background: #f86c01;
	border: none;
	color: #fff;
	box-shadow: none;
	text-shadow: none;
	text-decoration: none;
	font-weight: 400;
}
#topnav > li > a.active::before {
	content: "";
	position: absolute;
	display: block;
	height: 14px;
	width: 14px;
	bottom: -19px;
	left: 50%;
	margin-left: -7px;
	transform: rotate(45deg);
	background: #555960;
	pointer-events: none;
}
#topnav > li > a .amt,
#topnav li .active .amt {
	background: #ec7175;
	color: #fff;
}
#topnav li ul {
	min-width: 200px;
	padding: 18px 0;
	margin-top: 0;
	top: 35px;
	left: 0;
	background: #2a2a2a;
	border: none;
	border-radius: 15px;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.4);
	z-index: 1000;
}
#topnav li li {
	width: 200px;
	padding: 0;
	margin: 0;
	border: none;
}
#topnav li li a,
#topnav li:hover li a {
	display: block;
	padding: 0 15px;
	font-size: 14px;
	line-height: 30px;
	color: #fff;
	font-weight: 300;
	border: none;
	background: none;
}
#topnav li li:hover > a,
#topnav li li a:focus,
#topnav li li a:hover {
	color: #f86c01;
	border: none;
	background: none;
}
#topnav li ul ul {
	margin: 0;
	top: 0 !important;
	left: 200px !important;
	border-radius: 15px;
}
#topnav li:hover ul ul,
#topnav li ul ul {
	left: -9999px !important;
}
#topnav li li:hover ul {
	left: 185px !important;
	top: -18px !important;
}
#topnav li li.subsections > a::after {
	color: #bababa;
}
a.mobile_user_menu {
	color: #bababa;
	text-transform: uppercase;
	font-weight: 400;
	font-size: 14px;
	text-decoration: none;
}

/* The toolbar: quick links, social icons, search */
#toolbar {
	min-height: 52px;
	background-color: #555960;
	border-top: 2px solid #f86c01;
	padding: 0 15px;
	display: flow-root;
}
#quicknav {
	float: left;
	line-height: 28px;
	margin-top: 11px;
}
#quicknav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 0;
}
#quicknav li {
	margin-left: 12px;
	list-style: none;
}
#quicknav li.social {
	margin-left: 5px;
}
#quicknav li:first-child {
	margin-left: 0;
}
#quicknav li a {
	display: inline-block;
	color: #fff;
	text-decoration: none;
	border: 1px solid #fff;
	padding: 0 10px;
	border-radius: 15px;
}
#quicknav li a .hfa {
	padding-right: 5px;
}
#quicknav li.social a {
	background: #e9e9e9 url(../images/custom/social-icons.png) 50% 50% no-repeat;
	width: 30px;
	height: 30px;
	border-radius: 30px;
	padding: 0;
	border: none;
	overflow: hidden;
	vertical-align: top;
}
#quicknav li.social a span {
	display: block;
	text-indent: -9999px;
}
#quicknav a:hover,
#quicknav a:focus {
	color: #bababa;
	border-color: #bababa;
}
#quicknav li.social a:hover,
#quicknav li.social a:focus {
	background-color: #bababa;
}
#quicknav li.facebook a { background-position: 0 0; }
#quicknav li.twitter a { background-position: 0 -35px; }
#quicknav li.googleplus a { background-position: 0 -70px; }
#quicknav li.dribble a { background-position: 0 -105px; }
#quicknav li.flickr a { background-position: 0 -140px; }
#quicknav li.youtube a { background-position: 0 -175px; }
#quicknav li.pinterest a { background-position: 0 -210px; }
#quicknav li.rss a { background-position: 0 -245px; }
#quicknav li.tumblr a { background-position: 0 -280px; }
#quicknav li.instagram a { background-position: 0 -315px; }
#quicknav li.digg a { background-position: 0 -350px; }
#quicknav li.linkedin a { background-position: 0 -385px; }
#quicknav li.stumbleupon a { background-position: 0 -420px; }
#quicknav li.vimeo a { background-position: 0 -455px; }
#quicknav li.behance a { background-position: 0 -490px; }
#quicknav li.skype a { background-position: 0 -525px; }
#quicknav li.delicious a { background-position: 0 -560px; }
#quicknav li.blogger a { background-position: 0 -595px; }

#search {
	float: right;
	position: relative;
	background: #2a2a2a;
	border-radius: 15px;
	margin: 11px 0;
}
#search #search_form {
	padding: 0;
	margin: 0;
	display: block;
}
#search input {
	background: none;
	border: none;
	outline: none;
	padding: 0;
	margin: 0;
	box-shadow: none;
	height: 30px;
	line-height: 30px;
}
#search input[type="search"] {
	box-sizing: content-box;
	width: 80px;
	padding: 0 35px 0 15px;
	transition: width 0.2s ease-in 0s;
	color: #fff;
	-webkit-appearance: none;
	appearance: none;
}
#search input[type="search"]::placeholder {
	color: #bababa;
	opacity: 1;
}
#search input[type="search"]:focus {
	width: 160px;
}
#search input[type="submit"] {
	position: absolute;
	display: block;
	height: 22px;
	width: 22px;
	border-radius: 22px;
	background: #fff url(../images/icons/main_icons_sprite.png) no-repeat -28px -2px / 260px auto;
	top: 4px;
	right: 4px;
	cursor: pointer;
}
#search input[type="submit"]:hover,
#search input[type="submit"]:focus {
	background-color: #bababa;
}

/* Notices below the toolbar (maintenance, member approvals, reports) and the random news line */
#board-notice {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	min-height: 44px;
	line-height: 44px;
}
#board-notice .news {
	display: flex;
	gap: 0 6px;
	color: #3b3f47;
	line-height: 1.5em;
	padding: 6px 0;
}
#board-notice .news h2 {
	font-size: 1em;
	font-weight: 500;
}
#board-notice .notices {
	margin-left: auto;
	text-align: right;
}
#board-notice .notices > a,
#board-notice .notices > strong {
	margin-left: 15px;
	color: #3b3f47;
	text-decoration: none;
}
#board-notice .notices > strong {
	text-transform: uppercase;
	font-weight: 500;
}
#board-notice .notices span {
	background: #ec7175;
	padding: 2px 6px;
	font-weight: 500;
	color: #fff;
	border-radius: 15px;
}
#board-notice .notices a:hover span {
	background: #f97e82;
}

/* ==========================================================================
   Main content area
   ========================================================================== */
#footerfix {
	display: flex;
	flex-direction: column;
}
#main {
	padding: 10px 0;
	position: relative;
	flex: 1 0 auto;
}
#horizon_wrapper {
	background: none;
	border: none;
	box-shadow: none;
	border-radius: 0;
}
#content_section {
	margin: 0;
	background: none;
	border-radius: 0;
}
#main_content_section {
	padding: 10px 0 16px 0;
}

/* The navigation list (linktree) */
.navigate_section {
	float: none;
	width: auto;
	padding: 0 5px;
	margin: 0;
}
#main_content_section .navigate_section {
	margin: 10px 0 0 0;
	padding: 0 5px;
}
.navigate_section ul {
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	box-shadow: none;
	border-radius: 0;
	font-size: 12px;
	overflow: hidden;
}
.navigate_section ul li {
	padding: 0 10px 0 0;
	color: #91b3bb;
	text-shadow: none;
	line-height: 22px;
}
.navigate_section ul li a,
.navigate_section ul li em {
	padding: 0;
	margin: 0;
	color: #42464e;
}
.navigate_section ul li span {
	margin: 0;
}
.navigate_section ul li .dividers {
	/* Horizon draws ">" after each item instead. */
	display: none;
}
.navigate_section ul li::after {
	content: ">";
	display: inline-block;
	position: relative;
	top: 0;
	left: 4px;
}
[dir="rtl"] .navigate_section ul li::after {
	content: "<";
}
.navigate_section ul li:last-child::after {
	content: "";
}

/* ==========================================================================
   Generic boxes, bars and buttons
   ========================================================================== */
/* Category bars */
div.cat_bar {
	background: #2a2a2a;
	border-bottom: 2px solid #f86c01;
	border-radius: 0;
	box-shadow: none;
	text-shadow: none;
}
.cat_bar.collapsed,
.cat_bar.cat_bar_round {
	border-radius: 0;
}
.cat_bar h3,
h3.catbg,
h4.catbg {
	padding: 0 10px;
	min-height: 44px;
	line-height: 44px;
}
h3.catbg,
h4.catbg,
.catbg,
tr.catbg th,
tr.catbg td {
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	text-transform: uppercase;
}
h3.catbg a,
h3.catbg a:hover,
h3.catbg a:visited,
.catbg a,
.catbg a:visited {
	color: #fff;
	text-shadow: none;
}
.cat_bar .desc {
	color: #bababa;
	margin: -6px 0 6px 10px;
	text-transform: none;
}
.cat_bar .desc a {
	color: #fff;
}
h3.catbg .toggle_up,
h3.catbg .toggle_down {
	margin-top: 0;
}
.toggle_up::before,
.toggle_down::before {
	border: none;
	border-radius: 15px;
	box-shadow: none;
	background-color: #e9e9e9;
}
.toggle_up:hover::before,
.toggle_down:hover::before {
	background-color: #bababa;
	box-shadow: none;
}
h3.catbg a.unreadlink {
	font-size: 12px;
	text-transform: none;
	color: #bababa;
	margin-left: 10px;
}
h3.catbg a.unreadlink:hover {
	color: #fff;
}

/* Title bars */
.title_bar {
	background: #4d5159;
	border: none;
	border-radius: 0;
	margin: 5px 0 0 0;
	color: #fff;
}
h3.titlebg,
h4.titlebg,
.titlebg,
.title_bar h3,
.title_bar h4 {
	background: none;
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	padding: 0 10px;
	line-height: 44px;
	min-height: 44px;
}
.titlebg a,
.title_bar a,
.title_bar a:visited,
.title_bar .titlebg a {
	color: #fff;
}
.title_bar th, .title_bar td {
	color: #fff;
}
/* Sub bars (info center sections, profile sections) */
.sub_bar {
	background: #42464e;
	border: none;
	box-shadow: none;
	margin: 0;
}
h3.subbg, h4.subbg, .subbg {
	color: #fff;
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	padding: 0 10px;
	line-height: 44px;
}
.subbg a,
.subbg a:visited {
	color: #fff;
}

/* Window backgrounds: Horizon is flat white */
.generic_list_wrapper, .windowbg, .approvebg, .approvebg2 {
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 0;
	box-shadow: none;
}
.windowbg:nth-of-type(even), .bg.even,
.windowbg:nth-of-type(odd), .bg.odd {
	background: #fff;
}
.windowbg:target {
	background: #fffbe8;
}
tr.windowbg:hover {
	background: #f7f7f7;
}
.windowbg.locked {
	background: #fff;
	font-style: italic;
}
.windowbg.sticky {
	background: #fff;
}
.windowbg.sticky.locked {
	background: #fff;
}
.windowbg.approvetopic {
	background: #fbe3d6;
}
.windowbg.approvepost {
	background: #ffeaea;
}
.cat_bar + .windowbg, .cat_bar + .roundframe,
.title_bar + .windowbg, .title_bar + .roundframe {
	margin-top: 0;
}

/* Roundframe: a plain white box in Horizon */
.roundframe {
	padding: 15px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 0;
	box-shadow: none;
}

/* Description / information boxes */
.description, .description_board, .plainbox {
	padding: 10px 15px;
	background: #555960;
	margin: 4px 0 10px;
	color: #ccc;
	border: none;
	border-radius: 0;
	box-shadow: none;
}
.description a:not(.button),
.description_board a:not(.button) {
	color: #fff;
}
.description_board {
	margin: 0 0 10px;
}
.description_board .display_title {
	color: #fff;
	font-size: 15px;
	font-weight: 500;
}
.description_board p {
	margin: 2px 0 0;
}
.information {
	padding: 15px;
	font-size: 13px;
	background: #5e626a;
	margin: 4px 0 10px;
	color: #fff;
	border: none;
	border-radius: 0;
}
.information a:not(.button) {
	color: #c6e0e7;
}
.information .error {
	color: #fff752;
}
#messageindex .information,
#topic_icons .information {
	border-top: none;
}
/* Popup windows (login overlay, mobile popups, help): white with the dark header */
.popup_window {
	border: none;
	border-radius: 0;
	background: #fff;
}
.popup_window.description {
	color: #5b5b5b;
}
.popup_heading {
	background: #2a2a2a;
	color: #fff;
	border-bottom: 2px solid #f86c01;
	text-transform: uppercase;
	font-weight: 400;
}
.popup_heading .main_icons.hide_popup::before {
	filter: brightness(0) invert(1);
}
.popup_content {
	border: none;
	border-radius: 0;
	box-shadow: none;
}

/* Buttons: Horizon used rounded, outlined pills */
.button,
.quickbuttons > li > a,
.inline_mod_check {
	color: #505459;
	background: #fff;
	border: 1px solid #dcdcdc;
	border-radius: 15px;
	box-shadow: none;
	font-size: 12px;
	font-weight: 400;
	text-transform: none;
	min-height: 30px;
	line-height: 28px;
	padding: 0 12px;
}
.button:hover, .button:focus,
.quickbuttons > li:hover > a, .quickbuttons > li > a:focus {
	color: #6e9ba7;
	border-color: #6e9ba7;
	box-shadow: none;
	text-decoration: none;
}
.button.active {
	background: #fff;
	color: #6e9ba7;
	border: 1px solid #6e9ba7;
	font-weight: 500;
	text-transform: uppercase;
	text-shadow: none;
}
.button.active:hover, .button.active:focus {
	background: #6e9ba7;
	color: #fff;
}
.pagesection .button {
	color: #505459;
}
.buttonlist .button {
	margin: 0 0 0 4px;
}
/* Submit buttons: Horizon's dark pill */
input[type="submit"].button,
input[type="button"].button,
input[type="reset"].button,
button.button,
.button_submit {
	background: #2a2a2a;
	color: #fff;
	border: none;
	border-radius: 15px;
	text-transform: uppercase;
	font-size: 13px;
	font-weight: 300;
	padding: 0 12px;
	height: 30px;
	line-height: 30px;
}
input[type="submit"].button:hover,
input[type="button"].button:hover,
input[type="reset"].button:hover,
button.button:hover,
input[type="submit"].button:focus,
button.button:focus,
.button_submit:hover {
	background: #555960;
	color: #fff;
}
.cat_bar .button, .title_bar .button {
	min-height: 26px;
	line-height: 24px;
	margin-top: 8px;
}

/* Page index */
.pagesection {
	margin: 10px 0;
	overflow: visible;
	display: flow-root;
}
.pagelinks {
	padding: 4px 0;
}
.pages {
	font-weight: 400;
}
.current_page {
	color: #f86c01;
	font-family: inherit;
	font-weight: 500;
}
.current_page::before, .current_page::after {
	content: "";
}
.nav_page {
	display: inline-block;
	min-width: 22px;
	text-align: center;
	color: #42464e !important;
}
.nav_page:hover {
	color: #f86c01 !important;
	text-decoration: none;
}

/* The "new" badge */
.new_posts, a.new_posts {
	background: #f86c01;
	border-radius: 15px;
	font: 400 9px/15px "Ubuntu", sans-serif;
	padding: 0 6px;
	text-transform: uppercase;
	opacity: 1;
	color: #fff;
}
a.new_posts:visited {
	color: #fff;
}
.amt {
	background: #6e9ba7;
	border-radius: 15px;
}

/* Error / notice boxes keep their 2.1 colours but lose the rounded look. */
.errorbox, .noticebox, .infobox {
	border-radius: 0;
}

/* BBC */
blockquote.bbc_standard_quote,
blockquote.bbc_alternate_quote {
	border: 1px solid #dedede;
	border-left: 3px solid #6e9ba7;
	border-radius: 0;
	box-shadow: none;
	background: #fafafa;
	color: #5a5a5a;
	padding: 15px;
}
blockquote.bbc_alternate_quote {
	background: #f4f4f4;
}
code.bbc_code {
	border: 1px solid #dedede;
	border-radius: 0;
	background: #fafafa;
	color: #5a5a5a;
	padding: 15px;
	font-size: 12px;
}
.codeheader, .quoteheader {
	color: #31353d;
	font-weight: 500;
	font-size: 12px;
}
.signature, .attachments, .custom_fields_above_signature {
	border-top: 1px solid #e5e5e5;
}

/* ==========================================================================
   Board index
   ========================================================================== */
#index_common_stats {
	text-align: right;
	font-size: 0.9em;
	margin: 0 0 8px;
}
#newsfader {
	margin-bottom: 15px;
}
#smf_slider {
	margin: 0;
	text-align: center;
}
.main_container {
	margin-bottom: 15px;
}
.boardindex_table:not(:last-child) {
	margin-bottom: 15px;
}
.boardindex_table .up_contain,
#topic_container .windowbg {
	background: #fff;
	border: none;
	border-bottom: 2px solid #f0f0f0;
	margin: 0;
	border-radius: 0;
	box-shadow: none;
}
.up_contain {
	align-items: stretch;
}
.up_contain > .board_icon,
.up_contain > .info,
.up_contain > .board_stats,
.up_contain > .lastpost {
	align-self: stretch;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.up_contain > .board_icon {
	align-items: center;
}
/* Board status icons: Horizon's round on/off images on the 2.1 board_* classes */
.board_icon {
	width: 6%;
	min-width: 50px;
	padding: 8px 0;
}
.boardindex_table .board_icon {
	width: 6%;
	min-width: 50px;
}
.board_icon a {
	background: url(../images/horizon/off.png) no-repeat 50% 50%;
	width: 28px;
	height: 28px;
}
.board_icon a.board_on {
	background-image: url(../images/horizon/on.png);
}
.board_icon a.board_on2 {
	background-image: url(../images/horizon/on2.png);
	background-position: 50% 50%;
}
.board_icon a.board_off {
	background-image: url(../images/horizon/off.png);
	background-position: 50% 50%;
}
.board_icon a.board_redirect {
	background-image: url(../images/horizon/redirect.png);
	background-position: 50% 50%;
}
.boardindex_table .info,
#topic_container .info,
.up_contain > .info {
	padding: 8px;
	border-right: 2px solid #f0f0f0;
	border-left: 2px solid #f0f0f0;
}
.boardindex_table .info {
	width: auto;
	flex: 1 1 0;
}
.info .subject,
.table_list .info a.subject {
	font-size: 15px;
	color: #42464e;
	font-weight: 500;
}
.info .subject:hover {
	color: #f86c01;
	text-decoration: none;
}
.board_description {
	margin-top: 2px;
}
p.moderators {
	font-size: 11px;
	font-weight: 300;
}
.board_stats {
	width: 15%;
	padding: 8px;
	text-align: right;
	font-size: 13px;
	border-right: 2px solid #f0f0f0;
	margin: 0;
}
.boardindex_table .board_stats {
	padding: 8px;
}
.boardindex_table .board_stats p {
	border: none;
}
.board_stats p span,
#topic_container .board_stats p span {
	color: #42464e;
	font-weight: 400;
}
.lastpost {
	width: 25%;
	padding: 8px;
	font-size: 13px;
}
.lastpost strong > a,
.lastpost .lastpost_by strong a {
	font-weight: 500;
	color: #42464e;
}
.lastpost .lastpost_time {
	font-size: 12px;
}
.lastpost .lastpost_icon img {
	padding: 0 0 0 5px;
	vertical-align: baseline;
}
.children {
	border-top: 2px solid #f0f0f0;
	padding: 5px 10px;
	color: #42464e;
	font-size: 11px;
}
.children p {
	font-size: 11px;
}
.children strong {
	font-weight: 500;
}
/* Icon legend and mark read */
#posting_icons {
	margin: 0 0 15px;
}
#posting_icons ul {
	font-size: 0.85em;
	display: flex;
	flex-wrap: wrap;
	gap: 0 4ex;
	margin-top: 6px;
}
#posting_icons ul li {
	list-style: none;
}
#posting_icons img {
	vertical-align: middle;
	margin: 0 4px 0 0;
}
#posting_icons .mark_read {
	float: right;
	margin: 0;
}

/* Info center */
#info_center {
	padding: 0;
	margin-top: 10px;
	border: none;
	background: #fff;
}
#info_center > .cat_bar {
	margin: 0;
}
#info_center .cat_bar h3 a {
	color: #fff;
}
#info_center .sub_bar {
	border-top: none;
	margin-top: 10px;
}
#info_center .sub_bar:first-child {
	margin-top: 0;
}
#upshrink_stats {
	margin: 0;
	padding: 0 0 10px;
}
#upshrink_stats p.inline {
	padding: 6px 10px;
	font-size: 13px;
	line-height: 22px;
}
#upshrink_stats p.inline.stats {
	font-size: 14px;
	padding-top: 8px;
}
#upshrink_stats p.last {
	border-top: 2px dotted #e5e5e5;
	margin: 0 10px;
	padding: 6px 0;
}
dl#ic_recentposts {
	margin: 0;
	padding: 6px 10px;
	width: auto;
	font-size: 13px;
	line-height: 1.6em;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2px 15px;
}
dl#ic_recentposts dt {
	margin: 0;
}
dl#ic_recentposts dd {
	margin: 0;
	text-align: right;
	white-space: nowrap;
}

/* ==========================================================================
   Message index
   ========================================================================== */
#messageindex {
	clear: both;
}
#topic_header {
	background: #2a2a2a;
	border: none;
	border-bottom: 2px solid #f86c01;
	border-radius: 0;
	margin: 0;
	color: #fff;
	min-height: 44px;
	align-items: center;
}
#topic_header div {
	font-weight: 400;
	font-size: 12px;
	text-transform: uppercase;
	color: #fff;
	border: none;
	padding: 0 8px;
}
#topic_header a,
#topic_header a:visited {
	color: #fff;
}
#topic_header .board_icon {
	padding: 0;
}
#topic_header .info {
	padding: 0 8px;
	border: none;
}
#topic_header h3.titlebg {
	text-transform: uppercase;
	line-height: 44px;
}
#topic_container .windowbg {
	padding: 0;
	display: flex;
	overflow: hidden;
}
#topic_container .board_icon {
	padding: 8px 0;
}
#topic_container .board_icon img {
	margin: 0;
}
#topic_container .info {
	padding: 8px;
}
#topic_container .lastpost,
#topic_header .lastpost {
	width: 25%;
}
#topic_container .board_stats,
#topic_header .board_stats {
	width: 15%;
	text-align: right;
}
#topic_container .moderation,
#topic_header .moderation {
	width: 4%;
	min-width: 35px;
	align-self: center;
	text-align: center;
	padding: 0;
}
.subject-title a,
.message_index_title .subject-title a {
	font-size: 15px;
	color: #42464e;
	font-weight: 500;
}
.subject-title a:hover {
	color: #f86c01;
	text-decoration: none;
}
.message_index_title .bold_text a {
	font-weight: 500;
}
#topic_container .windowbg.sticky .subject-title a {
	color: #f86c01;
}
.started_by {
	clear: both;
	margin: 0;
}
.started_by small.topic_pages {
	font-size: 11px;
	margin-left: 5px;
}
#topic_container .icons .main_icons {
	opacity: 0.7;
}
.whos_viewing {
	background: #fff;
	padding: 6px 10px;
	border-bottom: 2px solid #f0f0f0;
}
#quick_actions {
	background: #4d5159;
	padding: 8px;
	margin: 0;
}
#quick_actions select {
	margin: 0 4px 0 0;
}
#topic_icons {
	margin-top: 10px;
}
#topic_icons .description {
	display: flow-root;
	font-size: 0.9em;
	margin: 0;
}
#topic_icons p {
	padding: 0 12px 0 4px;
	line-height: 2em;
}
#topic_icons .main_icons::before {
	filter: brightness(0) invert(0.85);
}
#topic_icons .jump_to {
	color: #fff;
}

/* ==========================================================================
   Topic display (inherited Display.template.php, Horizon styling)
   ========================================================================== */
#display_head {
	background: #555960;
	color: #ccc;
	padding: 10px 15px;
	margin: 0 0 10px;
	border: none;
	border-radius: 0;
}
#display_head .display_title,
#display_head .display_title span {
	color: #fff;
	font-weight: 500;
}
#display_head p,
#display_head span {
	color: #ccc;
}
#display_head a {
	color: #fff;
}
#forumposts .cat_bar {
	margin: 0;
}
#forumposts .windowbg {
	margin: 5px 0 0;
	padding: 15px;
}
.poster h4,
.poster h4 a,
.poster li:hover h4 a,
.poster h4 a:hover {
	color: #42464e;
	font-weight: 400;
	font-size: 18px;
}
.poster li.membergroup {
	font-weight: 500;
}
.poster li.poster_online a {
	color: #6594a0;
}
.keyinfo .postinfo {
	font-weight: 400;
}
.keyinfo h5 a,
.keyinfo .subject_title a {
	font-weight: 500;
	color: #42464e;
}
.postarea .inner,
.post .inner {
	border-top: 1px solid #e5e5e5;
}
.quickbuttons {
	border: 1px solid #e5e5e5;
	border-radius: 15px;
	padding: 0 5px;
}
.quickbuttons > li > a,
.quickbuttons > li:first-child > a,
.quickbuttons > li:last-child > a,
.quickbuttons > li:only-child > a,
.inline_mod_check {
	border: none;
	border-radius: 15px;
	background: none;
	min-height: 30px;
	line-height: 30px;
	padding: 0 5px;
	margin: 0;
	height: auto;
	color: #42464e;
	font-size: 11px;
	text-transform: uppercase;
	font-weight: 400;
}
.quickbuttons > li:hover > a,
.quickbuttons > li > a:focus {
	color: #6e9ba7;
	border: none;
	background: none;
}
.post_options ul {
	border: none;
	border-top: 2px solid #f86c01;
	border-radius: 0 0 15px 15px;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.25);
}
#quickreply_options .roundframe,
#quickreplybox .roundframe {
	background: #fff;
}
#display_jump_to {
	color: #5b5b5b;
}

/* ==========================================================================
   Generic menus (profile / admin / moderation centre)
   ========================================================================== */
#genericmenu .dropmenu > li > a,
#adm_submenus .dropmenu > li > a,
.generic_menu > li > a {
	line-height: 32px;
	border: 1px solid #dcdcdc;
	border-radius: 15px;
	background: #fff;
	color: #505459;
	font-weight: 400;
	padding: 0 10px;
	box-shadow: none;
	text-shadow: none;
}
#genericmenu .dropmenu > li > a.active,
#adm_submenus .dropmenu > li > a.active,
.generic_menu > li > a.active {
	color: #fff;
	background: #6e9ba7;
	border-color: #6e9ba7;
	font-weight: 400;
}
#genericmenu .dropmenu > li:hover > a,
#adm_submenus .dropmenu > li:hover > a,
.generic_menu > li:hover > a {
	color: #6e9ba7;
	border-color: #6e9ba7;
	background: #fff;
	box-shadow: none;
	text-shadow: none;
}
#genericmenu .dropmenu li ul,
#adm_submenus .dropmenu li ul,
.generic_menu li ul {
	background: #2a2a2a;
	border: none;
	border-bottom: 2px solid #f86c01;
	border-radius: 0 0 15px 15px;
}
#genericmenu .dropmenu li li a,
#adm_submenus .dropmenu li li a,
.generic_menu li li a {
	color: #e5e5e5;
	border: none;
}
#genericmenu .dropmenu li li:hover > a,
#adm_submenus .dropmenu li li:hover > a,
.generic_menu li li:hover > a,
#genericmenu .dropmenu li li a:focus,
.generic_menu li li a:focus {
	color: #f86c01;
	border: none;
	background: none;
}
#genericmenu .dropmenu .main_icons::before,
.generic_menu .main_icons::before {
	vertical-align: middle;
}

/* Profile summary and stats tables */
#basicinfo .username h4 {
	color: #42464e;
	font-weight: 400;
}
.table_grid th, .table_grid td {
	border-color: #f0f0f0;
}
.table_grid thead tr.title_bar th,
tr.title_bar th {
	background: #4d5159;
	color: #fff;
	font-weight: 400;
}
.table_grid tr.windowbg td {
	border-top: 2px solid #f0f0f0;
}
.statsbar .bar,
.generic_bar .bar {
	background: #6e9ba7;
	box-shadow: none;
}
.generic_bar, .statsbar div.bar {
	border-radius: 0;
}

/* Login / registration */
.login {
	background: #fff;
}

/* AJAX notification bar */
#ajax_in_progress {
	background: #2a2a2a url(../images/horizon/loadingbar.png) repeat-x;
	color: #f96f00;
	border-bottom: 2px solid #f86c01;
}

/* ==========================================================================
   Footer
   ========================================================================== */
#footer {
	margin: 0;
	padding: 0 0 40px;
	border-top: 1px solid #42464e;
	background: #eae8e9 url(../images/custom/footer-bg.jpg) no-repeat 50% 0 / cover;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
	position: relative;
	z-index: 1;
}
#footer-content {
	background: #42464e;
	padding: 20px 90px 20px 20px;
	margin-top: -1px;
	position: relative;
	color: #767a82;
}
#footer, #footer li, #footer p, #footer a {
	font-family: "Ubuntu", sans-serif;
	font-size: 13px;
	color: #767a82;
}
#footer ul {
	margin: 0;
	padding: 0;
}
#footer li {
	list-style: none;
	display: block;
}
#footer li.copyright {
	font-family: "Ubuntu", sans-serif;
}
#footer a,
#footer a:visited,
#footer li a,
#footer p a {
	color: #c7cdd2;
	text-decoration: none;
}
#footer a:hover,
#footer a:focus {
	color: #fff;
}
#footer .backtop {
	position: absolute;
	color: #fff;
	top: 20px;
	right: 20px;
	padding: 3px 10px;
	border: 1px solid #fff;
	border-radius: 15px;
	line-height: 1.4em;
	text-transform: uppercase;
}
#footer .backtop:hover,
#footer .backtop:focus {
	border-color: #bababa;
	color: #bababa;
}
#footer .loadtime {
	margin-top: 4px;
}

/* ==========================================================================
   Misc
   ========================================================================== */
.hfa {
	padding-right: 5px;
}
.highlight {
	color: #ff7200 !important;
	font-weight: 500;
}
.highlight2 {
	background-color: #f6f6f6;
}

/* Print */
@media print {
	#topbar, #navbar, #toolbar, #board-notice, #footer {
		display: none;
	}
}

/* Light Portal front page: full announcements (old SimplePortal Board News look) */
.opticraft_news article { height: auto; }
.opticraft_news .opticraft_news_body { margin: 10px 0 14px; line-height: 1.5; overflow-wrap: anywhere; }
.opticraft_news .opticraft_news_body img { max-width: 100%; height: auto; }
