Viewing File: /usr/local/cpanel/whostmgr/docroot/templates/menu/main.less
/*
# cpanel - whostmgr/docroot/templates/menu/main.less
# Copyright 2022 cPanel, L.L.C.
# All rights reserved.
# copyright@cpanel.net http://cpanel.net
# This code is subject to the cPanel license. Unauthorized copying is prohibited
*/
@import (reference) "../../libraries/base-styles/variables.less";
@import (reference) "../../shared/css/jupiter.less";
@whm-xs-width: ~"(max-width: 575px)";
@whm-sm-width: ~"(min-width: 576px) and (max-width: 767px)";
@whm-medium-width: ~"(min-width: 768px) and (max-width: 1199px)";
@whm-min-large-width: ~"(min-width: 1200px)";
@icon-size: 32px;
@media (min-width: 992px) {
.container-lg {
max-width: 960px;
}
}
@media @whm-min-large-width {
.container-lg {
max-width: 1140px;
}
}
@media (min-width: 1400px) {
.container-lg {
max-width: 1320px;
}
}
.tools-stats-grid-container {
display: grid;
grid-gap: 1em;
@media @whm-xs-width, @whm-sm-width {
grid-gap: var(--cp-spacer-5);
grid-template-columns: 1fr;
grid-template-areas:
"column-2"
"column-1";
// Prevents card overflow when in mobile view
.cp-card {
height: auto;
}
}
@media @whm-medium-width {
grid-template-columns: 1fr 260px;
grid-template-areas: "column-1 column-2";
}
@media @whm-min-large-width {
grid-template-columns: 1fr 260px;
grid-template-areas: "column-1 column-2";
}
section:nth-child(1) {
grid-area: column-1;
}
section:nth-child(2) {
grid-area: column-2;
}
}
.stats-wrapper {
display: flex;
flex-direction: column;
height: 100%;
}
.tools-grid-placeholder {
margin: 1em;
font-size: larger;
}
.tools-grid-container {
display: grid;
grid-gap: 1em;
@media @whm-medium-width {
grid-template-columns: repeat(2, 1fr);
}
@media @whm-min-large-width {
grid-template-columns: repeat(2, 1fr);
}
}
.wrapper {
padding-top: var(--cp-spacer-5);
line-height: 1.5;
}
h1 {
font-weight: 400;
font-size: 1.625rem;
}
.section-header {
margin-bottom: var(--cp-spacer-3);
}
.section-flex {
display: flex;
justify-content: space-between;
align-items: center;
}
.section-title {
margin: 0;
}
.cp-page-section {
margin-bottom: var(--cp-spacer-6);
}
.hide-next-steps {
display: none;
}
button {
line-height: inherit;
}
.toggle-edit-favorites-button {
display: inline-block;
margin-top: 0.2rem;
height: 2rem;
}
/* NB: This class means different things in in WHM vs. cP Jupiter. */
.cp-card {
background-color: #fff;
box-shadow: 0 0 10px #dadada;
border-radius: @jupiter-border-radius;
transition: box-shadow;
height: 100%;
.jupiter-main-menu-card();
}
.mb-1 {
margin-bottom: 1em;
}
a:hover {
text-decoration: none;
}
.cp-app {
padding: 1em;
color: initial;
display: flex;
}
.cp-card__image-next-steps,
.cp-card__image-top-tools {
width: @icon-size-large;
height: @icon-size-large;
}
.cp-app__image {
width: @icon-size-large;
height: @icon-size-large;
display: inline-block;
&:extend(.jupiter-tool-icon);
}
.cp-app__details {
width: 100%;
padding-left: 1em;
vertical-align: top;
}
.cp-app__details-title {
display: block;
font-size: 1.1rem;
font-weight: 500;
margin-bottom: var(--cp-spacer-3);
color: #08193e;
}
.cp-app__details-description {
display: block;
color: #08193e;
font-weight: 500;
opacity: 0.7;
line-height: 24px;
}
.cp-app__details-title {
margin-bottom: 10px;
display: flex;
}
.cp-group:not(.expanded) {
padding-bottom: 0;
}
.cp-group:not(.expanded) .cp-group__header {
border-color: transparent;
}
.cp-group .cp-group__content {
display: none;
}
.cp-group.expanded .cp-group__content {
display: block;
padding: 5px 15px 15px 15px;
.jupiter-group-body-separate();
@media @whm-xs-width {
padding: 0;
border-top: 0;
}
}
.cp-group__content-item {
margin-top: 1em;
> div {
display: flex;
align-items: center;
font-size: 15px;
a {
display: flex;
align-items: center;
}
}
span a {
@media @whm-xs-width {
padding: @jupiter-tool-padding--mobile;
.jupiter-group-body-separate();
&:hover,
&:active,
&:focus {
background: @jupiter-shade-light;
}
}
}
span &:hover span {
text-decoration: underline;
}
@media @whm-xs-width {
margin-top: 0;
}
}
.cp-group__content-item span {
color: @link;
vertical-align: middle;
}
.cp-group__header {
&:extend(.jupiter-panel-header);
display: flex;
align-items: center;
user-select: none;
-moz-user-select: none;
-ms-user-select: none;
-webkit-user-select: none;
cursor: pointer;
}
.cp-group__header-title,
.cp-group__header-expand {
display: inline-block;
margin: 0;
}
.cp-group {
&.expanded {
.cp-group__header-expand {
.jupiter-group-expander();
}
}
&:not(.expanded) {
.cp-group__header-expand {
.jupiter-group-collapser();
}
}
.cp-group__header-expand {
.jupiter-group-expand-collapse();
}
}
.cp-group__header-title {
&:extend(.jupiter-group-header__title);
width: 100%;
}
.cp-group__header-icon {
display: inline-block;
width: @icon-size-small;
height: @icon-size-small;
margin-top: 0;
margin-left: 0;
margin-bottom: 0;
&:extend(.jupiter-group-icon);
}
.cp-group__header-expand {
color: inherit;
padding-left: 0.5em;
padding-right: 0.5em;
}
.jupiter-main-content {
padding: 0 24px;
}
.cp-stats {
padding-top: 0.6em;
padding-bottom: 0.6em;
}
.cp-stat__details {
width: 100%;
padding-left: 1em;
padding-top: 0.2em;
vertical-align: top;
}
.cp-stat__details-title {
display: block;
color: #08193e;
padding-top: 0.2em;
font-weight: 600;
}
.cp-stat__details-value {
font-weight: 400;
display: block;
color: #08193e;
padding: 0.6em;
}
.cp-stat__details-link * {
vertical-align: middle;
}
/**
We dont want the embedded controls to get the
<a> colors; the clickablity is for sloppy clickers,
but we don't want to make the deeper text unreadable.
**/
.cp-stat__details-link__wrapper,
.cp-stat__details-link__wrapper:hover,
.cp-stat__details-link__wrapper:link {
color: #333;
}
.cp-select-for-my-tools {
display: flex;
align-items: center;
margin-left: auto;
margin-right: 1rem;
}
.cp-app-link {
width: 100%;
}
.edit-favorites-options-compact {
font-size: 1rem;
padding-top: 0.3rem;
padding-left: 1rem;
padding-right: 1rem;
margin-left: auto;
input {
padding-left: 1rem;
}
}
.top_tools .section-header {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: flex-end;
height: 1.8rem;
}
.top_tools .section-header .page-title-section {
align-self: flex-start;
flex-grow: 1;
}
.dismiss {
color: #365aa2;
}
.edit-favorites-options-compact-label > span {
font-size: smaller;
margin-left: 10px;
position: relative;
top: 10px;
left: 10px;
text-align: center;
font-weight: normal;
}
.cp-favorite-instructions {
height: auto;
margin-bottom: 1rem;
padding: 1rem;
text-align: justify;
p:last-child {
margin: 0;
}
ul {
list-style: none;
padding-inline-start: 0.4rem;
li {
display: inline-block;
margin-left: 1rem;
margin-right: 1rem;
* {
vertical-align: middle;
}
}
}
.edit-favorites-options-compact {
margin-left: 0.4rem;
margin-top: 0.4rem;
}
.cp-favorite-selector--selected svg {
fill: @cpanel-orange;
}
.cp-favorite-selector--unselected svg {
fill: @cpanel-orange;
}
}
a[name="tools-section"],
a[name="tools-section"]:focus,
a[name="tools-section"]:hover {
color: rgb(51, 51, 51);
}
.long-text-fade-overflow {
width: 75%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
position: relative;
display: inline-block;
vertical-align: top;
}
.long-text-fade-overflow::before {
content: "";
width: 25%;
height: 100%;
position: absolute;
right: 0;
top: 0;
background: linear-gradient(transparent -10px, white);
}
html[dir="rtl"] .long-text-fade-overflow::before {
left: 0;
right: auto;
}
.long-text-fade-overflow:hover {
overflow: visible;
white-space: normal;
text-decoration: underline;
}
.long-text-fade-overflow:hover::before {
background: none;
}
.uuid-copy-container {
color: @link;
&:hover {
color: #2d5ef2;
cursor: pointer;
}
}
.cp-stat__title_row {
position: relative;
}
.cp-stat__details-title {
width: 50%;
display: inline-block;
}
.copy-msg-container {
position: absolute;
right: 10px;
top: 5px;
display: none;
}
html[dir="rtl"] .copy-msg-container {
left: 10px;
right: auto;
}
.show-copy-success {
display: inline-block;
-moz-animation: animateFadeOut 0s ease-in 3s forwards;
/* Firefox */
-webkit-animation: animateFadeOut 0s ease-in 3s forwards;
/* Safari and Chrome */
-o-animation: animateFadeOut 0s ease-in 3s forwards;
/* Opera */
animation: animateFadeOut 0s ease-in 3s forwards;
-webkit-animation-fill-mode: forwards;
animation-fill-mode: forwards;
animation-timing-function: ease-in-out;
-webkit-animation-duration: 0.35s;
-moz-animation-duration: 0.35s;
animation-duration: 0.35s;
}
@keyframes animateFadeOut {
from {
opacity: 1;
display: inline-block;
}
to {
opacity: 0;
width: 0;
height: 0;
overflow: hidden;
}
}
@-webkit-keyframes animateFadeOut {
from {
opacity: 1;
display: inline-block;
}
to {
opacity: 0;
width: 0;
height: 0;
display: none;
}
}
Back to Directory
File Manager