html { user-select: none; }
body {
overflow: hidden;
height: 85vh;
margin: 0;
font-family: Arial, Helvetica, sans-serif;
}
a {
color: #fff;
}
img {
height: 20px;
}
.darken {
filter: brightness(0.6);
}
.boldTitle {
font-weight: bold;
font-size: 1.2em;
margin-bottom: 6px;
}
#firstTimeBtns {
display: flex;
justify-content: center;
align-items: center;
}
#firstTimeBtns button {
margin: 10px;
}
#firstTimeNotice span {
display: block;
text-align: center;
margin-bottom: 6px;
}
#loginPanel {
height: 50%;
width: 32%;
}
#loginPanel img {
height: 20px;
}
#loginPopupTitle {
display: flex;
justify-content: space-between;
font-size: 1.2em;
font-weight: bold;
}
.authBody {
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
}
.authBody div {
margin: 6px;
}
.authBody input {
height: 20px;
background: white;
border: none;
border-bottom: 2px solid #4d4d4d;
/* border bottom anim */
transition: border-bottom 0.1s ease-in-out;
}
.authBody input:focus {
outline: none;
border-bottom: 2px solid #ffc61e;
}
#loginPopupTitle img {
height: 20px;
margin-bottom: 8px;
}
#loginPopupTitle img:hover {
filter: invert(85%) sepia(31%) saturate(560%) hue-rotate(329deg) brightness(100%) contrast(92%);
cursor: pointer;
}
#registerPopupServer,
#loginPopupServer {
font-weight: bold;
}
#loginSectionTitle,
#registerSectionTitle {
font-weight: normal;
font-size: 1em;
}
#loginSectionTitle:hover,
#registerSectionTitle:hover {
cursor: pointer;
}
.selectedTitle {
font-weight: bold !important;
border-bottom: 2px solid #ffc61e;
}
.authInputs div {
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.authInputs div span {
margin-right: 6px;
}
.error {
background: #e90000;
}
.warn {
background: #ffc61e;
}
.success {
background: #00c200;
}
#registerAlert,
#loginAlert {
display: flex;
justify-content: center;
align-items: center;
border-radius: 5px;
color: #fff;
text-align: center;
}
#registerAlert img,
#loginAlert img {
height: 20px;
margin: 10px;
filter: invert(100%) sepia(0%) saturate(179%) hue-rotate(253deg) brightness(105%) contrast(101%);
}
#registerAlert span,
#loginAlert span {
margin: 10px;
}
#firstTimeNotice,
#loginPanel,
#downloadPanel,
#settingsPanel {
display: block;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
margin-right: -50%;
z-index: 99;
padding: 20px;
background-color: #fff;
border-radius: 2px;
border: 1px solid #141414;
font-family: system-ui;
}
#downloadPanel,
#settingsPanel {
width: 35%;
height: 80%;
overflow: auto;
}
#downloadTitle,
#fullSettingsTitle {
font-size: 1.5em;
font-weight: bold;
margin-bottom: 10px;
}
#downloadPanelInner,
#settingsPanelInner {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 10px 10%;
}
.downloadRow,
.settingsRow {
width: 100%;
}
.downloadTitle,
.settingTitle {
font-size: 1.2em;
font-weight: bold;
margin-bottom: 10px;
}
.downloadTitle {
margin: 6px;
}
.downloadLabel,
.settingLabel {
display:inline-block;
font-size: 1em;
font-weight: normal;
margin: 10px 0px;
}
.downloadSubtitle,
.settingSubtitle {
color: rgb(165, 165, 165);
font-size: 0.8em;
font-weight: normal;
}
.downloadSection,
.settingSection {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.downloadSection .smolBtn,
.settingSection .smolBtn {
height: 30px;
}
#downloadTitleBar,
#settingsTitleBar {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
#downloadClose,
#settingsClose {
display: inline-block;
transition: filter 0.1s ease-in-out;
}
#downloadClose img,
#settingsClose img {
height: 20px;
}
#downloadClose:hover,
#settingsClose:hover {
filter: invert(85%) sepia(31%) saturate(560%) hue-rotate(329deg) brightness(100%) contrast(92%);
cursor: pointer;
}
#ipList {
position: absolute;
z-index: 99;
padding: 10px;
transform: translate(3vw, 420px);
background-color: #fff;
border-radius: 5px;
border: 1px solid #ccc;
width: 200px;
}
#ipList ul {
list-style-type: none;
padding: 0;
margin: 0;
width: 100%;
height: 100%;
overflow: auto;
}
#ipList li {
padding: 4px;
border-bottom: 1px solid #ccc;
}
#ipList li:hover {
color: #ffc61e;
cursor: pointer;
}
#ipList li:last-child {
border-bottom: none;
}
#controlBar {
display: flex;
flex-direction: row;
align-items: center;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 34px;
background-color: #141414;
z-index: 1;
}
#controlBar div {
color: #c3c3c3;
width: 20px;
height: 80%;
vertical-align: middle;
text-align: center;
padding: 0px 6px;
margin: 0px 2px;
padding-top: 6px;
}
#controlBar div:hover {
cursor: pointer;
background-color: #353535;
}
#titleSection {
color: white;
padding-left: 8px;
}
#version {
display: inline-block;
color: #434343;
}
#controlBar div img {
/* https://codepen.io/sosuke/pen/Pjoqqp */
filter: invert(95%) sepia(0%) saturate(18%) hue-rotate(153deg) brightness(88%) contrast(81%);
height: 60%;
vertical-align: middle;
}
#closeBtn:hover {
background-color: #ff0000 !important;
}
#closeBtn:hover img {
filter: invert(100%) sepia(0%) saturate(7500%) hue-rotate(142deg) brightness(107%) contrast(101%);
}
#titleSection {
/* Move all components to the right since this is the first button */
margin-right: auto !important;
}
.playBtn:hover, .smolBtn:hover {
cursor: pointer;
}
.altBtn {
background: none;
color: #525252;
text-decoration: underline;
border: none;
line-height: 2px;
transition: color 0.05s ease-in-out;
}
.altBtn:hover {
cursor: pointer;
color: #ffd326;
}
.playBtn {
padding: 0 30px;
border-radius: 5px;
border: none;
background: linear-gradient(#ffd326, #ffc61e);
color: #704a1d;
font-weight: bold;
height: 50px;
font-size: 20px;
}
.playBtn:hover {
background: linear-gradient(#ffc61e, #ffd326);
}
.playBtn.disabled,
.smolBtn.disabled {
background: linear-gradient(#9c9c9c, #949494);
color: rgb(226, 226, 226);
cursor: default;
}
.smolBtn.disabled:hover {
background: linear-gradient(#949494, #9c9c9c);
}
.smolBtn {
padding: 0 20px;
border-radius: 5px;
border: none;
background: linear-gradient(#ffd326, #ffc61e);
color: #704a1d;
font-weight: bold;
height: 40px;
font-size: 14px;
}
.smolBtn:hover {
background: linear-gradient(#ffc61e, #ffd326);
}
.openFolderIcon {
display: inline;
height: 20px;
filter: invert(97%) sepia(85%) saturate(12%) hue-rotate(184deg) brightness(103%) contrast(103%);
padding: 10px;
}
.openFolderIcon:hover {
cursor: pointer;
filter: invert(99%) sepia(0%) saturate(1092%) hue-rotate(172deg) brightness(80%) contrast(103%);
}
#bottomBar {
display: flex;
justify-content: center;
width: 100%;
height: 100%;
padding: 20px 0px;
background: #141414;
}
.bottomSection {
display: flex;
flex-direction: row;
height: 100%;
width: 100%;
background: #141414;
justify-content: space-evenly;
}
.bottomSection div {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: #141414;
margin: 4px;
height: 10%;
}
.bottomSection div div {
display: flex;
flex-direction: row;
height: 100%;
}
#gamePath, #serverPath {
color: white;
font-size: 14px;
}
#panelContainer {
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
display: flex;
}
#firstPanel, #secondPanel, #thirdPanel {
display: flex;
justify-content: center;
width: 100%;
background-repeat: no-repeat;
background-size: cover;
transition: width 0.2s ease-in-out, filter 0.2s ease-in-out;
}
#firstPanel:hover, #secondPanel:hover, #thirdPanel:hover {
width: calc(100% + 150px);
}
#firstPanel, #secondPanel {
border-right: 6px solid #141414;
}
#firstPanel {
background-position: -200px;
}
/* Move the first official button to the position on the png */
#firstPanel button, #secondPanel button, #thirdPanel button {
display: block;
/* transform: translate(140px, 500px); */
width: 300px;
height: 60px;
}
#ip {
display: block;
}
#port {
width: 12%;
}
#secondPanel input {
margin-bottom: 4px;
height: 20px;
background: white;
border: none;
border-bottom: 2px solid #4d4d4d;
padding: 8px;
/* border bottom anim */
transition: border-bottom 0.1s ease-in-out;
}
#secondPanel input:focus {
outline: none;
border-bottom: 2px solid #ffc61e;
}
/* Move the second private button the near-bottom */
#secondControlContainer {
position: relative;
/* transform: translate(115px, 456px); */
width: 300px;
height: 60px;
margin-top: calc(68vh - 40px) !important;
}
#secondControlContainer, #firstPanel button, #thirdPanel button {
margin-top: 68vh;
}
#serverInput input, #serverInput img{
display: inline-block;
}
#serverInput img {
height: 20px;
vertical-align: middle;
margin-right: 4px;
}
#serverInput img:hover {
cursor: pointer;
}
#downloadNotif {
z-index: 99;
position: absolute;
color: #fff;
background: #141414;
border: 1px solid #ccc;
padding: 1em;
top: 80%;
left: 120%;
width: 20%;
border-radius: 5px;
text-align: center;
transition: left 0.5s ease-in-out;
}
#downloadNotif:hover {
cursor: pointer;
border-color: #fff;
}
#downloadNotif img {
height: 20px;
vertical-align: middle;
margin-right: 4px;
filter: invert(100%) sepia(100%) saturate(0%) hue-rotate(16deg) brightness(103%) contrast(101%);
}
#downloadNotif.displayed {
left: 70%;
}
#newestVersion {
font-weight: bold;
}
#alert {
display: flex;
justify-content: center;
align-items: center;
font-weight: bold;
color: #704a1d;
position: absolute;
top: -10%;
left: 15%;
background: linear-gradient(#ffc61e, #ffd326);
border: 1px solid #704a1d;
border-radius: 6px;
height: 50px;
width: 70%;
z-index: 999;
transition: top 0.15s ease-in-out;
}
#alert.show {
top: 6%;
}