Starystars67 011769d0b6 New concept MainMenu is now loosely ready for testing.
This is a functional mainmenu which can be tested in-game.
2023-05-08 22:31:07 +01:00

652 lines
12 KiB
CSS

/*thanks to https://codepen.io/shshaw/pen/OVGWLG*/
.contentNavMainmenu .video {
min-width: 100%;
min-height: 100%;
width: auto;
height: auto;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
.contentNavMainmenu md-icon {
color: inherit;
}
.mainmenu {
display: flex;
flex-flow: column;
}
.menu-size {
position: relative;
margin: 0 auto; /* horizontal centering */
width: 90vw; /* we want margins here */
height: 100%; /* for vertical centering */
font-size: 0.6vw; /* this controls the scale of all elements inside */
}
.menu-size::before, .menu-size::after { /* vertical centering */
flex: 0.2 0.2 auto;
content: "";
}
@media (min-width: 1320px) { /* big screens */
.menu-size {
max-width: 90vw;
font-size: 8px;
}
}
/* medium screens are responsive */
@media (max-width: 800px) { /* small screens */
.menu-size {
max-width: 90vw;
font-size: 4.5px;
}
.mainmenu-buttons-smwrap {
flex-wrap: wrap !important;
}
.mainmenu-buttons-smwrap > .menu-button {
margin-bottom: 0.5rem !important;
}
.mainmenu-buttongroups .mainmenu-buttons-smwrap {
margin-bottom: -0.5rem;
}
.mainmenu-buttongroups .mainmenu-buttons-smwrap > .menu-button {
flex-basis: 40%;
}
.mainmenu-buttongroups .mainmenu-buttons-smwrap > .menu-button:nth-child(2n) {
margin-right: 0 !important;
}
.mainmenu-buttongroups .mainmenu-buttons-smwrap > .menu-button:nth-child(2n+1) {
margin-right: 0.5rem !important;
}
.menu-button-big {
width: 3em !important;
height: 8.5em !important;
}
.menu-button-small {
height: 1.2em !important;
}
.menu-button-quit {
flex: 0 1 9em !important;
max-width: unset !important;
}
}
.mainmenu * {
position: relative;
}
.mainmenu > *:not(:last-child) {
margin-bottom: 2em;
}
.mainmenu-title {
margin-bottom: 5em !important;
}
.logo-container {
width: 50em;
padding-top: 9em;
float: left;
}
.logo-container > * {
position: absolute;
top: 17%;
bottom: 17%;
left: 0;
right: 0;
height: unset !important;
width: unset !important;
}
.user-container {
/* width: 50em; */
/* padding-top: 9em; */
height: 100%;
float: right;
min-width: 250px;
background: var(--bng-black-6);
border-radius: 50px;
overflow: hidden;
white-space: nowrap;
display: flex;
}
/*.user-container > * {
position: absolute;
top: 17%;
bottom: 17%;
left: 0;
right: 0;
height: unset !important;
width: unset !important;
}*/
.user-container-icon {
height: 66px !important;
width: 66px;
border: solid white;
border-radius: 50px;
}
.user-container-divider {
width: 2px !important;
height: 52px !important;
background: #848484;
display: block;
position: relative;
margin: 10px 20px;
}
.user-container-details {
margin: 10px 25px 10px 0px;
color: white;
}
.user-container-details-name {
font-size: large;
font-weight: 700;
}
.user-container-details-show-profile {
font-size: large;
font-weight: 300;
}
.nav-container {
overflow: hidden;
white-space: nowrap;
font-size: x-large;
font-weight: 700;
color: white;
background: var(--bng-black-6);
border-radius: 10px;
display: flex;
}
.nav-container-menu {
display: flex;
width: 100%;
}
.nav-container-divider {
margin: 10px 15px;
background: #848484;
width: 2px !important;
}
.nav-container-menu-item {
padding: 15px 10px;
width: calc(100% / 5);
text-align: center;
}
.nav-container-menu-item[disabled] {
padding: 15px 10px;
width: calc(100% / 5);
text-align: center;
border-radius: 10px;
box-shadow: 0 0 20px rgba(0,0,0, 0.4);
background-color: rgba(0,0,0, 0.4);
}
.nav-container-menu-item:active {
padding: 15px 10px;
width: calc(100% / 5);
background: var(--bng-orange);
border-radius: 10px;
box-shadow: 0 0 20px var(--bng-orange);
}
.nav-container-menu-item:hover {
padding: 15px 10px;
width: calc(100% / 5);
background: var(--bng-orange-shade1);
border-radius: 10px;
box-shadow: 0 0 20px var(--bng-orange);
}
.controller-button-large {
border: solid 3px var(--bng-cool-gray-300);
border-radius: 10px;
margin: 7px;
padding: 5px 10px;
background: var(--bng-cool-gray-800);
}
.col-6 {
width: calc(50%);
float: initial;
}
.row {
display: flex;
}
.col-3 {
width: calc(33.3%);
float: initial;
}
.menu-page-header-item {
border: solid black 2px;
margin: 5px;
border-radius: 10px;
min-height: 300px;
}
.menu-page-header-item-title {
height: 50px;
background-image: linear-gradient(to right, var(--bng-black-8), rgba(0,0,0,0));
color: white;
font-size: x-large;
font-weight: 700;
display: flex;
}
.menu-page-header-item-title-icon {
background: var(--bng-orange);
width: 50px;
height: 100%;
border-radius: 10px 0px 0px;
margin-right: 15px;
}
.menu-page-header-item-title-text {
padding-top: 6px;
}
.logo-tech,
.logo-drive,
.logo-research {
display: inline-block;
width: 100%;
height: 100%;
background-repeat: no-repeat;
background-position: 50% 50%;
background-size: contain;
}
.logo-tech {
background-image: url("/ui/images/tech.png");
}
.logo-drive {
background-image: url("/ui/images/logos.svg#bng-drive-white");
}
.logo-research {
background-image: url("/ui/images/research.svg");
}
.mainmenu-buttons {
margin: 0.5rem 0;
}
.mainmenu-buttons .menu-button {
margin: 0;
}
.mainmenu-buttons .menu-button:not(.menu-button-small):not(:last-child) {
margin-right: 1em;
}
.mainmenu-buttons .menu-button.menu-button-small {
margin-left: 0.5em;
margin-right: 0.5em;
}
.menu-column {
display: flex;
flex-flow: column;
justify-content: stretch;
align-items: stretch;
}
.menu-row {
display: flex;
flex-flow: row;
flex-wrap: wrap;
justify-content: center;
align-items: flex-start;
}
.menu-row-nowrap {
flex-wrap: nowrap;
}
.menu-row-stretch {
justify-content: stretch;
align-items: stretch;
}
.menu-row > * {
flex: 1 1 auto;
}
.menu-button {
flex: 1 1 auto;
display: flex;
flex-flow: column;
justify-content: center;
align-items: center;
margin: 0.5rem;
padding: 1rem;
line-height: 1.1em;
color: white;
background-color: rgba(0,0,0, 0.6);
/* backdrop-filter: blur(10px); -- doesn't work on old cef */
/* border: 4px solid transparent; */
border-radius: var(--bng-corners-1);
text-align: center;
text-decoration: none;
cursor: default;
}
.menu-button-big {
flex: 0.25 1 auto;
font-size: 4em;
width: 4em;
height: 4em;
margin-left: 0;
margin-top: 0.5rem;
margin-bottom: 0.5rem;
margin-right: 0.8em;
padding: 1.75em 3em;
}
.menu-button-big .menu-button-icon {
min-height: 3em;
}
.menu-button-med {
flex: 1 0 20%;
font-size: 2.5em;
height: 5em;
padding: 0.25em;
}
.menu-button-small {
flex: 0 1 9em;
font-size: 2.5em;
height: 1.5em;
}
.menu-button-big,
.menu-button-med,
.menu-button-small {
display: flex;
justify-content: center;
align-items: center;
}
.menu-button-big,
.menu-button-med {
flex-flow: column;
}
.menu-button-small {
flex-flow: row;
flex-wrap: nowrap;
}
.menu-button small {
font-size: 0.6em;
line-height: 1em;
opacity: 0.8;
}
.menu-button-icon {
min-width: 2em;
min-height: 2em;
background-repeat: no-repeat;
background-size: contain;
background-position: 50% 50%;
margin-bottom: 0.25em;
}
.menu-button-text {
font-family: "Overpass", var(--fnt-defs);
font-style: italic;
font-weight: 900;
letter-spacing: 0.02em;
line-height: 1.2em;
}
.menu-button-subtext {
display: block;
}
.menu-button-small.menu-button-withicon .menu-button-text {
text-align: left;
}
.menu-button[disabled] {
background-color: rgba(0,0,0, 0.4);
pointer-events: none;
}
.menu-button[disabled] > *:not(.fancy-blur) {
opacity: 0.65;
}
.menu-button[disabled].semi-disabled {
pointer-events: initial;
}
.menu-button[disabled].semi-disabled:focus {
box-shadow: initial;
}
.menu-button[disabled].semi-disabled:focus::before {
content: none;
}
.menu-button-bad {
/* border-color: rgba(255,0,0, 0.6) !important; */
border: 3px solid rgba(255,0,0, 0.6);
text-shadow: 0 0 1em #000;
}
.menu-button-bad > * {
z-index: 2;
}
.menu-button-bad::after {
content: "";
position: absolute;
top: 0;
left: 45%;
width: 10%;
height: 100%;
transform: skewX(-23deg);
background-color: rgba(255,0,0, 0.6);
z-index: 1;
}
.menu-button-bad:focus {
border-color: rgba(255,0,0, 0.8) !important;
}
.menu-button-bad:focus::after {
background-color: rgba(255,0,0, 0.8) !important;
}
.menu-button-quit {
background-color: rgba(255,0,0, 0.6);
flex: 0 1 auto;
max-width: 7em;
}
.menu-button-quit .menu-button-icon {
min-height: 1.5em;
margin: 0;
}
.menuNavbar .navBtn {
cursor: pointer;
color: white;
padding: 0.5em 0.75em 0.5em 0.5em;
border-radius: var(--bng-corners-1);
}
.menuNavbar .navBtn:hover {
background-color: rgba(255,102,0, 1);
}
.menuNavbar .navBtn .bng-binding {
margin-left: 0.25em !important;
margin-right: 0.25em !important;
}
.contentNavMainmenu {
width:100%;
height: 100%;
overflow-y:hidden !important;
overflow-x:hidden !important;
position: relative;
}
.contentNavMainmenu #video-viewport {
position:absolute;
left:0;
right:0;
bottom:0;
top:0;
}
.contentNavMainmenu #shippinginfo {
position: absolute;
bottom: 0;
right: left;
color: black;
border-radius: 0 var(--bng-corners-3) 0 0;
z-index: var(--zorder_mainmenu_shippinginfo);
background-color:white;
padding:3px;
font-weight:bold;
font-family:var(--fnt-defs);
border-top: 2px solid #333;
border-right: 2px solid #333;
}
.contentNavMainmenu #infobox {
position: absolute;
bottom: 0px;
z-index: var(--zorder_mainmenu_infobox);
max-width: 700px;
}
.contentNavMainmenu #infobox p {
margin: -3px;
}
.contentNavMainmenu #account-info {
position: absolute;
top: 0px;
right: 0px;
z-index: var(--zorder_mainmenu_accountinfo);
padding: 5px;
}
#onlinestate {
/* border-bottom:2px solid #56D70B; */
color: #56D70B;
text-align:center;
padding:5px;
font-weight: 700;
}
#versioninfo a {
color: rgba(255, 103, 0, 1);;
}
.contentNavMainmenu #onlineInfo {
position: absolute;
top: 120px;
right: 0px;
z-index: var(--zorder_mainmenu_onlineinfo);
padding: 5px;
}
.contentNavMainmenu #versioninfo {
position: absolute;
bottom: 0px;
right: 0px;
z-index: var(--zorder_mainmenu_versioninfo);
}
.contentNavMainmenu .blendbox {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
background-color: rgba(0,0,0,1);
z-index: var(--zorder_mainmenu_blendbox);
opacity:0;
-webkit-transition: 3s linear all;
transition: 3s linear all;
}
.new-tile {
font-size: 3vh;
font-family: 'Overpass', var(--fnt-defs);
cursor: pointer;
color: rgb(255, 255, 255);
text-shadow: -3px 3px 6px #00000050;
background-color: rgba(0, 0, 0, 0.5);
filter: brightness(0.8);
transition: filter .3s;
}
.new-tile:hover {
filter: brightness(1.1);
}
.new-tile figure {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: flex-start;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: flex-start;
height: 100%;
width: 100%;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
padding: 18px;
margin: 0;
}
.new-tile figure md-grid-tile-header {
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-flex-direction: row;
-ms-flex-direction: row;
flex-direction: row;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: flex-start;
height: 100%;
width: 100%;
color: #fff;
background: rgba(0,0,0,.18);
overflow: hidden;
position: absolute;
left: 0;
right: 0;
padding: 18px;
}
.new-tile figure md-grid-tile-header figcaption h2 {
margin: 0 0 0 0;
}
.new-tile figure md-grid-tile-header figcaption h3 {
margin: 0 0 0 0;
opacity: 0;
transition: opacity 0.2s;
}
.new-tile:hover figure md-grid-tile-header figcaption h3 {
opacity: 1;
}
.main-menu-image {
position: absolute;
width: 40%;
height: 20%;
top: 0%;
left: 10%;
}
.fancy-blur {
position: absolute;
overflow: hidden;
clip: rect(0,auto,auto,0);
z-index: -1;
pointer-events: none;
}
.fancy-blur > * {
position: fixed;
}
.fancy-blur,
.fancy-blur > * {
top: 0;
left: 0;
right: 0;
bottom: 0;
}