:root {
    --primary: #4890d2; 
    --secondary: #6BB1D1;
    --teriary: #90c4dc;
    --secondary-light: #6BB1D150; 
    --gold: #E4BF37;
    /* A200 https://mui.com/material-ui/customization/color/ */
    --red: #ff5252;
    --lime: #b2ff59;
    --green: #64DD17;
    --light-blue: #40c4ff;
    --cyan: #18ffff;
    --purple: #e040fb;
    --navbar-height: 50px;
    --footer-height: 50px;
}

.fixed {
    position: fixed;
    width: 25%;
}
.scrollit {
    float: left;
    width: 71%
}

.primary-color {
    color: var(--primary);
}

.secondary-color {
    color: var(--secondary);
}

.teriary-color {
    color: var(--teriary);
}

.color-gold {
    color: var(--gold);
}

.color-red {
    color: var(--red);
}

.color-cyan {
    color: var(--cyan);
}

.color-light-blue {
    color: var(--light-blue);
}

.color-green {
    color: var(--green);
}

.color-purple {
    color: var(--purple);
}


html, body {
    height: 100%;

    margin: 0px;
    padding: 0px;

    font: 400 14px/1.8 "Lato", sans-serif;
  
    color: #777;
}

.positionfixed {
    position: fixed;
} 

h1 {
    font-size: 34px;
    font-weight: 500;
    color: var(--primary);
    text-align: center;
    letter-spacing: 2px;
    scroll-margin-top: 100px;
}

h2 {
    font-size: 30px;
    color: var(--secondary);
    text-align: center;
    margin-bottom: 20px;
    letter-spacing: 2px;
}

h3 {
    font-size: 26px;
    color: var(--secondary);
    text-align: center;
    margin-bottom: 10px;
    letter-spacing: 2px;
}

h4 {
    font-size: 22px;
    color: var(--secondary);
    text-align: center;
    margin-bottom: 10px;
    letter-spacing: 2px;
}

p {
    text-align: justify;
    color: #666;
    font-size: 14px;
    overflow-wrap: break-word;
    word-break: break-word;
}

hr { 
    border: 0;
    height: 2px;

    background: var(--secondary);
    border-radius: 10px;

    margin-bottom: 50px;

    opacity: 100%;

    margin-left: auto;
    margin-right: auto;
}

hr.remove-bottom-margin {
    margin-bottom: 14px;
}

hr.zero-bottom-margin {
    margin-bottom: 0px;
}

hr.opaque {
    opacity: 75%;
}

a {
    text-decoration: none;
    /* color: #999; */
    color: var(--secondary);
    outline: none;
}

section {
    /* padding-bottom: 50px; */
    scroll-margin-top: 100px;
}

.main-page section {
    padding-top: 30px; /* h1 = 20px */
    padding-bottom: 50px;
}

section h1 {
    padding-top: 20px;
    padding-bottom: 10px;
}

.btn {
    width: 100%;
    /* shortening words */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.btn-primary {
    --bs-btn-bg: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary);
    --bs-btn-hover-border-color: var(--primary);
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-bg: var(--primary);
    --bs-btn-active-border-color: var(--primary);
    --bs-btn-disabled-bg: var(--primary);
    --bs-btn-disabled-border-color: var(--primary);
}

.btn-outline-primary {
    --bs-btn-color: var(--primary);
    --bs-btn-border-color: var(--primary);
    --bs-btn-hover-bg: var(--primary);
    --bs-btn-hover-border-color: var(--primary);
    --bs-btn-active-bg: var(--primary);
    --bs-btn-active-border-color: var(--primary);
    --bs-btn-disabled-color: var(--primary);
    --bs-btn-disabled-border-color: var(--primary);
}

.btn-secondary {
    --bs-btn-bg: var(--secondary);
    --bs-btn-border-color: var(--secondary);
    --bs-btn-hover-bg: var(--secondary);
    --bs-btn-hover-border-color: var(--secondary);
    --bs-btn-focus-shadow-rgb: 49,132,253;
    --bs-btn-active-bg: var(--secondary);
    --bs-btn-active-border-color: var(--secondary);
    --bs-btn-disabled-bg: var(--secondary);
    --bs-btn-disabled-border-color: var(--secondary);
}

