/* GreenUP colours and original graphics on SMF 2.1 semantic templates. */
html, body { background: #fff; }
body { color: #444; font: 78%/130% Verdana, Arial, Helvetica, sans-serif; }
a { color: #334466; }
a:hover { color: #5d8e00; }
#footerfix { width: 98%; max-width: 2300px; margin: 0 auto; }
#header { width: 100%; max-width: none; min-height: 79px; background: #fff; padding: 5px 20px; }
#header .forumtitle { margin: 0; line-height: 45px; }
#header .forumtitle img { max-height: 65px; width: auto; }
#smflogo { display: none; }
#top_section { background: #fff url(../images/theme/fondo_general.png) repeat-x 0 -66px; border: 0; color: #444; }
#top_section .inner_wrap { width: 100%; max-width: none; padding: 6px 20px; }
#top_section a { color: #334466; }
#top_section .welcome { padding-left: 0; }
#wrapper { width: 100%; max-width: none; margin: 0; padding: 0 20px 20px; background: #fff url(../images/theme/frame_repeat.png) repeat; border: 0; box-shadow: none; }
#upper_section, #inner_section, #inner_wrap { background: transparent; border: 0; }
#inner_wrap { display: block; width: 100%; margin-bottom: 12px; }
#inner_wrap .user { white-space: normal; padding: 4px 0; }
#inner_wrap .news { color: #444; display: block; max-width: none; width: 100%; font-size: 1em; padding: 8px 0; }
#inner_wrap .news h2 { font-size: .85em; line-height: 1.2; margin: 0; padding: 0; }
#inner_wrap .news p { display: block; line-height: 1.2; margin: 0; padding: 0; }
#main_menu { background: #fff url(../images/theme/fondo_general.png) repeat-x 0 -66px; padding: 12px 8px 20px; }
.navigate_section { background: transparent; padding: 12px 8px; border: 0; }
div.cat_bar { background: #72b200 url(../images/theme/fondo_general.png) repeat-x 0 0; border: 0; border-radius: 7px 7px 0 0; box-shadow: none; padding: 0; }
.cat_bar h3.catbg, .cat_bar h3.catbg a { color: #102000; text-shadow: none; }
.title_bar, .sub_bar { background: #eef0d8 url(../images/theme/subcat.png) repeat; border: 1px solid #c9ccaf; border-radius: 4px; box-shadow: none; }
.titlebg, .subbg, .titlebg a, .subbg a { color: #333; text-shadow: none; }
.windowbg, .roundframe, #preview_body { background: #f8f8f8 url(../images/theme/windowbg2.png) repeat-x center bottom; border-color: #d4d8db; box-shadow: none; }
.windowbg:nth-of-type(even) { background-color: #f5f5f5; }
.boardindex_table .info a.subject { color: #334466; }
#footer { width: 98%; max-width: 2300px; margin: 0 auto; text-align: center; background: #fff url(../images/theme/frame_repeat.png) repeat; color: #444; border: 0; padding: 25px 20px; }
#footer .inner_wrap { width: 100%; max-width: none; }
#footer li.floatright { float: none; display: block; }
#footer a { color: #334466; }
#footer li.copyright { display: block; }
.greenup_progress { width: 100%; height: 20px; border: 1px solid #c9ccaf; border-radius: 4px; overflow: hidden; background: #eef0d8; }
.greenup_progress span { display: block; height: 100%; background: #72b200; color: #102000; text-align: center; }

/* SMF's more specific hover/focus rules must not restore Curve2 colours. */
body.greenup-theme { --greenup-action: #305600; --greenup-hover: #467900; --greenup-active: #3e6900; }
.greenup-theme ::selection { background: #dceab8; color: #102000; }
.greenup-theme .cat_bar .desc, .greenup-theme .cat_bar .desc a { color: #102000; }
.greenup-theme .cat_bar h3.catbg a:hover { color: #102000; text-decoration: underline; }
.greenup-theme .titlebg, .greenup-theme .subbg { color: #333; }

/* Reserve the border and font weight in every menu state to avoid movement. */
.greenup-theme .dropmenu > li > a, .greenup-theme #top_info > li > a {
  background: transparent; color: #222; border: 1px solid transparent; border-radius: 5px;
  padding: 5px 8px; margin-right: 8px; font-weight: bold; text-shadow: none; box-shadow: none;
}
.greenup-theme .dropmenu > li > a.active, .greenup-theme #top_info > li > a.active {
  background: #72b200; color: #102000; border-color: #588900;
}
.greenup-theme .dropmenu > li:hover > a, .greenup-theme .dropmenu > li > a:focus,
.greenup-theme .dropmenu > li > a.active:hover, .greenup-theme .dropmenu > li:hover > a.active,
.greenup-theme #top_info > li:hover > a, .greenup-theme #top_info > li > a:focus,
.greenup-theme #top_info > li > a.open {
  background: #e7f0cd; color: #102000; border: 1px solid #7b963f; text-shadow: none; box-shadow: none;
}
.greenup-theme .dropmenu li ul, .greenup-theme .top_menu { background: #f8faf2; border-color: #c9ccaf; }
.greenup-theme .dropmenu li:hover li a, .greenup-theme .dropmenu li li a {
  background: transparent; color: #334466; border: 1px solid transparent; text-shadow: none; box-shadow: none;
}
.greenup-theme .dropmenu li li:hover > a, .greenup-theme .dropmenu li li a:focus,
.greenup-theme .dropmenu li li a:hover {
  background: #e7f0cd; color: #102000; border: 1px solid #7b963f; text-shadow: none; box-shadow: none;
}
.greenup-theme .amt { background: #305600; color: #fff; }

/* Include the header search: #search_form has a separate stock hover rule. */
.greenup-theme .button, .greenup-theme input[type=submit], .greenup-theme input[type=button],
.greenup-theme input[type=reset], .greenup-theme button:not(:where(.greenup-lightbox *, .greenup-chat-smileys *)),
.greenup-theme .pagesection .button, .greenup-theme .buttonlist .button,
.greenup-theme #top_section .button, .greenup-theme #search_form .button {
  background: var(--greenup-action); color: #fff; border: 1px solid var(--greenup-action);
  border-radius: 4px; text-shadow: none; box-shadow: none;
}
.greenup-theme .button:hover, .greenup-theme .button:focus,
.greenup-theme input[type=submit]:hover, .greenup-theme input[type=submit]:focus,
.greenup-theme input[type=button]:hover, .greenup-theme input[type=button]:focus,
.greenup-theme input[type=reset]:hover, .greenup-theme input[type=reset]:focus,
.greenup-theme button:not(:where(.greenup-lightbox *, .greenup-chat-smileys *)):hover, .greenup-theme button:not(:where(.greenup-lightbox *, .greenup-chat-smileys *)):focus,
.greenup-theme .pagesection .button:hover, .greenup-theme .pagesection .button:focus,
.greenup-theme .buttonlist .button:hover, .greenup-theme .buttonlist .button:focus,
.greenup-theme #top_section .button:hover, .greenup-theme #top_section .button:focus,
.greenup-theme #search_form .button:hover, .greenup-theme #search_form .button:focus {
  background: var(--greenup-hover); color: #fff; border-color: var(--greenup-hover);
  text-shadow: none; box-shadow: none; text-decoration: none;
}
.greenup-theme .button.active, .greenup-theme .button.active:hover, .greenup-theme .button.active:focus,
.greenup-theme .button:active, .greenup-theme input[type=submit]:active, .greenup-theme button:not(:where(.greenup-lightbox *, .greenup-chat-smileys *)):active {
  background: var(--greenup-active); color: #fff; border-color: var(--greenup-active);
}
.greenup-theme .button.disabled, .greenup-theme .button.disabled:hover,
.greenup-theme .button[disabled], .greenup-theme .button[disabled]:hover,
.greenup-theme input[disabled], .greenup-theme input[disabled]:hover,
.greenup-theme button:not(:where(.greenup-lightbox *, .greenup-chat-smileys *))[disabled], .greenup-theme button:not(:where(.greenup-lightbox *, .greenup-chat-smileys *))[disabled]:hover {
  background: #e8e8e8; color: #626262; border-color: #bbb; cursor: not-allowed; box-shadow: none;
}
.greenup-theme .quickbuttons > li, .greenup-theme .quickbuttons li:hover,
.greenup-theme .quickbuttons > li > a, .greenup-theme .post_options ul,
.greenup-theme .quickbuttons li ul, .greenup-theme .popup_window { background: #f8faf2; }
.greenup-theme .quickbuttons > li > a { color: #305600; border: 1px solid transparent; box-shadow: none; }
.greenup-theme .quickbuttons > li:hover > a, .greenup-theme .quickbuttons > li > a:focus {
  background: #e7f0cd; color: #102000; border: 1px solid #7b963f; box-shadow: none;
}
.greenup-theme .popup_heading, .greenup-theme .current_page { color: #305600; }
.greenup-theme .new_posts { background: #305600; color: #fff; }
.greenup-theme .board_new_posts { color: #305600; }
.greenup-theme .generic_bar .bar, .greenup-theme .progress_bar .bar { background: #a7cf00; }

/* Original GreenUP board stars; keep SMF links and unread state classes. */
.greenup-theme .board_icon a {
  background: url(../images/off.png) no-repeat center; background-size: 34px 34px;
  width: 45px; height: 45px;
}
.greenup-theme .board_icon a.board_on { background-image: url(../images/on.png); }
.greenup-theme .board_icon a.board_on2 { background-image: url(../images/on2.png); }
.greenup-theme .board_icon a.board_off { background-image: url(../images/off.png); }
.greenup-theme .board_icon a.board_redirect { background-image: url(../images/redirect.png); }

/* Curve2 colours footer children explicitly, so inheritance alone cannot fix it. */
.greenup-theme #footer li, .greenup-theme #footer p { color: #444; }
.greenup-theme #footer a { color: #334466; }
.greenup-theme #footer a:hover { color: #305600; text-decoration: underline; }
.greenup-theme input:hover, .greenup-theme textarea:hover, .greenup-theme select:hover { border-color: #7b963f; }
.greenup-theme :is(a, button, input, select, textarea):not(:where(.greenup-lightbox *, .greenup-chat-smileys *)):focus-visible {
  outline: 2px solid #305600; outline-offset: 2px;
}

/* Module icon controls retain their own dimensions, images and dark overlay. */
.greenup-theme .greenup-chat-smileys button:focus-visible {
  outline: 2px solid #305600; outline-offset: 2px;
}
.greenup-theme .greenup-lightbox .greenup-lightbox-button:focus {
  background: #567000; color: #fff;
}
.greenup-theme .greenup-lightbox button:focus-visible {
  outline: 2px solid #b5dc28; outline-offset: 2px;
}
.greenup-theme .post_options ul a:hover, .greenup-theme .post_options ul a:focus,
.greenup-theme .notify_dropdown a:hover, .greenup-theme .notify_dropdown a:focus {
  background: #e7f0cd; color: #102000;
}
/* Change decorative row hover only; recycle/redirect states keep their colours. */
.greenup-theme #manage_boards li.windowbg:where(:not(.redirect_board, #recycle_board)):hover,
.greenup-theme .denyboards_layout .board:hover { background: #e7f0cd; }

@media (prefers-reduced-motion: reduce) {
  .greenup-theme .toggle_up::before, .greenup-theme .toggle_down::before,
  .greenup-theme .generic_bar .bar, .greenup-theme .progress_bar .bar { transition: none; }
}

@media (max-width: 720px) {
  body { font-size: 83.33%; }
  #footerfix, #footer { width: 100%; }
  #wrapper { padding: 0 6px 12px; }
  #header, #top_section .inner_wrap { padding-left: 12px; padding-right: 12px; }
  #main_menu { padding: 5px; }
  .greenup-theme :is(#main_menu, #genericmenu, #adm_submenus) .dropmenu a {
    margin-right: 0; border-left: 0; border-right: 0; border-radius: 0;
  }
  /* Preserve the legacy news block on narrow screens, including guests. */
  #inner_wrap .news, #inner_wrap .news p { display: block !important; }
}
