1328 lines
29 KiB
CSS
1328 lines
29 KiB
CSS
/*******************************************************************************
|
|
* *
|
|
* Fonts *
|
|
* *
|
|
******************************************************************************/
|
|
|
|
@font-face {
|
|
font-family: 'Avenir Book';
|
|
src: url('../fonts/Avenir-Book.ttf');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'Avenir Medium';
|
|
src: url('../fonts/Avenir-Medium.ttf');
|
|
}
|
|
|
|
@font-face {
|
|
font-family: 'Ringbearer';
|
|
src: url('../fonts/Ringbearer.ttf');
|
|
}
|
|
|
|
/*******************************************************************************
|
|
* *
|
|
* Element Styles *
|
|
* *
|
|
******************************************************************************/
|
|
|
|
/* Reset body, html, and div presets. */
|
|
body, html, div {
|
|
margin: 0px;
|
|
padding: 0px;
|
|
}
|
|
|
|
/* Reset p presets. */
|
|
p {
|
|
-webkit-margin-before: 0em;
|
|
-webkit-margin-after: 0em;
|
|
}
|
|
|
|
|
|
/*body {
|
|
background: url('./../images/backgrounds/0.jpg') no-repeat center center fixed;
|
|
background-size: cover;
|
|
}*/
|
|
|
|
/*******************************************************************************
|
|
* *
|
|
* Frame Styles (frame.ejs) *
|
|
* *
|
|
******************************************************************************/
|
|
|
|
#frame_bar {
|
|
-webkit-app-region: drag;
|
|
-webkit-user-select: none;
|
|
background: rgba(1, 2, 1, 0.5);
|
|
min-height: 22px;
|
|
display: flex;
|
|
align-items: center;
|
|
position: relative;
|
|
z-index: 10000;
|
|
}
|
|
|
|
#frame_btn_dock {
|
|
margin-left: 2px;
|
|
}
|
|
|
|
.frame_btn {
|
|
height: 12px;
|
|
width: 12px;
|
|
border-radius: 50%;
|
|
border: 0px;
|
|
margin-left: 5px;
|
|
-webkit-app-region: no-drag !important;
|
|
cursor: pointer;
|
|
}
|
|
|
|
.frame_btn:focus {
|
|
outline: 0px;
|
|
}
|
|
|
|
#frame_btn_close {
|
|
background-color: #e74c32;
|
|
}
|
|
#frame_btn_close:hover,
|
|
#frame_btn_close:focus {
|
|
background-color: #FF9A8A;
|
|
}
|
|
#frame_btn_close:active {
|
|
background-color: #ff8d7b;
|
|
}
|
|
|
|
#frame_btn_restoredown {
|
|
background-color: #fed045;
|
|
}
|
|
#frame_btn_restoredown:hover,
|
|
#frame_btn_restoredown:focus {
|
|
background-color: #FFE9A9;
|
|
}
|
|
#frame_btn_restoredown:active {
|
|
background-color: #ffde7b;
|
|
}
|
|
|
|
#frame_btn_minimize {
|
|
background-color: #96e734;
|
|
}
|
|
#frame_btn_minimize:hover,
|
|
#frame_btn_minimize:focus {
|
|
background-color: #D6FFA6;
|
|
}
|
|
#frame_btn_minimize:active {
|
|
background-color: #bfff76;
|
|
}
|
|
|
|
/*******************************************************************************
|
|
* *
|
|
* Welcome View (welcome.ejs) *
|
|
* *
|
|
******************************************************************************/
|
|
|
|
#welcomeContainer {
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 100%;
|
|
width: 100%;
|
|
transition: 0.25s ease;
|
|
}
|
|
|
|
#welcomeContent {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
width: 50%;
|
|
top: -10%;
|
|
position: relative;
|
|
}
|
|
|
|
.cloudDiv {
|
|
position: absolute;
|
|
height: 100%;
|
|
width: 100%;
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
.cloudTop {
|
|
height: 50%;
|
|
width: 100%;
|
|
background-image: url('../images/cloudTrans.png');
|
|
animation: clouds1 80s linear infinite;
|
|
background-size: cover;
|
|
}
|
|
|
|
.cloudBottom {
|
|
height: 50%;
|
|
width: 100%;
|
|
background-image: url('../images/cloudTrans2.png');
|
|
animation: clouds2 70s linear infinite;
|
|
background-size: cover;
|
|
}
|
|
|
|
@keyframes clouds1 {
|
|
to {
|
|
background-position: 200%;
|
|
}
|
|
}
|
|
@keyframes clouds2 {
|
|
to {
|
|
background-position: 230%;
|
|
}
|
|
}
|
|
|
|
#welcomeImageSeal {
|
|
border-radius: 50%;
|
|
border: 2px solid #cad7e1;
|
|
background: rgba(1, 2, 1, 0.5);
|
|
height: 125px;
|
|
width: 125px;
|
|
box-shadow: 0px 0px 10px 0px rgb(0, 0, 0);
|
|
margin-bottom: 10%;
|
|
margin-top: 10%;
|
|
}
|
|
|
|
#welcomeHeader {
|
|
font-family: 'Avenir Medium';
|
|
text-align: center;
|
|
color: white;
|
|
margin-bottom: 25px;
|
|
letter-spacing: 1px;
|
|
font-size: 20px;
|
|
text-shadow: white 0px 0px 0px;
|
|
}
|
|
|
|
#welcomeDescription {
|
|
font-family: 'Avenir Book';
|
|
text-align: center;
|
|
color: white;
|
|
font-size: 14px;
|
|
font-weight: 100;
|
|
text-shadow: rgba(255, 255, 255, 0.75) 0px 0px 20px
|
|
}
|
|
|
|
/* Login button styles. */
|
|
#welcomeButton {
|
|
background: none;
|
|
color: #fff;
|
|
font-weight: bold;
|
|
font-family: 'Avenir Book';
|
|
letter-spacing: 2px;
|
|
border: none;
|
|
padding: 15px 5px;
|
|
margin: 10px 0px;
|
|
cursor: pointer;
|
|
position: relative;
|
|
right: -20px;
|
|
transition: 0.5s ease;
|
|
margin-top: 5%;
|
|
margin-bottom: -5%;
|
|
}
|
|
#welcomeButton:disabled {
|
|
color: rgba(255, 255, 255, 0.75);
|
|
pointer-events: none;
|
|
}
|
|
#welcomeButton:hover,
|
|
#welcomeButton:focus {
|
|
text-shadow: 0px 0px 20px #fff;
|
|
outline: none;
|
|
}
|
|
#welcomeButton:active {
|
|
color: #c7c7c7;
|
|
text-shadow: 0px 0px 20px #c7c7c7;
|
|
}
|
|
#welcomeSVG {
|
|
-webkit-transform: translate3d(0, 0, 0);
|
|
overflow: visible;
|
|
transform: rotate(90deg);
|
|
margin-left: 20px;
|
|
transition: 0.25s ease;
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
#welcomeButton:hover #welcomeSVG,
|
|
#welcomeButton:focus #welcomeSVG {
|
|
-webkit-filter: drop-shadow(0px 0px 2px #fff);
|
|
}
|
|
#welcomeButton:active #welcomeSVG .arrowLine {
|
|
stroke: #c7c7c7;
|
|
}
|
|
#welcomeButton:active #welcomeSVG {
|
|
-webkit-filter: drop-shadow(0px 0px 2px #c7c7c7);
|
|
}
|
|
#welcomeButton:disabled #welcomeSVG .arrowLine {
|
|
stroke: rgba(255, 255, 255, 0.75);
|
|
}
|
|
|
|
#welcomeButtonContent {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
/*******************************************************************************
|
|
* *
|
|
* Login View (login.ejs) *
|
|
* *
|
|
******************************************************************************/
|
|
|
|
/* Login span styles. */
|
|
.loginSpan {
|
|
font-family: 'Avenir Book';
|
|
font-size: 14px;
|
|
color: #fff;
|
|
font-weight: bold;
|
|
}
|
|
|
|
/* Styles for dimmer login span. */
|
|
.loginSpanDim {
|
|
font-family: 'Avenir Book';
|
|
font-size: 12px;
|
|
color: #848484;
|
|
font-weight: bold;
|
|
}
|
|
|
|
/* Main login container. */
|
|
#loginContainer {
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 100%;
|
|
width: 100%;
|
|
transition: filter 0.25s ease;
|
|
}
|
|
|
|
/* Login content wrapper. */
|
|
#loginContent {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 100%;
|
|
padding: 0px 25px;
|
|
}
|
|
|
|
/* Login form. */
|
|
#loginForm {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
/* Login form anchor styles. */
|
|
#loginForm a {
|
|
font-family: 'Avenir Book';
|
|
font-size: 12px;
|
|
color: #848484;
|
|
font-weight: bold;
|
|
text-decoration: none;
|
|
transition: 0.25s ease;
|
|
}
|
|
#loginForm a:hover,
|
|
#loginForm a:focus {
|
|
color: #a2a2a2;
|
|
outline: none;
|
|
}
|
|
#loginForm a:active {
|
|
color: #8b8b8b;
|
|
}
|
|
|
|
/* Logo on login form. */
|
|
#loginImageSeal {
|
|
border-radius: 50%;
|
|
border: 2px solid #cad7e1;
|
|
background: rgba(1, 2, 1, 0.5);
|
|
height: 125px;
|
|
width: 125px;
|
|
box-shadow: 0px 0px 10px 0px rgb(0, 0, 0);
|
|
margin-bottom: 20px;
|
|
}
|
|
|
|
/* Header on login view. */
|
|
#loginSubheader {
|
|
font-family: 'Avenir Medium';
|
|
margin-bottom: 25px;
|
|
font-size: 12px;
|
|
letter-spacing: 1px;
|
|
}
|
|
|
|
/* Container to organize login field elements. */
|
|
.loginFieldContainer {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
/* SVG icons on the login view. */
|
|
.loginSVG {
|
|
fill: #fff;
|
|
height: 20px;
|
|
width: 20px;
|
|
}
|
|
|
|
/* Span which displays errors related to login field content. */
|
|
.loginErrorSpan {
|
|
font-family: 'Avenir Medium';
|
|
font-weight: bold;
|
|
font-size: 8px;
|
|
color: #ff1b0c;
|
|
width: 100%;
|
|
text-align: right;
|
|
position: absolute;
|
|
top: 7px;
|
|
opacity: 0;
|
|
transition: 0.25s ease;
|
|
}
|
|
|
|
.shake {
|
|
animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
|
|
}
|
|
|
|
@keyframes shake {
|
|
10%, 90% {
|
|
transform: translate3d(-1px, 0, 0);
|
|
}
|
|
|
|
20%, 80% {
|
|
transform: translate3d(2px, 0, 0);
|
|
}
|
|
|
|
30%, 50%, 70% {
|
|
transform: translate3d(-4px, 0, 0);
|
|
}
|
|
|
|
40%, 60% {
|
|
transform: translate3d(4px, 0, 0);
|
|
}
|
|
}
|
|
|
|
/* Login text input styles. */
|
|
.loginField {
|
|
font-family: 'Avenir Book';
|
|
background: none;
|
|
border-width: 1.5px 0px 0px 0px;
|
|
border-style: solid;
|
|
width: 250px;
|
|
margin-bottom: 20px;
|
|
border-color: #fff;
|
|
color: rgba(255, 255, 255, 0.75);
|
|
font-weight: bold;
|
|
text-align: center;
|
|
box-sizing: border-box;
|
|
padding: 7.5px;
|
|
font-size: 10px;
|
|
letter-spacing: 1px;
|
|
}
|
|
.loginField:focus {
|
|
outline: none;
|
|
}
|
|
.loginField:disabled {
|
|
color: rgba(255, 255, 255, 0.50);
|
|
}
|
|
.loginField::-webkit-input-placeholder {
|
|
color: rgba(255, 255, 255, 0.75);
|
|
font-size: 10px;
|
|
letter-spacing: 1px;
|
|
text-align: center;
|
|
font-weight: bold;
|
|
}
|
|
.loginField:focus::-webkit-input-placeholder {
|
|
color: transparent;
|
|
}
|
|
|
|
/* Add spacing between password field and options bar. */
|
|
#labelPassword {
|
|
margin-bottom: 13px;
|
|
}
|
|
|
|
/* Container which contains the forgot and remember options. */
|
|
#loginOptions {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
width: 100%;
|
|
}
|
|
|
|
/* Remember option text. */
|
|
#loginRememberText {
|
|
padding-right: 10px;
|
|
transition: 0.25s ease;
|
|
}
|
|
|
|
/* Login button styles. */
|
|
#loginButton {
|
|
background: none;
|
|
color: #fff;
|
|
font-weight: bold;
|
|
font-family: 'Avenir Book';
|
|
letter-spacing: 2px;
|
|
border: none;
|
|
padding: 15px 5px;
|
|
margin: 10px 0px;
|
|
cursor: pointer;
|
|
position: relative;
|
|
right: -20px;
|
|
transition: 0.5s ease;
|
|
}
|
|
#loginButton:disabled {
|
|
color: rgba(255, 255, 255, 0.75);
|
|
pointer-events: none;
|
|
}
|
|
#loginButton[loading] {
|
|
color: #fff;
|
|
}
|
|
#loginButton:hover,
|
|
#loginButton:focus {
|
|
text-shadow: 0px 0px 20px #fff;
|
|
outline: none;
|
|
}
|
|
#loginButton:active {
|
|
color: #c7c7c7;
|
|
text-shadow: 0px 0px 20px #c7c7c7;
|
|
}
|
|
#loginSVG {
|
|
-webkit-transform: translate3d(0, 0, 0);
|
|
overflow: visible;
|
|
transform: rotate(90deg);
|
|
margin-left: 20px;
|
|
transition: 0.25s ease;
|
|
width: 20px;
|
|
height: 20px;
|
|
}
|
|
#loginButton:hover #loginSVG,
|
|
#loginButton:focus #loginSVG {
|
|
-webkit-filter: drop-shadow(0px 0px 2px #fff);
|
|
}
|
|
#loginButton:active #loginSVG .arrowLine {
|
|
stroke: #c7c7c7;
|
|
}
|
|
#loginButton:active #loginSVG {
|
|
-webkit-filter: drop-shadow(0px 0px 2px #c7c7c7);
|
|
}
|
|
#loginButton:disabled #loginSVG .arrowLine {
|
|
stroke: rgba(255, 255, 255, 0.75);
|
|
}
|
|
|
|
#loginButtonContent {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
#loginButton .circle-loader,
|
|
#loginButton[loading] #loginSVG {
|
|
display: none;
|
|
}
|
|
#loginButton[loading] .circle-loader,
|
|
#loginButton #loginSVG {
|
|
display: initial;
|
|
}
|
|
|
|
|
|
.circle-loader {
|
|
margin-left: 20px;
|
|
border: 2px solid rgba(255, 255, 255, 0.5);
|
|
border-left-color: #ffffff;
|
|
animation-name: loader-spin;
|
|
animation-duration: 1s;
|
|
animation-iteration-count: infinite;
|
|
animation-timing-function: linear;
|
|
position: relative;
|
|
display: inline-block;
|
|
vertical-align: top;
|
|
border-radius: 50%;
|
|
width: 16px;
|
|
height: 16px;
|
|
}
|
|
.load-complete {
|
|
animation: none;
|
|
border-color: #ffffff;
|
|
transition: border 500ms ease-out;
|
|
}
|
|
.checkmark {
|
|
display: none;
|
|
}
|
|
.checkmark.draw:after {
|
|
animation-duration: 800ms;
|
|
animation-timing-function: ease;
|
|
animation-name: checkmark;
|
|
transform: scaleX(-1) rotate(135deg);
|
|
}
|
|
.checkmark:after {
|
|
opacity: 1;
|
|
height: 8px;
|
|
width: 4px;
|
|
transform-origin: left top;
|
|
border-right: 2px solid #ffffff;
|
|
border-top: 2px solid #ffffff;
|
|
content: '';
|
|
left: 2px;
|
|
top: 8px;
|
|
position: absolute;
|
|
}
|
|
@keyframes loader-spin {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
@keyframes checkmark {
|
|
0% {
|
|
height: 0;
|
|
width: 0;
|
|
opacity: 1;
|
|
}
|
|
20% {
|
|
height: 0;
|
|
width: 4px;
|
|
opacity: 1;
|
|
}
|
|
40% {
|
|
height: 8px;
|
|
width: 4px;
|
|
opacity: 1;
|
|
}
|
|
100% {
|
|
height: 8px;
|
|
width: 4px;
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/*.spinningCircle {
|
|
margin-left: 20px;
|
|
height: 16px;
|
|
width: 16px;
|
|
border-radius: 50%;
|
|
border: 2px solid rgba(255,255,255,0);
|
|
border-top-color: #ffffff;
|
|
border-right-color: #ffffff;
|
|
border-left-color: rgba(255, 255, 255, 0.50);
|
|
border-bottom-color: rgba(255, 255, 255, 0.50);
|
|
animation: single2 4s infinite linear;
|
|
}
|
|
|
|
@keyframes single2 {
|
|
0% {
|
|
transform: rotate(0deg);
|
|
}
|
|
100% {
|
|
transform: rotate(720deg);
|
|
}
|
|
}*/
|
|
|
|
/* Disclaimer container. */
|
|
#loginDisclaimer {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
/* Add spacing between register anchor and disclaimer. */
|
|
#loginRegisterSpan {
|
|
margin-bottom: 5px;
|
|
}
|
|
|
|
/* Disclaimer text styles. */
|
|
.loginDisclaimerText {
|
|
font-family: 'Avenir Book';
|
|
font-size: 7px;
|
|
color: #848484;
|
|
font-weight: bold;
|
|
text-align: center;
|
|
}
|
|
|
|
/* * *
|
|
* Login View | Custom Checkbox
|
|
* * */
|
|
|
|
/* Checkbox container. */
|
|
#checkmarkContainer {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
align-items: center;
|
|
position: relative;
|
|
cursor: pointer;
|
|
font-size: 22px;
|
|
-webkit-user-select: none;
|
|
}
|
|
|
|
/* Hide the default checkbox. */
|
|
#checkmarkContainer input {
|
|
opacity: 0;
|
|
cursor: pointer;
|
|
position: absolute;
|
|
}
|
|
|
|
/* Create a custom checkbox. */
|
|
.loginCheckmark {
|
|
position: relative;
|
|
height: 10px;
|
|
width: 10px;
|
|
border: 1px solid #848484;
|
|
border-radius: 1px;
|
|
background: none;
|
|
transition: 0.25s ease;
|
|
}
|
|
/* On hover and focus, add a grey border color. */
|
|
#checkmarkContainer:hover input ~ *,
|
|
#checkmarkContainer input:focus ~ * {
|
|
color: #a2a2a2;
|
|
border-color: #a2a2a2;
|
|
}
|
|
/* On keydown, darken the checkbox a bit. */
|
|
#checkmarkContainer input:active ~ *:not(#loginRememberText) {
|
|
color: #8d8d8d;
|
|
border-color: #8d8d8d;
|
|
}
|
|
#checkmarkContainer[disabled] {
|
|
pointer-events: none;
|
|
}
|
|
/* For checked -> #checkmarkContainer input:checked ~ * */
|
|
/* Create the checkmark/indicator (hidden when not checked). */
|
|
.loginCheckmark:after {
|
|
content: "";
|
|
display: none;
|
|
}
|
|
/* Show the checkmark when checked. */
|
|
#checkmarkContainer input:checked ~ .loginCheckmark:after {
|
|
display: block;
|
|
}
|
|
/* Style the checkmark/indicator. */
|
|
#checkmarkContainer .loginCheckmark:after {
|
|
position: absolute;
|
|
left: 3.5px;
|
|
top: 0.5px;
|
|
width: 2px;
|
|
height: 6px;
|
|
border: solid #a2a2a2;
|
|
border-width: 0 2px 2px 0;
|
|
transform: rotate(45deg);
|
|
}
|
|
|
|
/* * *
|
|
* Login View | Error Overlay
|
|
* * */
|
|
|
|
#loginErrorContainer {
|
|
position: absolute;
|
|
display: none;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: rgba(0, 0, 0, 0.50);
|
|
}
|
|
|
|
/*#loginContainer[error] > #loginErrorContainer {
|
|
display: flex;
|
|
}*/
|
|
|
|
#loginContainer[error] > div:not(#loginErrorContainer) {
|
|
filter: blur(3px) contrast(0.9) brightness(1.0);
|
|
}
|
|
|
|
#loginErrorContent {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
width: 300px;
|
|
height: 35%;
|
|
box-sizing: border-box;
|
|
padding: 15px 0px;
|
|
/* background-color: #424242; */
|
|
text-align: center;
|
|
}
|
|
|
|
#loginErrorTitle {
|
|
font-family: 'Avenir Medium';
|
|
font-size: 20px;
|
|
color: #fff;
|
|
font-weight: bold;
|
|
letter-spacing: 1px;
|
|
}
|
|
|
|
#loginErrorDesc {
|
|
font-family: 'Avenir Book';
|
|
font-size: 12px;
|
|
color: #fff;
|
|
font-weight: bold;
|
|
}
|
|
|
|
#loginErrorAcknowledge {
|
|
background: none;
|
|
border: 1px solid #ffffff;
|
|
color: white;
|
|
font-family: 'Avenir Medium';
|
|
font-weight: bold;
|
|
border-radius: 2px;
|
|
width: 75px;
|
|
cursor: pointer;
|
|
transition: 0.25s ease;
|
|
}
|
|
#loginErrorAcknowledge:hover,
|
|
#loginErrorAcknowledge:focus {
|
|
box-shadow: 0px 0px 10px 0px #fff;
|
|
outline: none;
|
|
}
|
|
#loginErrorAcknowledge:active {
|
|
border-color: rgba(255, 255, 255, 0.75);
|
|
color: rgba(255, 255, 255, 0.75);
|
|
}
|
|
|
|
/* * *
|
|
* Login View | Loader
|
|
* * */
|
|
/* Will reuse this elsewhere down the line.
|
|
#loginLoading {
|
|
position: absolute;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 100%;
|
|
height: 100%;
|
|
background: rgba(0, 0, 0, 0.80);
|
|
}
|
|
|
|
#loginLoadingContent {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
#loadSpinnerContainer {
|
|
position: relative;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
#loadCenterImage {
|
|
position: absolute;
|
|
width: 200px;
|
|
height: auto;
|
|
}
|
|
|
|
#loadSpinnerImage {
|
|
width: 280px;
|
|
height: auto;
|
|
}
|
|
|
|
#loadDescText {
|
|
color: #f1eada;
|
|
font-family: 'Avenir Medium';
|
|
font-weight: bold;
|
|
letter-spacing: 1px;
|
|
font-size: 16px;
|
|
}
|
|
|
|
@keyframes rotating {
|
|
from {
|
|
transform: rotate(0deg);
|
|
}
|
|
to {
|
|
transform: rotate(360deg);
|
|
}
|
|
}
|
|
|
|
.rotating {
|
|
animation: rotating 10s linear infinite;
|
|
}*/
|
|
|
|
/*
|
|
#login_filter {
|
|
height: calc(100% - 22px);
|
|
width: 100%;
|
|
z-index: 9000;
|
|
position: absolute;
|
|
filter: blur(8px) contrast(0.9) brightness(1.0);
|
|
background: url('./../images/backgrounds/0.jpg') no-repeat center center fixed;
|
|
transform: scale(1.2);
|
|
background-size: cover;
|
|
}
|
|
*/
|
|
|
|
/*******************************************************************************
|
|
* *
|
|
* Landing View (Structural Styles) *
|
|
* *
|
|
******************************************************************************/
|
|
|
|
/* Main content container. */
|
|
#landingContainer {
|
|
height: 100%;
|
|
}
|
|
|
|
/* Upper content container. */
|
|
#landingContainer > #upper {
|
|
height: 77%;
|
|
display: flex;
|
|
}
|
|
#landingContainer > #upper > #left {
|
|
display: inline-flex;
|
|
width: 15%;
|
|
height: 100%;
|
|
justify-content: flex-end;
|
|
}
|
|
#landingContainer > #upper > #content {
|
|
display: inline-flex;
|
|
width: 59%;
|
|
height: 100%;
|
|
}
|
|
#landingContainer > #upper > #right {
|
|
display: inline-flex;
|
|
width: 26%;
|
|
height: 100%;
|
|
}
|
|
|
|
/* Lower content container. */
|
|
#landingContainer > #lower {
|
|
height: 23%;
|
|
display: flex;
|
|
background: linear-gradient(to top, rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
|
|
}
|
|
#landingContainer > #lower > #left {
|
|
height: 100%;
|
|
width: 33%;
|
|
display: inline-flex;
|
|
justify-content: center;
|
|
}
|
|
#landingContainer > #lower > #left #content {
|
|
position: relative;
|
|
top: 25px;
|
|
display: inline-flex;
|
|
line-height: 24px;
|
|
left: 50px;
|
|
}
|
|
#landingContainer > #lower > #center {
|
|
height: 100%;
|
|
width: 34%;
|
|
display: inline-flex;
|
|
justify-content: center;
|
|
}
|
|
#landingContainer > #lower > #center #content {
|
|
position: relative;
|
|
top: 10px;
|
|
}
|
|
#landingContainer > #lower > #right {
|
|
height: 100%;
|
|
width: 33%;
|
|
display: inline-flex;
|
|
}
|
|
|
|
/*******************************************************************************
|
|
* *
|
|
* Landing View (Top Styles) *
|
|
* *
|
|
******************************************************************************/
|
|
|
|
/* * *
|
|
* Landing View (Top Styles) | Left Content
|
|
* * */
|
|
|
|
/* Logo image. */
|
|
#image_seal {
|
|
height: 70px;
|
|
width: auto;
|
|
position: relative;
|
|
margin-top: 50px;
|
|
border: 2px solid white;
|
|
border-radius: 50%;
|
|
box-shadow: 0px 0px 10px 0px rgb(0, 0, 0);
|
|
}
|
|
|
|
/* * *
|
|
* Landing View (Bottom Styles) | Right Content
|
|
* * */
|
|
|
|
/* Wrapper container for top, right content. */
|
|
#rightContainer {
|
|
display: flex;
|
|
flex-direction: column;
|
|
position: relative;
|
|
top: 50px;
|
|
align-items: flex-end;
|
|
height: calc(100% - 50px);
|
|
}
|
|
|
|
/* Right hand user content container. */
|
|
#user_content {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
box-sizing: border-box;
|
|
height: 75px;
|
|
}
|
|
|
|
/* User profile avatar container. */
|
|
#avatarContainer {
|
|
border-radius: 50%;
|
|
border: 2px solid #cad7e1;
|
|
background: rgba(1, 2, 1, 0.5);
|
|
height: 70px;
|
|
width: 70px;
|
|
box-shadow: 0px 0px 10px 0px rgb(0, 0, 0);
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
|
|
/* Avatar edit overlay. */
|
|
#avatarOverlay {
|
|
opacity: 0;
|
|
position: absolute;
|
|
z-index: 1;
|
|
top: 0;
|
|
bottom: 0;
|
|
left: 0;
|
|
right: 0;
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
font-family: 'Avenir Book';
|
|
color: #fff;
|
|
transition: 0.25s ease;
|
|
font-weight: bold;
|
|
letter-spacing: 2px;
|
|
background: linear-gradient(65deg, rgba(0, 0, 0, 0.4), rgba(136, 77, 77, 0.4) 60%);
|
|
-webkit-user-select: none;
|
|
cursor: pointer;
|
|
}
|
|
#avatarOverlay:hover {
|
|
opacity: 1;
|
|
}
|
|
|
|
/* User profile avater image. */
|
|
#avatarImage {
|
|
height: 100%;
|
|
width: auto;
|
|
}
|
|
|
|
/* User profile name text. */
|
|
#user_text {
|
|
font-family: 'Avenir Book';
|
|
font-size: 12px;
|
|
min-width: 112px;
|
|
font-weight: 900;
|
|
letter-spacing: 1px;
|
|
color: white;
|
|
text-shadow: 0px 0px 20px black;
|
|
position: relative;
|
|
right: 25px;
|
|
text-align: right;
|
|
}
|
|
|
|
/* Social media icon content container. */
|
|
#mediaContent {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
right: 25px;
|
|
align-items: flex-end;
|
|
margin-top: 40px;
|
|
height: 100%;
|
|
align-items: center;
|
|
}
|
|
|
|
/* Social Media Icon division containers. */
|
|
#internalMedia, #externalMedia {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
/* Container object which wraps an icon to ensure fluid transitions. */
|
|
.mediaContainer {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 27px;
|
|
}
|
|
|
|
/* Divider bar between the external and internal icons. */
|
|
.mediaDivider {
|
|
height: 1px;
|
|
width: 14px;
|
|
background: rgb(255, 255, 255);
|
|
margin: 10px 0px;
|
|
}
|
|
|
|
/* Social media icon shared styles. */
|
|
.mediaSVG {
|
|
fill: #ffffff;
|
|
height: 12px;
|
|
transition: 0.25s ease;
|
|
cursor: pointer;
|
|
height: 12px;
|
|
width: 25px;
|
|
}
|
|
.mediaSVG:hover, .mediaSVG:active {
|
|
height: 20px;
|
|
}
|
|
|
|
/* News icon colors. */
|
|
#newsSVG {
|
|
stroke: #ffffff;
|
|
}
|
|
|
|
/* Twitter icon colors. */
|
|
#twitterSVG:hover {
|
|
fill: #1da1f2;
|
|
}
|
|
#twitterSVG:active {
|
|
fill: #1b8dd4;
|
|
}
|
|
|
|
/* Instagram icon colors. */
|
|
#instagramSVG:hover {
|
|
fill: url('#instaFill')
|
|
/*fill: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%); */
|
|
}
|
|
#instagramSVG:active {
|
|
fill: url('#instaFill')
|
|
}
|
|
|
|
/* Youtube icon colors. */
|
|
#youtubeSVG:hover {
|
|
fill: #f00;
|
|
}
|
|
#youtubeSVG:active {
|
|
fill: #ea0202;
|
|
}
|
|
|
|
/* Discord icon colors. */
|
|
#discordSVG:hover {
|
|
fill: #7288d9;
|
|
}
|
|
#discordSVG:active {
|
|
fill: #657ac4;
|
|
}
|
|
|
|
/*******************************************************************************
|
|
* *
|
|
* Landing View (Bottom Styles) *
|
|
* *
|
|
******************************************************************************/
|
|
|
|
/* Style for a general label on the bottom of the landing view. */
|
|
.bot_label {
|
|
color: white;
|
|
font-family: 'Avenir Book';
|
|
font-size: 9px;
|
|
letter-spacing: 1px;
|
|
font-weight: bold;
|
|
text-shadow: 0px 0px 0px #bebcbb;
|
|
}
|
|
|
|
/* Divider used on the bottom of the landing view. */
|
|
.bot_divider {
|
|
height: 25px;
|
|
width: 2px;
|
|
background: rgba(107, 105, 105, 0.7);
|
|
margin-left: 20px;
|
|
margin-right: 20px;
|
|
}
|
|
|
|
/* * *
|
|
* Landing View (Bottom Styles) | Left Content
|
|
* * */
|
|
|
|
/* Span which displays the player count of the selected server. */
|
|
#player_count {
|
|
color: #949494;
|
|
font-family: 'Avenir Book';
|
|
font-size: 8px;
|
|
font-weight: 900;
|
|
text-shadow: 0px 0px 20px #949494;
|
|
margin-left: 10px;
|
|
}
|
|
|
|
/* Icon which displays the status of the mojang services. */
|
|
#mojang_status_icon {
|
|
font-size: 30px;
|
|
color: #848484;
|
|
margin-left: 15px;
|
|
}
|
|
|
|
/* * *
|
|
* Landing View (Bottom Styles) | Center Content
|
|
* * */
|
|
|
|
/* Button which opens the menu view. */
|
|
#menu_button {
|
|
font-family: 'Avenir Book';
|
|
background: none;
|
|
border: none;
|
|
cursor: pointer;
|
|
}
|
|
|
|
/* Arrow image which floats above the menu button. */
|
|
#menu_img {
|
|
height: 11px;
|
|
margin-left: -2px;
|
|
}
|
|
|
|
/* Span which contains the menu button text. */
|
|
#menu_text {
|
|
color: white;
|
|
font-weight: 900;
|
|
letter-spacing: 2px;
|
|
text-shadow: 0px 0px 0px #bebcbb;
|
|
font-size: 11px;
|
|
line-height: 30px;
|
|
display: flex;
|
|
}
|
|
|
|
/* * *
|
|
* Landing View (Bottom Styles) | Right Content
|
|
* * */
|
|
|
|
/* Main launch content container. */
|
|
#landingContainer > #lower > #right #launch_content {
|
|
position: relative;
|
|
top: 25px;
|
|
display: inline-flex;
|
|
line-height: 24px;
|
|
}
|
|
|
|
/* The launch button. */
|
|
#launch_button {
|
|
font-family: 'Avenir Book';
|
|
background: none;
|
|
border: none;
|
|
cursor: pointer;
|
|
color: #fff;
|
|
font-weight: 900;
|
|
letter-spacing: 2px;
|
|
text-shadow: 0px 0px 0px #bebcbb;
|
|
font-size: 20px;
|
|
padding: 0px;
|
|
}
|
|
|
|
/* Launch details main container, hidden until launch processing begins. */
|
|
#launch_details {
|
|
position: relative;
|
|
top: 25px;
|
|
display: none;
|
|
}
|
|
|
|
/* Left side of launch details container, displays percentage and a divider. */
|
|
#launch_details_left {
|
|
display: flex;
|
|
}
|
|
|
|
/* Span which displays percentage complete. */
|
|
#launch_progress_label {
|
|
color: white;
|
|
font-family: 'Avenir Book';
|
|
font-weight: 900;
|
|
letter-spacing: 1px;
|
|
text-shadow: 0px 0px 0px #bebcbb;
|
|
font-size: 20px;
|
|
min-width: 53.21px;
|
|
max-width: 53.21px;
|
|
text-align: right;
|
|
}
|
|
|
|
/* Right side of launch details container, displays progress bar and details. */
|
|
#launch_details_right {
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
}
|
|
|
|
/* Progress bar styles. */
|
|
#launch_progress[value] {
|
|
height: 3px;
|
|
width: 265px;
|
|
-webkit-appearance: none;
|
|
}
|
|
#launch_progress[value]::-webkit-progress-bar {
|
|
background-color: transparent;
|
|
}
|
|
#launch_progress[value]::-webkit-progress-value {
|
|
background-color: #fff;
|
|
}
|
|
|
|
/* Span which displays information about the status of the launch process. */
|
|
#launch_details_text {
|
|
font-size: 11px;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/*******************************************************************************
|
|
* *
|
|
* Overlay View (app.ejs) *
|
|
* *
|
|
******************************************************************************/
|
|
|
|
#overlayContainer {
|
|
position: absolute;
|
|
top: 22px;
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 100%;
|
|
height: calc(100% - 22px);
|
|
background: rgba(0, 0, 0, 0.50);
|
|
}
|
|
|
|
#overlayContent {
|
|
position: relative;
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
width: 300px;
|
|
height: 35%;
|
|
box-sizing: border-box;
|
|
padding: 15px 0px;
|
|
/* background-color: #424242; */
|
|
text-align: center;
|
|
}
|
|
|
|
#overlayTitle {
|
|
font-family: 'Avenir Medium';
|
|
font-size: 20px;
|
|
color: #fff;
|
|
font-weight: bold;
|
|
letter-spacing: 1px;
|
|
}
|
|
|
|
#overlayDesc {
|
|
font-family: 'Avenir Book';
|
|
font-size: 12px;
|
|
color: #fff;
|
|
font-weight: bold;
|
|
}
|
|
|
|
#overlayAcknowledge {
|
|
background: none;
|
|
border: 1px solid #ffffff;
|
|
color: white;
|
|
font-family: 'Avenir Medium';
|
|
font-weight: bold;
|
|
border-radius: 2px;
|
|
width: 75px;
|
|
cursor: pointer;
|
|
transition: 0.25s ease;
|
|
}
|
|
#overlayAcknowledge:hover,
|
|
#overlayAcknowledge:focus {
|
|
box-shadow: 0px 0px 10px 0px #fff;
|
|
outline: none;
|
|
}
|
|
#overlayAcknowledge:active {
|
|
border-color: rgba(255, 255, 255, 0.75);
|
|
color: rgba(255, 255, 255, 0.75);
|
|
} |