.btn-outline-secondary {
    --bs-btn-color: var(--secondary);
    --bs-btn-border-color: var(--secondary);
    --bs-btn-hover-bg: var(--secondary);
    --bs-btn-hover-border-color: var(--secondary);
    --bs-btn-active-bg: var(--secondary);
    --bs-btn-active-border-color: var(--secondary);
    --bs-btn-disabled-color: var(--secondary);
    --bs-btn-disabled-border-color: var(--secondary);
}

.card {
    border-width: 0;
    background: rgb(255, 255, 255);
    box-shadow: 0 6px 10px rgba(0,0,0,.08), 0 0 6px rgba(0,0,0,.05);
      transition: .3s transform cubic-bezier(.155,1.105,.295,1.12),.3s box-shadow,.3s -webkit-transform cubic-bezier(.155,1.105,.295,1.12);
    cursor: pointer;
}

.card:hover{
    transform: scale(1.05);
 box-shadow: 0 10px 20px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);
}

.card-title {
    font-weight: 600;
    text-align: center;
}

.table {
    color: #777;
    --bs-table-border-color: var(--secondary-light);
}

.table-group-divider {
    border-top-color: var(--secondary-light);
}

/* MENU */
.navbar .container-fluid {
    margin-left: 5%;
    margin-right: 5%;
}

.scroll-down {
    position: absolute;

    color: rgba(255, 255, 255, 0.5);
    font-size: 32px;

    animation-iteration-count:infinite;
    animation: scroll-down-animation 2s ease infinite;
    left: calc(50% - 24px);
}

.scroll-down:hover {
    color: rgba(255, 255, 255, 1);
    cursor: pointer;
}

