ProxyBro/web/style/main.css

528 lines
9.9 KiB
CSS

@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap");
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
*:focus {
outline: none;
border: 1px solid var(--color-off-white);
border-radius: 5px;
}
:root {
--color-primary: #131a26;
--color-primary-dark: #0c1018;
--color-accent: #3bd671;
--color-accent-dark: #2abb5d;
--color-accent-error: #DF484A;
--color-accent-error-dark: #dd3b3e;
--color-accent-error-border: #9b2222;
--color-primary-light: #212937;
--color-body: #687790;
--color-heading: #ffffff;
--color-off-white: #455775;
--color-input: #323b49;
--color-input-placeholder: #525f72;
font-size: 16px;
font-family: "Roboto", sans-serif;
font-weight: 400;
/* --font-normal: 1rem; */
/* --font-medium: 1.2rem; */
/* --font-large: 1.7rem; */
/* --font-xl: 2.2rem; */
--font-small: 16px;
--font-normal: 16px;
--font-medium: 18px;
--font-large: 24px;
--font-xl: 28px;
--font-2xl: 48px;
}
body {
background-color: var(--color-primary);
color: var(--color-body);
font-size: var(--font-normal);
}
.container {
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-between;
/* position: relative; */
width: 100%;
height: 100vh;
/* margin: auto; */
/* max-width: 1500px; */
/* min-height: calc(100vh - 100px); */
padding: 0 50px;
}
.link {
color: var(--color-body);
}
.heading {
color: var(--color-heading);
}
.em {
color: var(--color-heading);
font-style: italic;
font-weight: 500;
}
.accent {
color: var(--color-accent);
}
.row {
display: flex;
flex-direction: row;
}
h2,
.h2 {
font-size: var(--font-xl);
font-weight: 700;
}
a {
color: inherit;
}
header {
width: 100%;
/* margin: auto; */
/* max-width: 1400px; */
display: flex;
flex-direction: column;
align-items: center;
}
header .brand-name {
width: 150px;
margin: 20px 0;
}
header nav a {
text-decoration: none;
padding: 5px 15px;
font-size: var(--font-medium);
color: var(--color-body);
transition: color 300ms ease-in-out;
}
header nav a:hover {
color: var(--color-heading);
}
/* footer */
footer {
/* position: absolute; */
display: flex;
justify-content: space-between;
align-items: center;
left: 0;
bottom: -100px;
padding: 20px 50px;
height: 100px;
width: 100%;
}
footer h4 {
font-size: var(--font-medium);
}
footer nav a {
text-decoration: none;
padding: 5px 15px;
color: var(--color-body);
transition: color 300ms ease-in-out;
}
footer nav a:hover {
color: var(--color-heading);
}
main#homepage {
padding-top: 40px;
}
main#homepage .part.left {
display: flex;
flex-direction: column;
align-items: center;
justify-content: space-around;
border-radius: 10px;
text-align: center;
font-size: var(--font-medium);
line-height: 30px;
}
main#homepage .part.left .message-card {
margin: 15px 0 30px 0;
background-color: var(--color-primary-light);
padding: 15px 50px;
border-radius: 5px;
color: var(--color-heading);
}
main#homepage .part.left .message-card p {
display: flex;
font-size: var(--font-large);
justify-content: space-between;
padding: 15px 0;
}
main#homepage .part.left .message-card p span {
font-weight: 700;
margin-left: 35px;
font-size: var(--font-xl);
}
main#homepage .part.right {
display: flex;
flex-direction: column;
background-color: var(--color-primary-light);
padding: 50px 40px 30px 40px;
border-radius: 5px;
}
main#homepage .part.right .sub {
display: block;
margin: 10px 0 30px 0;
}
main#homepage .part.right #form {
width: 100%;
display: flex;
flex-direction: column;
}
.input {
width: 100%;
background-color: var(--color-input);
color: var(--color-heading);
border: none;
padding: 15px;
margin: 10px 0;
font-size: var(--font-medium);
border-radius: 5px;
border: 1px solid var(--color-primary-light);
}
.input:focus, .button:focus {
border: inherit;
border: 1px solid var(--color-off-white);
}
.input.error {
color: var(--color-heading);
border: 2px solid var(--color-accent-error-border);
}
.input::placeholder {
color: var(--color-input-placeholder);
}
.button {
display: block;
display: flex;
justify-content: center;
text-decoration: none;
align-items: center;
padding: 10px 25px;
font-size: var(--font-medium);
border: none;
border-radius: 3px;
font-weight: 700;
cursor: pointer;
transition: background-color 200ms ease-in-out;
}
.button.small {
padding: 10px 15px;
}
.button.xs {
padding: 5px 5px;
font-size: var(--font-small);
}
.error {
color: var(--color-accent-error);
}
.button.accent {
background-color: var(--color-accent);
color: var(--color-heading);
}
.button.accent:hover {
background-color: var(--color-accent-dark);
}
.button.error {
color: var(--color-heading);
background-color: var(--color-accent-error);
}
.button.error:hover {
background-color: var(--color-accent-error-dark);
}
form .bottom-container {
display: flex;
justify-content: flex-end;
padding-top: 20px;
}
@media screen and (min-width: 1000px) {
header {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
padding: 20px 10px;
}
main#homepage {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
column-gap: 50px;
padding-top: 10px;
}
}
/* Dashboard Styling */
main#dashboard {
display: flex;
flex-direction: column;
justify-content: space-between;
width: 80%;
min-width: 400px;
padding: 10px;
}
/* Dashboard stats */
main#dashboard #stats {
background-color: var(--color-primary-light);
border-radius: 5px;
display: flex;
flex-direction: column-reverse;
justify-content: space-between;
align-items: center;
padding: 0 30px;
color: var(--color-heading);
text-align: center;
margin-bottom: 20px;
box-shadow: 0 20px 40px rgba(0,0,0,0.1)
}
main#dashboard #stats > div {
margin: 20px auto;
}
main#dashboard #stats_left {
display: flex;
justify-content: space-around;
width: 100%;
}
main#dashboard #stats_left .seperator {
min-width: 3px;
background-color: var(--color-primary);
}
main#dashboard #stats_right {
width: 100%;
margin: 0 20px;
}
main#dashboard .info_entry {
margin: 5px;
display: flex;
flex-direction: column;
font-size: var(--font-xl);
font-weight: 700;
}
main#dashboard .info_entry span {
font-size: var(--font-normal);
font-weight: 400;
text-transform: capitalize;
color: var(--color-body);
}
/* Dashboard summary */
main#dashboard #summary {
background-color: var(--color-primary-light);
border-radius: 5px;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
padding: 0 50px;
color: var(--color-heading);
text-align: center;
margin-bottom: 20px;
box-shadow: 0 20px 40px rgba(0,0,0,0.1)
}
.indicator {
min-width: 20px;
min-height: 20px;
height: 20px;
/* filter: drop-shadow(0px 0px 10px); */
box-shadow: 0 0px 19px;
}
main#dashboard .icon {
height: 30px;
width: 30px;
}
main#dashboard .icon.sm {
height: 22px;
width: 22px;
}
main#dashboard #summary > div {
padding: 20px 0;
}
main#dashboard #summary_left {
display: flex;
align-items: center;
}
main#dashboard #summary_right {
display: flex;
flex-direction: row;
}
main#dashboard #summary_right a {
text-decoration: none;
}
main#dashboard #summary_right a:first-child {
margin-right: 15px;
}
main#dashboard #bro_activity {
text-align: left;
margin-left: 35px;
}
main#dashboard #btn_acountstatus {
padding: 10px 15px;
font-weight: 700;
color: var(--color-heading);
}
main .inactive {
background-color: var(--color-accent);
color: var(--color-accent);
}
main .active {
background-color: var(--color-accent-error);
color: var(--color-accent-error);
}
/* schedule styling */
main#dashboard #schedule {
width: 100%;
margin: auto;
margin-top: 40px;
overflow: auto;
}
main#dashboard #schedule h2 {
color: var(--color-heading);
margin-right: 15px;
}
main#dashboard #schedule table {
overflow: auto;
background-color: var(--color-primary-light);
border-collapse: collapse;
border-radius: 5px;
margin: 20px 40px 60px 40px;
width: calc(100% - 80px);
/* filter: drop-shadow(10px 10px 30px var(--color-primary-dark)); */
box-shadow: 0 20px 40px rgba(0,0,0,0.2)
}
main#dashboard table thead {
background-color: #181F2C;
color: var(--color-heading);
}
main#dashboard table th,td {
padding: 20px 20px;
text-align: center;
}
main#dashboard table td {
border-top: 1px solid var(--color-primary);
text-transform: capitalize;
}
main#dashboard table .course {
text-align: left;
color: var(--color-heading);
}
main#dashboard table tbody>tr>:nth-child(4) {
font-weight: 500;
}
main#dashboard table td.aborted {
color: var(--color-accent-error);
}
main#dashboard table td.success {
color: var(--color-accent);
}
main#dashboard table td.pending {
color: #F29030;
}
@media screen and (min-width: 1000px) {
main#dashboard #stats {
flex-direction: row;
}
main#dashboard #stats_right {
width: 30%;
}
main#dashboard #stats_left {
width: 50%;
}
main#dashboard #summary {
flex-direction: row;
}
}
/* Notifications page */
main#notifications .channel .heading {
display: flex;
align-items: center;
margin: 30px 0 10px 0;
}
main#notifications .channel .heading {
display: flex;
align-items: center;
margin: 30px 0 10px 0;
}
main#notifications .channel .heading > *:not(:last-child) {
margin-right: 20px;
}
main#notifications .channel .steps {
margin-top: 30px;
}
main#notifications .channel .steps li {
font-size: var(--font-medium);
margin: 15px 0;
}
main#notifications #deactivate-btn {
text-decoration: none;
}
/* Verify Notifications Page */
main#verify-notification {
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}
main#verify-notification .link {
padding: 10px;
margin-top: 15px;
}