主题切换支持

主题切换支持
  黑色经典
  薄荷清新
  激情紫荆
This commit is contained in:
shimingxy
2020-05-10 13:48:13 +08:00
parent 1f4290af4e
commit aa58a6d820
84 changed files with 37860 additions and 3581 deletions
@@ -199,6 +199,7 @@ public class UserInfo extends JpaBaseDomain {
protected String defineIm;
protected int weixinFollow;
protected String theme;
/*
* for extended Attribute from userType extraAttribute for database
* extraAttributeName & extraAttributeValue for page submit
@@ -1238,4 +1239,12 @@ public class UserInfo extends JpaBaseDomain {
this.modifiedDate = modifiedDate;
}
public String getTheme() {
return theme;
}
public void setTheme(String theme) {
this.theme = theme;
}
}
@@ -112,7 +112,11 @@ public class UserInfoRowMapper implements RowMapper<UserInfo> {
userInfo.setStatus(rs.getInt("STATUS"));
userInfo.setGridList(rs.getInt("GRIDLIST"));
userInfo.setDescription(rs.getString("DESCRIPTION"));
userInfo.setTheme(rs.getString("THEME"));
if (userInfo.getTheme() == null || userInfo.getTheme().equalsIgnoreCase("")) {
userInfo.setTheme("default");
}
return userInfo;
}
}
@@ -8,51 +8,54 @@ package org.maxkey.web;
*/
public class WebConstants {
public static final String USERNAME = "username";
public static final String USERNAME = "username";
public static final String REMOTE_USERNAME = "remote_username";
public static final String REMOTE_USERNAME = "remote_username";
public final static String CURRENT_USER = "current_user";
public static final String CURRENT_USER = "current_user";
public final static String CURRENT_USER_SESSION_ID = "current_user_session_id";
public static final String CURRENT_USER_SESSION_ID = "current_user_session_id";
public final static String CURRENT_COMPANY = "current_user_company";
public static final String CURRENT_COMPANY = "current_user_company";
public final static String CURRENT_DEPARTMENT = "current_user_department";
public static final String CURRENT_DEPARTMENT = "current_user_department";
public final static String CURRENT_USER_NAVIGATIONS = "current_user_navigations";
public static final String CURRENT_USER_NAVIGATIONS = "current_user_navigations";
public final static String CURRENT_USER_ROLES = "current_user_roles";
public static final String CURRENT_USER_ROLES = "current_user_roles";
public final static String CURRENT_USER_SYSTEM_ROLES = "current_user_system_roles";
public final static String CURRENT_LOGIN_USER_PASSWORD_SET_TYPE = "current_login_user_password_set_type";
public static final String CURRENT_USER_SYSTEM_ROLES = "current_user_system_roles";
public final static String CURRENT_MESSAGE = "current_message";
public static final String CURRENT_LOGIN_USER_PASSWORD_SET_TYPE
= "current_login_user_password_set_type";
//SPRING_SECURITY_SAVED_REQUEST
public final static String SPRING_PROCESS_SAVED_REQUEST = "SPRING_SECURITY_SAVED_REQUEST";
public static final String CURRENT_MESSAGE = "current_message";
public final static String FIRST_SAVED_REQUEST_PARAMETER = "first_saved_request_parameter";
// SPRING_SECURITY_SAVED_REQUEST
public static final String SPRING_PROCESS_SAVED_REQUEST = "SPRING_SECURITY_SAVED_REQUEST";
public static final String FIRST_SAVED_REQUEST_PARAMETER = "first_saved_request_parameter";
public static final String KAPTCHA_SESSION_KEY = "kaptcha_session_key";
public static final String SINGLE_SIGN_ON_APP_ID = "single_sign_on_app_id";
public static final String REMEBER_ME_SESSION = "remeber_me_session";
public static final String KERBEROS_TOKEN_PARAMETER = "kerberosToken";
public static final String CAS_SERVICE_PARAMETER = "service";
public static final String KERBEROS_USERDOMAIN_PARAMETER = "kerberosUserDomain";
public static final String REMEBER_ME_COOKIE = "sign_in_remeber_me";
public static final String JWT_TOKEN_PARAMETER = "jwt";
public static final String CURRENT_SINGLESIGNON_URI = "current_singlesignon_uri";
public static final String AUTHENTICATION = "current_authentication";
public static final String THEME_COOKIE_NAME = "maxkey_theme";
public final static String KAPTCHA_SESSION_KEY = "kaptcha_session_key";
public static final String SINGLE_SIGN_ON_APP_ID = "single_sign_on_app_id";
public static final String REMEBER_ME_SESSION = "remeber_me_session";
public static final String KERBEROS_TOKEN_PARAMETER = "kerberosToken";
public static final String CAS_SERVICE_PARAMETER = "service";
public static final String KERBEROS_USERDOMAIN_PARAMETER = "kerberosUserDomain";
public static final String REMEBER_ME_COOKIE = "sign_in_remeber_me";
public static final String JWT_TOKEN_PARAMETER = "jwt";
public static final String CURRENT_SINGLESIGNON_URI = "current_singlesignon_uri";
public static final String AUTHENTICATION = "current_authentication";
}
@@ -1,8 +1,14 @@
package org.maxkey.web;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.apache.commons.logging.LogFactory;
import org.maxkey.authn.BasicAuthentication;
@@ -289,6 +295,67 @@ public final class WebContext {
return locale;
}
/**
* 根据名字获取cookie.
*
* @param request HttpServletRequest
* @param name cookie名字
* @return Cookie
*/
public static Cookie readCookieByName(HttpServletRequest request, String name) {
Map<String, Cookie> cookieMap = readCookieAll(request);
if (cookieMap.containsKey(name)) {
Cookie cookie = (Cookie) cookieMap.get(name);
return cookie;
} else {
return null;
}
}
/**
* 将cookie封装到Map里面.
*
* @param request HttpServletRequest
* @return Map
*/
private static Map<String, Cookie> readCookieAll(HttpServletRequest request) {
Map<String, Cookie> cookieMap = new HashMap<String, Cookie>();
Cookie[] cookies = request.getCookies();
if (null != cookies) {
for (Cookie cookie : cookies) {
cookieMap.put(cookie.getName(), cookie);
}
}
return cookieMap;
}
/**
* 保存Cookies.
*
* @param response response响应
* @param name cookie的名字
* @param value cookie的值
* @param time cookie的存在时间
*/
public static HttpServletResponse setCookie(
HttpServletResponse response, String name, String value, int time) {
// new一个Cookie对象,键值对为参数
Cookie cookie = new Cookie(name, value);
// tomcat下多应用共享
cookie.setPath("/");
// 如果cookie的值中含有中文时,需要对cookie进行编码,不然会产生乱码
try {
URLEncoder.encode(value, "utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
// 单位:秒
cookie.setMaxAge(time);
// 将Cookie添加到Response中,使之生效
response.addCookie(cookie); // addCookie后,如果已经存在相同名字的cookie,则最新的覆盖旧的cookie
return response;
}
/**
* get Current Date,eg 2012-07-10.
*
@@ -0,0 +1,55 @@
package org.maxkey.web.tag;
import freemarker.core.Environment;
import freemarker.template.TemplateDirectiveBody;
import freemarker.template.TemplateDirectiveModel;
import freemarker.template.TemplateException;
import freemarker.template.TemplateModel;
import java.io.IOException;
import java.util.Map;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletRequest;
import org.maxkey.web.WebConstants;
import org.maxkey.web.WebContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
/**
* 获取主题标签 .<@theme/>
*
* @author Crystal.Sea
*
*/
@FreemarkerTag("theme")
public class ThemeTagDirective implements TemplateDirectiveModel {
private static final Logger _logger = LoggerFactory.getLogger(ThemeTagDirective.class);
@Autowired
private HttpServletRequest request;
@SuppressWarnings("rawtypes")
@Override
public void execute(Environment env,
Map params, TemplateModel[] loopVars, TemplateDirectiveBody body)
throws TemplateException, IOException {
String theme = null;
if (null != WebContext.getUserInfo()) {
theme = WebContext.getUserInfo().getTheme();
_logger.trace("read theme form login user session , theme is " + theme);
}
if (null == theme) {
Cookie themeCookie =
WebContext.readCookieByName(request, WebConstants.THEME_COOKIE_NAME);
if (themeCookie != null) {
theme = themeCookie.getValue();
_logger.trace("read theme form cookie , theme is " + theme);
}
}
env.getOut().append(theme == null ? "default" : theme);
}
}
@@ -165,6 +165,9 @@
<if test="emailVerified != null">
EMAILVERIFIED = #{emailVerified},
</if>
<if test="theme != null">
THEME = #{theme},
</if>
MODIFIEDDATE = current_timestamp
WHERE
ID = #{id}
@@ -1,11 +1,15 @@
package org.maxkey.web.contorller;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.maxkey.constants.ConstantsOperateMessage;
import org.maxkey.crypto.ReciprocalUtils;
import org.maxkey.crypto.password.PasswordReciprocal;
import org.maxkey.dao.service.UserInfoService;
import org.maxkey.domain.UserInfo;
import org.maxkey.util.StringUtils;
import org.maxkey.web.WebConstants;
import org.maxkey.web.WebContext;
import org.maxkey.web.message.Message;
import org.maxkey.web.message.MessageType;
@@ -149,11 +153,14 @@ public class SafeController {
@ResponseBody
@RequestMapping(value="/setting")
public Message setting(
HttpServletRequest request,
HttpServletResponse response,
@RequestParam("authnType") String authnType,
@RequestParam("mobile") String mobile,
@RequestParam("mobileVerify") String mobileVerify,
@RequestParam("email") String email,
@RequestParam("emailVerify") String emailVerify) {
@RequestParam("emailVerify") String emailVerify,
@RequestParam("theme") String theme) {
UserInfo userInfo =WebContext.getUserInfo();
userInfo.setAuthnType(Integer.parseInt(authnType));
userInfoService.changeAuthnType(userInfo);
@@ -162,8 +169,13 @@ public class SafeController {
userInfoService.changeMobile(userInfo);
userInfo.setEmail(email);
userInfo.setTheme(theme);
WebContext.setCookie(response, WebConstants.THEME_COOKIE_NAME, theme, 0);
userInfoService.changeEmail(userInfo);
return new Message(WebContext.getI18nValue(ConstantsOperateMessage.UPDATE_SUCCESS),MessageType.success);
}
@@ -126,6 +126,10 @@ userinfo.homePostalCode=\u5BB6\u5EAD\u90AE\u7F16
userinfo.homeFax=\u5BB6\u5EAD\u4F20\u771F
userinfo.homePhoneNumber=\u5BB6\u5EAD\u7535\u8BDD
userinfo.homeEmail=\u5BB6\u5EAD\u90AE\u7BB1
userinfo.theme=\u4E3B\u9898
userinfo.theme.default=\u9ED1\u8272\u7ECF\u5178
userinfo.theme.minty=\u8584\u8377\u6E05\u65B0
userinfo.theme.pulse=\u6FC0\u60C5\u7D2B\u8346
userinfo.authnType=\u767B\u5F55\u65B9\u5F0F
@@ -125,6 +125,10 @@ userinfo.homePostalCode=homePostalCode
userinfo.homeFax=homeFax
userinfo.homePhoneNumber=homePhoneNumber
userinfo.homeEmail=homeEmail
userinfo.theme=theme
userinfo.theme.default=Default
userinfo.theme.minty=Minty
userinfo.theme.pulse=Pulse
userinfo.authnType=AuthenticationType
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,327 @@
/*!
* Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/
*,
*::before,
*::after {
box-sizing: border-box;
}
html {
font-family: sans-serif;
line-height: 1.15;
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
display: block;
}
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
font-size: 1rem;
font-weight: 400;
line-height: 1.5;
color: #212529;
text-align: left;
background-color: #fff;
}
[tabindex="-1"]:focus:not(:focus-visible) {
outline: 0 !important;
}
hr {
box-sizing: content-box;
height: 0;
overflow: visible;
}
h1, h2, h3, h4, h5, h6 {
margin-top: 0;
margin-bottom: 0.5rem;
}
p {
margin-top: 0;
margin-bottom: 1rem;
}
abbr[title],
abbr[data-original-title] {
text-decoration: underline;
-webkit-text-decoration: underline dotted;
text-decoration: underline dotted;
cursor: help;
border-bottom: 0;
-webkit-text-decoration-skip-ink: none;
text-decoration-skip-ink: none;
}
address {
margin-bottom: 1rem;
font-style: normal;
line-height: inherit;
}
ol,
ul,
dl {
margin-top: 0;
margin-bottom: 1rem;
}
ol ol,
ul ul,
ol ul,
ul ol {
margin-bottom: 0;
}
dt {
font-weight: 700;
}
dd {
margin-bottom: .5rem;
margin-left: 0;
}
blockquote {
margin: 0 0 1rem;
}
b,
strong {
font-weight: bolder;
}
small {
font-size: 80%;
}
sub,
sup {
position: relative;
font-size: 75%;
line-height: 0;
vertical-align: baseline;
}
sub {
bottom: -.25em;
}
sup {
top: -.5em;
}
a {
color: #007bff;
text-decoration: none;
background-color: transparent;
}
a:hover {
color: #0056b3;
text-decoration: underline;
}
a:not([href]) {
color: inherit;
text-decoration: none;
}
a:not([href]):hover {
color: inherit;
text-decoration: none;
}
pre,
code,
kbd,
samp {
font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
font-size: 1em;
}
pre {
margin-top: 0;
margin-bottom: 1rem;
overflow: auto;
}
figure {
margin: 0 0 1rem;
}
img {
vertical-align: middle;
border-style: none;
}
svg {
overflow: hidden;
vertical-align: middle;
}
table {
border-collapse: collapse;
}
caption {
padding-top: 0.75rem;
padding-bottom: 0.75rem;
color: #6c757d;
text-align: left;
caption-side: bottom;
}
th {
text-align: inherit;
}
label {
display: inline-block;
margin-bottom: 0.5rem;
}
button {
border-radius: 0;
}
button:focus {
outline: 1px dotted;
outline: 5px auto -webkit-focus-ring-color;
}
input,
button,
select,
optgroup,
textarea {
margin: 0;
font-family: inherit;
font-size: inherit;
line-height: inherit;
}
button,
input {
overflow: visible;
}
button,
select {
text-transform: none;
}
select {
word-wrap: normal;
}
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button;
}
button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
cursor: pointer;
}
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
padding: 0;
border-style: none;
}
input[type="radio"],
input[type="checkbox"] {
box-sizing: border-box;
padding: 0;
}
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
-webkit-appearance: listbox;
}
textarea {
overflow: auto;
resize: vertical;
}
fieldset {
min-width: 0;
padding: 0;
margin: 0;
border: 0;
}
legend {
display: block;
width: 100%;
max-width: 100%;
padding: 0;
margin-bottom: .5rem;
font-size: 1.5rem;
line-height: inherit;
color: inherit;
white-space: normal;
}
progress {
vertical-align: baseline;
}
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto;
}
[type="search"] {
outline-offset: -2px;
-webkit-appearance: none;
}
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
::-webkit-file-upload-button {
font: inherit;
-webkit-appearance: button;
}
output {
display: inline-block;
}
summary {
display: list-item;
cursor: pointer;
}
template {
display: none;
}
[hidden] {
display: none !important;
}
/*# sourceMappingURL=bootstrap-reboot.css.map */
File diff suppressed because one or more lines are too long
@@ -0,0 +1,8 @@
/*!
* Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]){color:inherit;text-decoration:none}a:not([href]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}
/*# sourceMappingURL=bootstrap-reboot.min.css.map */
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1,325 @@
// Minty 4.3.1
// Bootswatch
// Variables ===================================================================
$web-font-path: "https://fonts.googleapis.com/css?family=Montserrat&display=swap" !default;
@import url($web-font-path);
// Navbar ======================================================================
.navbar {
font-family: $headings-font-family;
}
.bg-dark {
background-color: $secondary !important;
}
.border-dark {
border-color: $secondary !important;
}
// Buttons =====================================================================
.btn {
font-family: $headings-font-family;
&,
&:hover {
color: $white;
}
&-light,
&-light:hover {
color: $gray-700;
}
&-link,
&-link:hover {
color: $primary;
}
&-link.disabled:hover {
color: $gray-600;
}
&-outline-primary {
color: $primary;
}
&-outline-secondary {
color: $secondary;
}
&-outline-success {
color: $success;
}
&-outline-info {
color: $info;
}
&-outline-warning {
color: $warning;
}
&-outline-danger {
color: $danger;
}
&-outline-dark {
color: $dark;
}
&-outline-light {
color: $light;
}
}
// Typography ==================================================================
// Tables ======================================================================
.table {
&-primary,
&-secondary,
&-success,
&-info,
&-warning,
&-danger {
color: #fff;
}
&-primary {
&, > th, > td {
background-color: $primary;
}
}
&-secondary {
&, > th, > td {
background-color: $secondary;
}
}
&-light {
&, > th, > td {
background-color: $light;
}
}
&-dark {
&, > th, > td {
background-color: $dark;
}
}
&-success {
&, > th, > td {
background-color: $success;
}
}
&-info {
&, > th, > td {
background-color: $info;
}
}
&-danger {
&, > th, > td {
background-color: $danger;
}
}
&-warning {
&, > th, > td {
background-color: $warning;
}
}
&-active {
&, > th, > td {
background-color: $table-active-bg;
}
}
&-hover {
.table-primary:hover {
&, > th, > td {
background-color: darken($primary, 5%);
}
}
.table-secondary:hover {
&, > th, > td {
background-color: darken($secondary, 5%);
}
}
.table-light:hover {
&, > th, > td {
background-color: darken($light, 5%);
}
}
.table-dark:hover {
&, > th, > td {
background-color: darken($dark, 5%);
}
}
.table-success:hover {
&, > th, > td {
background-color: darken($success, 5%);
}
}
.table-info:hover {
&, > th, > td {
background-color: darken($info, 5%);
}
}
.table-danger:hover {
&, > th, > td {
background-color: darken($danger, 5%);
}
}
.table-warning:hover {
&, > th, > td {
background-color: darken($warning, 5%);
}
}
.table-active:hover {
&, > th, > td {
background-color: $table-active-bg;
}
}
}
.thead-dark th {
background-color: $primary;
border-color: $table-border-color;
font-family: $headings-font-family;
}
}
// Forms =======================================================================
legend {
font-family: $headings-font-family;
}
// Navs ========================================================================
.dropdown-menu {
font-family: $font-family-sans-serif;
}
.breadcrumb {
a {
color: $navbar-dark-color;
}
a:hover {
color: $white;
text-decoration: none;
}
}
// Indicators ==================================================================
.alert {
color: $white;
h1, h2, h3, h4, h5, h6 {
color: inherit;
}
a,
.alert-link {
color: $white;
}
&-primary {
&, > th, > td {
background-color: $primary;
}
}
&-secondary {
&, > th, > td {
background-color: $secondary;
}
}
&-success {
&, > th, > td {
background-color: $success;
}
}
&-info {
&, > th, > td {
background-color: $info;
}
}
&-danger {
&, > th, > td {
background-color: $danger;
}
}
&-warning {
&, > th, > td {
background-color: $warning;
}
}
&-dark {
&, > th, > td {
background-color: $dark;
}
}
&-light {
&, > th, > td {
background-color: $light;
}
}
&-light {
&,
& a:not(.btn),
& .alert-link {
color: $body-color;
}
}
}
.badge {
color: $white;
&-light {
color: $gray-700;
}
}
// Progress bars ===============================================================
// Containers ==================================================================
.card,
.list-group-item {
h1, h2, h3, h4, h5, h6 {
color: inherit;
}
}
@@ -0,0 +1,97 @@
// Minty 4.3.1
// Bootswatch
//
// Color system
//
$white: #fff !default;
$gray-100: #f8f9fa !default;
$gray-200: #f7f7f9 !default;
$gray-300: #eceeef !default;
$gray-400: #ced4da !default;
$gray-500: #aaa !default;
$gray-600: #888 !default;
$gray-700: #5a5a5a !default;
$gray-800: #343a40 !default;
$gray-900: #212529 !default;
$black: #000 !default;
$blue: #007bff !default;
$indigo: #6610f2 !default;
$purple: #6f42c1 !default;
$pink: #e83e8c !default;
$red: #FF7851 !default;
$orange: #fd7e14 !default;
$yellow: #FFCE67 !default;
$green: #56CC9D !default;
$teal: #20c997 !default;
$cyan: #6CC3D5 !default;
$primary: #78C2AD !default;
$secondary: #F3969A !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-100 !default;
$dark: $gray-800 !default;
$yiq-contrasted-threshold: 250 !default;
// Body
$body-color: $gray-600 !default;
// Components
$border-radius: .4rem !default;
$border-radius-lg: .6rem !default;
$border-radius-sm: .3rem !default;
// Fonts
$headings-font-family: "Montserrat", -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !default;
$headings-color: $gray-700 !default;
// Tables
$table-border-color: rgba(0,0,0,0.05) !default;
// Dropdowns
$dropdown-link-hover-color: $white !default;
$dropdown-link-hover-bg: $secondary !default;
// Navbar
$navbar-dark-color: rgba($white,.6) !default;
$navbar-dark-hover-color: $white !default;
$navbar-light-color: rgba($black,.3) !default;
$navbar-light-hover-color: $gray-700 !default;
$navbar-light-active-color: $gray-700 !default;
$navbar-light-disabled-color: rgba($black,.1) !default;
// Pagination
$pagination-color: $white !default;
$pagination-bg: $primary !default;
$pagination-border-color: $primary !default;
$pagination-hover-color: $white !default;
$pagination-hover-bg: $secondary !default;
$pagination-hover-border-color: $pagination-hover-bg !default;
$pagination-active-bg: $secondary !default;
$pagination-active-border-color: $pagination-active-bg !default;
$pagination-disabled-color: $white !default;
$pagination-disabled-bg: #CCE8E0 !default;
$pagination-disabled-border-color: $pagination-disabled-bg !default;
// Breadcrumbs
$breadcrumb-bg: $primary !default;
$breadcrumb-divider-color: $white !default;
$breadcrumb-active-color: $breadcrumb-divider-color !default;
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,154 @@
// Pulse 4.3.1
// Bootswatch
// Variables ===================================================================
// Buttons =====================================================================
.btn {
&:focus,
&:active,
&:active:focus,
&.active:focus {
outline: none;
}
&-secondary {
background-color: $white;
border-color: #ccc;
color: $gray-900;
&:hover {
background-color: $gray-300;
border-color: $gray-500;
color: $gray-900;
}
&.disabled {
background-color: $white;
border-color: lighten(#ccc, 5%);
color: lighten($gray-900, 5%);
}
}
&-warning {
color: $white;
}
&-primary:focus {
box-shadow: 0 0 5px lighten($primary, 10%);
}
&-secondary:focus {
box-shadow: 0 0 5px $gray-400;
}
&-success:focus {
box-shadow: 0 0 5px lighten($success, 10%);
}
&-info:focus {
box-shadow: 0 0 5px lighten($info, 10%);
}
&-warning:focus {
box-shadow: 0 0 5px lighten($warning, 10%);
}
&-danger:focus {
box-shadow: 0 0 5px lighten($danger, 10%);
}
&.disabled:focus {
box-shadow: none;
}
}
// Typography ==================================================================
// Tables ======================================================================
.table .thead-dark th {
background-color: $secondary;
border-color: $table-border-color;
}
// Forms =======================================================================
.form-control:focus {
box-shadow: 0 0 5px rgba(100,65,164,.4);
}
// Navs ========================================================================
.nav-tabs {
.nav-link,
.nav-link.active, {
border-width: 0 0 1px 0;
}
.nav-link:hover,
.nav-link.active,
.nav-link.active:hover,
.nav-link.active:focus {
border-bottom: 1px solid $primary;
}
.nav-item + .nav-item {
margin-left: 0;
}
}
.breadcrumb {
&-item.active {
color: $gray-700;
}
}
// Indicators ==================================================================
.badge {
padding-bottom: 0.4em;
&-secondary,
&-warning {
color: $white;
}
}
// Progress bars ===============================================================
.progress {
height: 8px;
}
// Containers ==================================================================
.list-group {
&-item {
color: rgba(255, 255, 255, 0.8);
&.active,
&:hover,
&:focus {
color: #fff;
}
&.active {
font-weight: bold;
&:hover {
background-color: $list-group-hover-bg;
}
}
&.disabled:hover {
color: $list-group-disabled-color;
}
}
}
@@ -0,0 +1,100 @@
// Pulse 4.3.1
// Bootswatch
//
// Color system
//
$white: #fff !default;
$gray-100: #fafafa !default;
$gray-200: #F9F8FC !default;
$gray-300: #EDEDED !default;
$gray-400: #cbc8d0 !default;
$gray-500: #adb5bd !default;
$gray-600: #868e96 !default;
$gray-700: #444 !default;
$gray-800: #343a40 !default;
$gray-900: #17141F !default;
$black: #000 !default;
$blue: #007bff !default;
$indigo: #6610f2 !default;
$purple: #593196 !default;
$pink: #e83e8c !default;
$red: #FC3939 !default;
$orange: #fd7e14 !default;
$yellow: #EFA31D !default;
$green: #13B955 !default;
$teal: #20c997 !default;
$cyan: #009CDC !default;
$primary: $purple !default;
$secondary: #A991D4 !default;
$success: $green !default;
$info: $cyan !default;
$warning: $yellow !default;
$danger: $red !default;
$light: $gray-200 !default;
$dark: $gray-900 !default;
// Options
$enable-rounded: false !default;
// Body
$body-color: $gray-700 !default;
// Links
$link-hover-color: $primary !default;
// Fonts
$font-size-base: 0.875rem !default;
// Tables
$table-border-color: rgba(0, 0, 0, 0.05) !default;
// Forms
$input-focus-border-color: $primary !default;
// Dropdowns
$dropdown-link-color: $gray-700 !default;
$dropdown-link-hover-color: $white !default;
$dropdown-link-hover-bg: $primary !default;
// Navs
$nav-tabs-border-color: $gray-300 !default;
$nav-tabs-link-hover-border-color: $primary !default;
// Navbar
$navbar-padding-y: 1.2rem !default;
$navbar-dark-hover-color: rgba($white,.9) !default;
$navbar-dark-active-color: rgba($white,.9) !default;
$navbar-light-color: rgba($black,.4) !default;
$navbar-light-active-color: rgba($black,.7) !default;
$navbar-light-disabled-color: rgba($black,.2) !default;
// Progress bars
$progress-bg: $gray-300 !default;
$progress-bar-bg: $primary !default;
// List group
$list-group-bg: $gray-900 !default;
$list-group-border-color: transparent !default;
$list-group-hover-bg: lighten($list-group-bg, 10%) !default;
$list-group-active-color: $white !default;
$list-group-active-bg: $list-group-bg !default;
$list-group-disabled-color: lighten($list-group-bg, 30%) !default;
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -46,9 +46,7 @@ body{
border-bottom: 1px solid #e5e5e5;
}
#nav_primary{
background: #414141;
}
#nav_second{
height:35px;
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 413 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 340 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 251 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 322 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 277 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 338 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -1,3 +1,6 @@
#nav_primary{
background: #414141;
}
.menuprimary {
font: bold 12px Verdana;
width: 990px;
@@ -0,0 +1,282 @@
#nav_primary{
background: #414141;
}
.menuprimary {
font: bold 12px Verdana;
width: 990px;
margin: auto;
height: 41px;
}
.menucontainer {
float: left;
width: 990px;
margin-top: -2px;
}
.menuprimary ul {
z-index: 100;
margin: 0;
padding: 0;
list-style-type: none;
}
/*Top level list items*/
.menuprimary ul li {
position: relative;
display: inline;
float: left;
}
.menuprimary ul .primaryleft {
border-left: 1px solid white;
}
/*Top level menu link items style*/
.menuprimary ul li a {
display: block;
background: #414141; /*background of menu items (default state)*/
color: white;
padding: 10px 20px;
border-right: 1px solid white;
color: #2d2b2b;
text-decoration: none;
height: 40px;
font-size: 13px;
}
* html .menuprimary ul li a {
/*IE6 hack to get sub menu links to behave correctly*/
display: inline-block;
}
.menuprimary ul li a:link,.menuprimary ul li a:visited {
color: white;
}
.menuprimary ul li a.selected {
/*CSS class that's dynamically added to the currently active menu items' LI A element*/
background: #0769AD !important;
color: white;
}
.menuprimary ul li a:hover {
background: #0769AD;
/*background of menu items during onmouseover (hover state)*/
color: white;
}
/* sub menus */
.menuprimary ul li ul {
position: absolute;
left: -3000px;
display: none; /*collapse all sub menus to begin with*/
visibility: hidden;
}
/*Sub level menu list items (alters style from Top level List Items)*/
.menuprimary ul li ul li {
display: list-item;
float: none;
}
/*All subsequent sub menu levels vertical offset after 1st level sub menu */
.menuprimary ul li ul li ul {
top: 0;
}
/* Sub level menu links style */
.menuprimary ul li ul li a {
font: normal 13px Verdana;
width: 160px; /*width of sub menus*/
padding: 5px;
margin: 0;
border-top-width: 0;
border-bottom: 1px solid gray;
height: 90%;
}
/* Holly Hack for IE \*/
* html .menuprimary {
height: 1%;
} /*Holly Hack for IE7 and below*/
/* ######### CSS classes applied to down and right arrow images ######### */
.downarrowclass {
position: absolute;
top: 12px;
right: 7px;
}
.rightarrowclass {
position: absolute;
top: 6px;
right: 5px;
}
/* ######### CSS for shadow added to sub menus ######### */
.ddshadow {
position: absolute;
left: 0;
top: 0;
width: 0;
height: 0;
background-color: #ccc;
/* generally should be just a little lighter than the box-shadow color for CSS3 capable browsers */
}
.toplevelshadow {
margin: 5px 0 0 5px;
/* in NON CSS3 capable browsers gives the offset of the shadow */
opacity: 0.8;
/* shadow opacity mostly for NON CSS3 capable browsers. Doesn't work in IE */
}
.ddcss3support .ddshadow.toplevelshadow {
margin: 0;
/* in CSS3 capable browsers overrides offset from NON CSS3 capable browsers, allowing the box-shadow values in the next selector to govern that */
/* opacity: 1; */
/* optionally uncomment this to remove partial opacity for browsers supporting a box-shadow property which has its own slight gradient opacity */
}
.ddcss3support .ddshadow {
background-color: transparent;
box-shadow: 5px 5px 5px #aaa;
/* box-shadow color generally should be a little darker than that for the NON CSS3 capable browsers background-color */
-moz-box-shadow: 5px 5px 5px #aaa;
-webkit-box-shadow: 5px 5px 5px #aaa;
}
/************************************************************************************************************/
.menusecond {
font: bold 12px Verdana;
background: white; /*background of menu bar (default state)*/
width: 990px;
margin: auto;
}
.menusecond ul {
z-index: 100;
margin: 0;
padding: 0;
list-style-type: none;
}
/*Top level list items*/
.menusecond ul li {
position: relative;
display: inline;
float: left;
}
/*Top level menu link items style*/
.menusecond ul li a {
display: block;
background: white; /*background of menu items (default state)*/
color: #414141;
padding: 8px 10px;
border-right: 1px solid #778;
color: #2d2b2b;
text-decoration: none;
}
* html .menusecond ul li a {
/*IE6 hack to get sub menu links to behave correctly*/
display: inline-block;
}
.menusecond ul li a:link,.menusecond ul li a:visited {
color: #414141;
}
.menusecond ul li a.selected {
/*CSS class that's dynamically added to the currently active menu items' LI A element*/
background: #F0F0F0 !important;
color: #414141;
}
.menusecond ul li a:hover {
background: #F0F0F0;
/*background of menu items during onmouseover (hover state)*/
color: #414141;
}
/* sub menus */
.menusecond ul li ul {
position: absolute;
left: -3000px;
display: none; /*collapse all sub menus to begin with*/
visibility: hidden;
}
/*Sub level menu list items (alters style from Top level List Items)*/
.menusecond ul li ul li {
display: list-item;
float: none;
}
/*All subsequent sub menu levels vertical offset after 1st level sub menu */
.menusecond ul li ul li ul {
top: 0;
}
/* Sub level menu links style */
.menusecond ul li ul li a {
font: normal 13px Verdana;
width: 160px; /*width of sub menus*/
padding: 5px;
margin: 0;
border-top-width: 0;
border-bottom: 1px solid gray;
}
/* Holly Hack for IE \*/
* html .menusecond {
height: 1%;
} /*Holly Hack for IE7 and below*/
/* ######### CSS classes applied to down and right arrow images ######### */
.downarrowclass {
position: absolute;
top: 12px;
right: 7px;
}
.rightarrowclass {
position: absolute;
top: 6px;
right: 5px;
}
/* ######### CSS for shadow added to sub menus ######### */
.ddshadow {
position: absolute;
left: 0;
top: 0;
width: 0;
height: 0;
background-color: #ccc;
/* generally should be just a little lighter than the box-shadow color for CSS3 capable browsers */
}
.toplevelshadow {
margin: 5px 0 0 5px;
/* in NON CSS3 capable browsers gives the offset of the shadow */
opacity: 0.8;
/* shadow opacity mostly for NON CSS3 capable browsers. Doesn't work in IE */
}
.ddcss3support .ddshadow.toplevelshadow {
margin: 0;
/* in CSS3 capable browsers overrides offset from NON CSS3 capable browsers, allowing the box-shadow values in the next selector to govern that */
/* opacity: 1; */
/* optionally uncomment this to remove partial opacity for browsers supporting a box-shadow property which has its own slight gradient opacity */
}
.ddcss3support .ddshadow {
background-color: transparent;
box-shadow: 5px 5px 5px #aaa;
/* box-shadow color generally should be a little darker than that for the NON CSS3 capable browsers background-color */
-moz-box-shadow: 5px 5px 5px #aaa;
-webkit-box-shadow: 5px 5px 5px #aaa;
}
@@ -0,0 +1,282 @@
#nav_primary{
background: #31402a;
}
.menuprimary {
font: bold 12px Verdana;
width: 990px;
margin: auto;
height: 41px;
}
.menucontainer {
float: left;
width: 990px;
margin-top: -2px;
}
.menuprimary ul {
z-index: 100;
margin: 0;
padding: 0;
list-style-type: none;
}
/*Top level list items*/
.menuprimary ul li {
position: relative;
display: inline;
float: left;
}
.menuprimary ul .primaryleft {
border-left: 1px solid white;
}
/*Top level menu link items style*/
.menuprimary ul li a {
display: block;
background: #31402a; /*background of menu items (default state)*/
color: white;
padding: 10px 20px;
border-right: 1px solid white;
color: #2d2b2b;
text-decoration: none;
height: 40px;
font-size: 13px;
}
* html .menuprimary ul li a {
/*IE6 hack to get sub menu links to behave correctly*/
display: inline-block;
}
.menuprimary ul li a:link,.menuprimary ul li a:visited {
color: white;
}
.menuprimary ul li a.selected {
/*CSS class that's dynamically added to the currently active menu items' LI A element*/
background: #ef8200 !important;
color: white;
}
.menuprimary ul li a:hover {
background: #ef8200;
/*background of menu items during onmouseover (hover state)*/
color: white;
}
/* sub menus */
.menuprimary ul li ul {
position: absolute;
left: -3000px;
display: none; /*collapse all sub menus to begin with*/
visibility: hidden;
}
/*Sub level menu list items (alters style from Top level List Items)*/
.menuprimary ul li ul li {
display: list-item;
float: none;
}
/*All subsequent sub menu levels vertical offset after 1st level sub menu */
.menuprimary ul li ul li ul {
top: 0;
}
/* Sub level menu links style */
.menuprimary ul li ul li a {
font: normal 13px Verdana;
width: 160px; /*width of sub menus*/
padding: 5px;
margin: 0;
border-top-width: 0;
border-bottom: 1px solid gray;
height: 90%;
}
/* Holly Hack for IE \*/
* html .menuprimary {
height: 1%;
} /*Holly Hack for IE7 and below*/
/* ######### CSS classes applied to down and right arrow images ######### */
.downarrowclass {
position: absolute;
top: 12px;
right: 7px;
}
.rightarrowclass {
position: absolute;
top: 6px;
right: 5px;
}
/* ######### CSS for shadow added to sub menus ######### */
.ddshadow {
position: absolute;
left: 0;
top: 0;
width: 0;
height: 0;
background-color: #ccc;
/* generally should be just a little lighter than the box-shadow color for CSS3 capable browsers */
}
.toplevelshadow {
margin: 5px 0 0 5px;
/* in NON CSS3 capable browsers gives the offset of the shadow */
opacity: 0.8;
/* shadow opacity mostly for NON CSS3 capable browsers. Doesn't work in IE */
}
.ddcss3support .ddshadow.toplevelshadow {
margin: 0;
/* in CSS3 capable browsers overrides offset from NON CSS3 capable browsers, allowing the box-shadow values in the next selector to govern that */
/* opacity: 1; */
/* optionally uncomment this to remove partial opacity for browsers supporting a box-shadow property which has its own slight gradient opacity */
}
.ddcss3support .ddshadow {
background-color: transparent;
box-shadow: 5px 5px 5px #aaa;
/* box-shadow color generally should be a little darker than that for the NON CSS3 capable browsers background-color */
-moz-box-shadow: 5px 5px 5px #aaa;
-webkit-box-shadow: 5px 5px 5px #aaa;
}
/************************************************************************************************************/
.menusecond {
font: bold 12px Verdana;
background: white; /*background of menu bar (default state)*/
width: 990px;
margin: auto;
}
.menusecond ul {
z-index: 100;
margin: 0;
padding: 0;
list-style-type: none;
}
/*Top level list items*/
.menusecond ul li {
position: relative;
display: inline;
float: left;
}
/*Top level menu link items style*/
.menusecond ul li a {
display: block;
background: white; /*background of menu items (default state)*/
color: #31402a;
padding: 8px 10px;
border-right: 1px solid #778;
color: #2d2b2b;
text-decoration: none;
}
* html .menusecond ul li a {
/*IE6 hack to get sub menu links to behave correctly*/
display: inline-block;
}
.menusecond ul li a:link,.menusecond ul li a:visited {
color: #31402a;
}
.menusecond ul li a.selected {
/*CSS class that's dynamically added to the currently active menu items' LI A element*/
background: #F0F0F0 !important;
color: #31402a;
}
.menusecond ul li a:hover {
background: #F0F0F0;
/*background of menu items during onmouseover (hover state)*/
color: #31402a;
}
/* sub menus */
.menusecond ul li ul {
position: absolute;
left: -3000px;
display: none; /*collapse all sub menus to begin with*/
visibility: hidden;
}
/*Sub level menu list items (alters style from Top level List Items)*/
.menusecond ul li ul li {
display: list-item;
float: none;
}
/*All subsequent sub menu levels vertical offset after 1st level sub menu */
.menusecond ul li ul li ul {
top: 0;
}
/* Sub level menu links style */
.menusecond ul li ul li a {
font: normal 13px Verdana;
width: 160px; /*width of sub menus*/
padding: 5px;
margin: 0;
border-top-width: 0;
border-bottom: 1px solid gray;
}
/* Holly Hack for IE \*/
* html .menusecond {
height: 1%;
} /*Holly Hack for IE7 and below*/
/* ######### CSS classes applied to down and right arrow images ######### */
.downarrowclass {
position: absolute;
top: 12px;
right: 7px;
}
.rightarrowclass {
position: absolute;
top: 6px;
right: 5px;
}
/* ######### CSS for shadow added to sub menus ######### */
.ddshadow {
position: absolute;
left: 0;
top: 0;
width: 0;
height: 0;
background-color: #ccc;
/* generally should be just a little lighter than the box-shadow color for CSS3 capable browsers */
}
.toplevelshadow {
margin: 5px 0 0 5px;
/* in NON CSS3 capable browsers gives the offset of the shadow */
opacity: 0.8;
/* shadow opacity mostly for NON CSS3 capable browsers. Doesn't work in IE */
}
.ddcss3support .ddshadow.toplevelshadow {
margin: 0;
/* in CSS3 capable browsers overrides offset from NON CSS3 capable browsers, allowing the box-shadow values in the next selector to govern that */
/* opacity: 1; */
/* optionally uncomment this to remove partial opacity for browsers supporting a box-shadow property which has its own slight gradient opacity */
}
.ddcss3support .ddshadow {
background-color: transparent;
box-shadow: 5px 5px 5px #aaa;
/* box-shadow color generally should be a little darker than that for the NON CSS3 capable browsers background-color */
-moz-box-shadow: 5px 5px 5px #aaa;
-webkit-box-shadow: 5px 5px 5px #aaa;
}
@@ -0,0 +1,283 @@
#nav_primary{
background: #721170;
}
.menuprimary {
font: bold 12px Verdana;
width: 990px;
margin: auto;
height: 41px;
}
.menucontainer {
float: left;
width: 990px;
margin-top: -2px;
}
.menuprimary ul {
z-index: 100;
margin: 0;
padding: 0;
list-style-type: none;
}
/*Top level list items*/
.menuprimary ul li {
position: relative;
display: inline;
float: left;
}
.menuprimary ul .primaryleft {
border-left: 1px solid white;
}
/*Top level menu link items style*/
.menuprimary ul li a {
display: block;
background: #721170; /*background of menu items (default state)*/
color: white;
padding: 10px 20px;
border-right: 1px solid white;
color: #2d2b2b;
text-decoration: none;
height: 40px;
font-size: 13px;
}
* html .menuprimary ul li a {
/*IE6 hack to get sub menu links to behave correctly*/
display: inline-block;
}
.menuprimary ul li a:link,.menuprimary ul li a:visited {
color: white;
}
.menuprimary ul li a.selected {
/*CSS class that's dynamically added to the currently active menu items' LI A element*/
background: #63065f !important;
color: white;
}
.menuprimary ul li a:hover {
background: #63065f;
/*background of menu items during onmouseover (hover state)*/
color: white;
}
/* sub menus */
.menuprimary ul li ul {
position: absolute;
left: -3000px;
display: none; /*collapse all sub menus to begin with*/
visibility: hidden;
}
/*Sub level menu list items (alters style from Top level List Items)*/
.menuprimary ul li ul li {
display: list-item;
float: none;
}
/*All subsequent sub menu levels vertical offset after 1st level sub menu */
.menuprimary ul li ul li ul {
top: 0;
}
/* Sub level menu links style */
.menuprimary ul li ul li a {
font: normal 13px Verdana;
width: 160px; /*width of sub menus*/
padding: 5px;
margin: 0;
border-top-width: 0;
border-bottom: 1px solid gray;
height: 90%;
}
/* Holly Hack for IE \*/
* html .menuprimary {
height: 1%;
} /*Holly Hack for IE7 and below*/
/* ######### CSS classes applied to down and right arrow images ######### */
.downarrowclass {
position: absolute;
top: 12px;
right: 7px;
}
.rightarrowclass {
position: absolute;
top: 6px;
right: 5px;
}
/* ######### CSS for shadow added to sub menus ######### */
.ddshadow {
position: absolute;
left: 0;
top: 0;
width: 0;
height: 0;
background-color: #ccc;
/* generally should be just a little lighter than the box-shadow color for CSS3 capable browsers */
}
.toplevelshadow {
margin: 5px 0 0 5px;
/* in NON CSS3 capable browsers gives the offset of the shadow */
opacity: 0.8;
/* shadow opacity mostly for NON CSS3 capable browsers. Doesn't work in IE */
}
.ddcss3support .ddshadow.toplevelshadow {
margin: 0;
/* in CSS3 capable browsers overrides offset from NON CSS3 capable browsers, allowing the box-shadow values in the next selector to govern that */
/* opacity: 1; */
/* optionally uncomment this to remove partial opacity for browsers supporting a box-shadow property which has its own slight gradient opacity */
}
.ddcss3support .ddshadow {
background-color: transparent;
box-shadow: 5px 5px 5px #aaa;
/* box-shadow color generally should be a little darker than that for the NON CSS3 capable browsers background-color */
-moz-box-shadow: 5px 5px 5px #aaa;
-webkit-box-shadow: 5px 5px 5px #aaa;
}
/************************************************************************************************************/
.menusecond {
font: bold 12px Verdana;
background: white; /*background of menu bar (default state)*/
width: 990px;
margin: auto;
}
.menusecond ul {
z-index: 100;
margin: 0;
padding: 0;
list-style-type: none;
}
/*Top level list items*/
.menusecond ul li {
position: relative;
display: inline;
float: left;
}
/*Top level menu link items style*/
.menusecond ul li a {
display: block;
background: white; /*background of menu items (default state)*/
color: #721170;
padding: 8px 10px;
border-right: 1px solid #778;
color: #2d2b2b;
text-decoration: none;
}
* html .menusecond ul li a {
/*IE6 hack to get sub menu links to behave correctly*/
display: inline-block;
}
.menusecond ul li a:link,.menusecond ul li a:visited {
color: #721170;
}
.menusecond ul li a.selected {
/*CSS class that's dynamically added to the currently active menu items' LI A element*/
background: #F0F0F0 !important;
color: #414141;
}
.menusecond ul li a:hover {
background: #F0F0F0;
/*background of menu items during onmouseover (hover state)*/
color: #414141;
}
/* sub menus */
.menusecond ul li ul {
position: absolute;
left: -3000px;
display: none; /*collapse all sub menus to begin with*/
visibility: hidden;
}
/*Sub level menu list items (alters style from Top level List Items)*/
.menusecond ul li ul li {
display: list-item;
float: none;
}
/*All subsequent sub menu levels vertical offset after 1st level sub menu */
.menusecond ul li ul li ul {
top: 0;
}
/* Sub level menu links style */
.menusecond ul li ul li a {
font: normal 13px Verdana;
width: 160px; /*width of sub menus*/
padding: 5px;
margin: 0;
border-top-width: 0;
border-bottom: 1px solid gray;
}
/* Holly Hack for IE \*/
* html .menusecond {
height: 1%;
} /*Holly Hack for IE7 and below*/
/* ######### CSS classes applied to down and right arrow images ######### */
.downarrowclass {
position: absolute;
top: 12px;
right: 7px;
}
.rightarrowclass {
position: absolute;
top: 6px;
right: 5px;
}
/* ######### CSS for shadow added to sub menus ######### */
.ddshadow {
position: absolute;
left: 0;
top: 0;
width: 0;
height: 0;
background-color: #ccc;
/* generally should be just a little lighter than the box-shadow color for CSS3 capable browsers */
}
.toplevelshadow {
margin: 5px 0 0 5px;
/* in NON CSS3 capable browsers gives the offset of the shadow */
opacity: 0.8;
/* shadow opacity mostly for NON CSS3 capable browsers. Doesn't work in IE */
}
.ddcss3support .ddshadow.toplevelshadow {
margin: 0;
/* in CSS3 capable browsers overrides offset from NON CSS3 capable browsers, allowing the box-shadow values in the next selector to govern that */
/* opacity: 1; */
/* optionally uncomment this to remove partial opacity for browsers supporting a box-shadow property which has its own slight gradient opacity */
}
.ddcss3support .ddshadow {
background-color: transparent;
box-shadow: 5px 5px 5px #aaa;
/* box-shadow color generally should be a little darker than that for the NON CSS3 capable browsers background-color */
-moz-box-shadow: 5px 5px 5px #aaa;
-webkit-box-shadow: 5px 5px 5px #aaa;
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 418 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 205 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 348 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 207 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 278 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 328 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -4,6 +4,7 @@
<script src ="<@base />/static/jquery/popper.min.js" type="text/javascript" ></script>
<#-- bootstrap-4.4.1 -->
<link href="<@base />/static/bootstrap-4.4.1/css/bootstrap.min.css" type="text/css" rel="stylesheet" />
<link href="<@base />/static/bootstrap-4.4.1/css/<@theme/>/bootstrap.min.css" type="text/css" rel="stylesheet" />
<script src ="<@base />/static/bootstrap-4.4.1/js/bootstrap.min.js" type="text/javascript" ></script>
<#-- metadata -->
<script src ="<@base />/static/jquery/jquery.metadata.js" type="text/javascript" ></script>
@@ -79,6 +80,6 @@
<#-- common css begin -->
<#-- if browser is not msie 6.0,follow styles over ie 6.0 style -->
<link type="text/css" rel="stylesheet" href="<@base />/static/css/base.css"/>
<link type="text/css" rel="stylesheet" href="<@base />/static/css/menu.css"/>
<link type="text/css" rel="stylesheet" href="<@base />/static/css/menu_<@theme/>.css"/>
<link type="text/css" rel="stylesheet" href="<@base />/static/css/login.css"/>
<#-- common css end -->
@@ -84,6 +84,16 @@
<label for="verify"></label>
</td>
</tr>
<tr>
<th><@locale code="userinfo.theme" />:</th>
<td nowrap>
<select class="form-control" name="theme" id="theme">
<option value="default" <#if "default"==model.theme >selected</#if> ><@locale code="userinfo.theme.default" /></option>
<option value="minty" <#if "minty" ==model.theme >selected</#if> ><@locale code="userinfo.theme.minty" /></option>
<option value="pulse" <#if "pulse" ==model.theme >selected</#if> ><@locale code="userinfo.theme.pulse" /></option>
</select>
</td>
</tr>
<tr>
<td colspan="2" class="center">
<input id="_method" type="hidden" name="_method" value="post"/>