@keyframes scroll-down-animation {
    0% {
        bottom: 50px;
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    100% {
        bottom: 25px;
        opacity: 0;
    }
}

/* Navbar styles */
.navbar {
    height: fit-content;
    box-shadow: 0 6px 10px rgba(0,0,0,.07), 0 0 6px rgba(0,0,0,.05); /* Adding a shadow to the bottom of the navbar */
    top: 0;
    padding: 0px;
    color: #BBB;
}

.nav-item a {
    font-size: 18px;
    /* font-weight: 600; */
}

.nav-item a:hover {
    color:var(--primary);
    /*text-decoration: underline;
    text-decoration-color: var(--primary);
    text-decoration-thickness: 3px;*/
}

.nav-button a {
    font-size: 18px;
    font-weight: 600;
    position: relative;
}

.nav-button a:hover {
    color:#ffffff;
    text-decoration-color: var(--primary);
    text-decoration-thickness: 3px;
}

.nav-login {
    color: var(--secondary);
}

.nav-height-padding {
    padding-top: calc(var(--navbar-height) + 15px);
}

.navbar-toggler {
    border: var(--bs-border-width) solid rgb(0 0 0 / 0%);
}

.navbar-toggler:focus {
    box-shadow: 0 0 0 0;
}

.link-selected {
    color:var(--primary);
    /*
    color:#000000;
    text-decoration: underline;
    text-decoration-color: var(--primary);
    text-decoration-thickness: 3px;*/
}

/* TITLE */
.title {
    min-width: 100%;
    min-height: 100%;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
}

.parallax {
    height: 100vh;
    background-size: cover;
    background-position: center center; /* Centers the image */
    background-repeat: no-repeat; /* Parallax scrolling */
    background-attachment: fixed;
    text-align: center;
    color:#fcfcfc;
}

.parallax-title {
    background-image: url("../static/background/title.jpg");
}

.parallax-separation {
    padding-top: 75px;
    padding-bottom: 75px;
    height: 100%;
}

.parallax-1 {
    background-image: url("../static/background/1.jpg");
}

.parallax-2 {
    background-image: url("../static/background/2.jpg");
}

.parallax-3 {
    background-image: url("../static/background/3.jpg");
}

.curtain {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(77, 122, 191, 0.3);
    display: flex;
    justify-content:center;
    align-items:center;
}

.title h1 {
    background-color: white;

    border-radius: 25px;
    padding: 10px 20px; 

    font-size: 32px;

    margin-top: 50px;
    display: inline-block;
}

.title img {
    max-width: 100%;
}

/* SUBPAGE TITLE */

.subpage-background {
    position: fixed;
    width: 100%;
    height: 100%;
    background-attachment: local;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1;
}

.subpage-title {
    text-align: center;

    margin-top: 100px;
    margin-bottom: 50px;
}

.subpage-title img {
    width: 40%;
}

.subpage-content {
    background-color: white;
    padding: 20px 20px 20px 20px;
    border-radius: /*15px;*/ var(--bs-border-radius);
    margin-bottom: 20px;

    box-shadow: 0px 0px 50px 0px rgba(64, 64, 64, 0.25);
}

.subpage-content section {
    padding-bottom: 20px;
}

.table-of-contents {
    font-size: 16px;
    max-height: calc(100vh - var(--navbar-height) - var(--footer-height) - 30px);
}

.table-of-contents::-webkit-scrollbar {
    width: 0.75rem;
}
.table-of-contents::-webkit-scrollbar-track {
    box-shadow: inset 0 0 var(--bs-border-radius) rgba(104, 140, 240, 0.3);
}
.table-of-contents::-webkit-scrollbar-thumb {
    background-color: var(--teriary);
    border-radius: /*15px;*/ var(--bs-border-radius);
    /*outline: 1px solid slategrey;*/
}

.table-of-contents a {
    text-decoration: none;
    color: #999;
    outline: none;
}

.table-of-contents .btn {
    font-size: 18px;
}

.table-of-contents hr {
    margin-bottom: 30px;
}

.table-of-contents hr.divider {
    margin-bottom: 30px;
    margin-top: 30px;
    opacity: 75%;
}

.table-of-contents input[type=text] {
    font-size: 18px;
}

/* FORMS */

form .slider-input {
    width: 100%;
}

form .mini-divider {
    margin-bottom: 20px;
    margin-top: 20px;

    opacity: 50%;
}

.full-divider {
    margin-bottom: 50px;
    margin-top: 50px;
}

form .opaque {
    opacity: 75%
}

form .btn {
    margin-bottom: 5px;
    margin-top: 5px;
}

form input, textarea {
    /* display: block; */
    /* margin: 0px auto 15px; */

    /* border: solid 2px #CCC; */
    border: solid 1px;
    border-color: var(--secondary);
    border-radius: 5px;
    padding: 2px 10px;

    color: #888;
    /* font-size: 14px; */
    font-size: 16px;

    display: block;
    width: 100%;
}

form select {
    border: solid 1px;
    border-color: var(--secondary);
    border-radius: 5px;
    padding: 2px 10px;

    color: #888;
    /* font-size: 14px; */
    font-size: 16px;

    padding-top: 5px;
    padding-bottom: 5px;
}

.panel-recruit-info p {
    text-align: center;
    font-size: 16px;
}

.panel-recruit-info .info-box {
    background-color: var(--secondary-light);
    padding: 20px;
    margin: 25px 0;
    border-radius: 8px;
    border: 1px solid var(--secondary);
}

.panel-recruit-info .info-box h3 {
    font-size: 16px;
    color: var(--primary);
    margin-bottom: 0px;
}

.panel-recruit-info .info-box p {
    font-size: 14px;
    margin: 10px 0 0 0;
}

textarea {
    height: 38px;
}

.panel-recruit textarea {
    height: 30px;
}

form input:focus, textarea:focus {
    border-color: var(--secondary);
    color: var(--secondary);
    outline-width: 0;
    outline-color: transparent;
}

.form-control, .form-control:focus, .form-control:invalid {
    border-color: var(--secondary);
    color: var(--secondary);
    outline-width: 0;
    outline-color: transparent;
    box-shadow: 0 0 0px #ffffff;
    appearance: auto;
    font-size: 16px;
}

form input:invalid, textarea:invalid {
    border-color: #e74c3c;
    color: #e74c3c;
    outline-width: 0;
}

form input[type=checkbox] {
    display: unset;
    width: inherit;
}

input[type="range"] {
    -webkit-appearance: none;
    appearance: none;
    background: transparent;
    cursor: pointer;
}
input[type="range"]::-webkit-slider-runnable-track {
    height: 2rem;  
}
input[type="range"]::-moz-range-track {
    height: 2rem;  
}
input[type="range"]::-webkit-slider-thumb {
    border-radius: 5px;
    -webkit-appearance: none; /* Override default look */
    appearance: none;
    margin-top: 0rem; /* Centers thumb on the track */
    background-color: var(--secondary);
    height: 2rem;
    width: 1rem;    
}
input[type="range"]::-moz-range-thumb {
    border: none; /*Removes extra border that FF applies*/
    border-radius: 0; /*Removes default border-radius that FF applies*/
    background-color: var(--secondary);
    height: 2rem;
    width: 1rem;    
}

input[type="checkbox"] {
    accent-color: #5a98b5;
    color-scheme: only light;
}

.form-group {
    padding-bottom: 15px;
}

.form-group p {
    font-style: italic;
}

/* ABOUT */

.about .card-center {
    position: relative;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

/* NEWS */

.news .container {
    padding-top: 20px;
    padding-bottom: 5px;
    padding-left: 20px;
    padding-right: 20px;
}

.news .card {
    margin-bottom: 20px;
}

.news .card li {
    color: #666;
}

.news .icon {
    font-size: 55px;
}

.news .time {
    color: #999;
    margin-bottom: 0px;
}

.news h3 {
    text-align: left;
    margin-top: 10px;
    margin-bottom: 0px;
}

.news .btn {
    margin-bottom: 10px;
}

/* ADMINISTRATORS */

.admin > div {
    margin: 20px auto;

    display: flex;
    flex-direction: column;
    align-items: center;
    min-height: 400px;
}

.admin img {
    width: 128px !important;
    height: 128px !important;
    margin: 0px auto 10px;
}

.admin p {
    padding: 0px 10px;
}

.lower-admin h3 {
    font-size: 16px;
    margin-bottom: 0px;
    padding-top: 10px;
}

.lower-admin p {
    margin-bottom: 0px;
    text-align: center;
}

.lower-admin .owl-item {
    width: 50px;
}

/* COPYRIGHT */

.copyright {
    padding: 10px;
    text-align: center;
    color: white;
    background-color: var(--primary);
}

.copyright span {
    margin: 0px 10px;
}

.copyright a {
    color: white;
}

.copyright a:hover {
    text-decoration: underline;
    cursor: pointer;
}

/* Subpage with toc table of contents */

.sub-page-with-toc-content {
    text-align: justify;
}

.sub-page-with-toc-content ol {
    padding-left: 20px;
}

.sub-page-with-toc-content li {
    margin-top: 5px;
    margin-bottom: 5px;
}

.sub-page-with-toc-content h1 {
    font-size: 26px;
    color: var(--secondary);
}

.sub-page-with-toc-content h2 {
    font-size: 20px;
    color: var(--secondary);
}

/* SHOP */

.shop .subpage-content {
    height:  100%
}

/* RANKING */

.ranking {
    margin-bottom: -5px;
}

.ranking .nick {
    color: #555;
    font-size: 16px;
    margin: -5px 0px;

    /* shortening words */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ranking .tokens {
    color: #999;
    font-size: 14px;
    margin: 0px;
}

.ranking .row {
    margin-bottom: 15px;
    height: 60px;
}

.ranking .row:last-child {
    margin-bottom: 0px;
}

.ranking .place {
    padding-left: 5px;
    padding-right: 5px;
    margin-top: -5px;
}

.ranking .place p {
    font-size: 32px;
    /*margin-top: -10px;*/
    color: #AAA;
    text-align: center;
}

.ranking .icon {
    font-size: 38px;
}

.last-orders img {
    width: 40px;
}

.last-orders .nick {
    color: #555;
    font-size: 16px;
    margin-bottom: 0px;

    /* shortening words */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.last-orders .tokens {
    font-size: 12px;
    margin-top: 0px;
    margin-bottom: 0px;
    color: #555;

    /* shortening words */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.last-orders .time {
    color: #BBB;
    font-size: 12px;
    margin-top: 0px;
    margin-bottom: 0px;
}

/* PUNISHMENTS */

.punishments table a {
    color: var(--secondary);
}

/* WIKI */
.wiki-page p {
    text-align: left;
}

.wiki-page table p {
    text-align: center;
    margin-bottom: 0px;
}

.wiki-page img {
    width: 100%;
}

.wiki-page .tag {
    font-size: 24px !important;
}

.wiki-page h2 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.wiki-page .table-layout-fixed table {
    table-layout: fixed;
}

.wiki-page table th {
    min-width: 50px;;
}

/* PANEL */

.panel .left-vr {
    border-left: 2px solid var(--teriary);
    height: 100%;
    padding-left: 25px;
}

.panel h1 {
    text-align: left;
    font-size: 34px;
}

.panel hr.divider {
    margin-bottom: 30px;
    margin-top: 30px;
    opacity: 75%;
}

.statistics {
    margin: 0.5rem;
}

.statistics svg.icon {
    font-size: 30px;
    color: var(--gold);
    margin-top: 10px;
}

.statistics .text {
    color: #999;
    font-size: 14px;
    margin-bottom: -5px;
}

.statistics .value {
    color: #555;
    font-size: 18px;
    margin-bottom: 0rem;
}

.panel-start .btn {
    margin-top: 0px;
}

.panel-history .row {
    margin-bottom: 5px;
}

.panel-history .income {
    color: green;
}

.panel-history .outcome {
    color: red;
}

.panel-history .time {
    color: #999;
}

.icon-title-subtitle {
    padding-bottom: 25px;
}

.icon-title-subtitle .icon {
    height: 100%;
    max-width: 35px;
    color: var(--teriary)
}

.icon-title-subtitle .icon-title {
    color: #555;
    font-size: 16px;
    margin: -5px 0px;
}

.icon-title-subtitle .icon-subtitle {
    color: #999;
    font-size: 14px;
    margin: 0px;
}

.ticket-menu h1 {
    font-size: 15px;
    font-weight: bold;
    color: var(--primary);
    text-align: center;
    margin-bottom: 10px;
    letter-spacing: 0px;
    padding-left: 5px;
}

.ticket-menu .divider {
    margin-top: 10px;
    margin-bottom: 10px;
}

.helpdesk-ticket-menu-item {
    margin-bottom: 5px;
    cursor: pointer;
}

.helpdesk-ticket-menu-item:hover {
    border-radius: var(--bs-border-radius);
    background-color: var(--bs-gray-200);
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.helpdesk-ticket-menu-item .img-col {
    padding: 5px 0px 5px 0px;
    margin-left: 5px;
}

.helpdesk-ticket-menu-item .text-col {
    margin-left: -5px;
}

.helpdesk-ticket-menu-item img {
    max-width: 55px; 
    width: 100%;
}

.helpdesk-ticket-menu-item .main-text {
    color: #555;
    font-size: 16px;
    padding-left: 5px;
}

.helpdesk-ticket-menu-item .sub-text {
    color: #999;
    font-size: 14px;
    margin: 0px;
    padding-left: 5px;
}

.w-5 {
    width: 5%!important;
}
.w-10 {
    width: 10%!important;
}
.w-15 {
    width: 15%!important;
}
.w-20 {
    width: 20%!important;
}