﻿/*--------------------------------------------------------------
1. Fonts and Variables
--------------------------------------------------------------*/
@font-face {
  font-family: "Montserrat";
  font-weight: 100 900;
  font-style: normal;
  src: url("../fonts/Montserrat/Montserrat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-family: "Montserrat";
  font-weight: 100 900;
  font-style: italic;
  src: url("../fonts/Montserrat/Montserrat-Italic-VariableFont_wght.ttf") format("truetype");
}
:root {
  --placeholderLight: #cccccc;
  --johnpyeRed: #b70e0c;
  --focusShadowColor: rgba(183, 14, 12, 0.25); /* Variable for focus shadow */
}

/*--------------------------------------------------------------
2. Global Styles
--------------------------------------------------------------*/
html, body {
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  font-size: 14px !important;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}
body {
  margin-bottom: 60px;
  min-height: 100%;
  font-family: "Montserrat", sans-serif;
  font-weight: 300;
}

/*--------------------------------------------------------------
3. Placeholder Styles
--------------------------------------------------------------*/
.form-control::placeholder {
  color: var(--placeholderLight);
}
.form-control:-ms-input-placeholder, .form-control::-ms-input-placeholder, .form-control::-moz-placeholder, .form-control:-moz-placeholder, .form-control::-webkit-input-placeholder {
  color: var(--placeholderLight);
}

/*--------------------------------------------------------------
4. Button and Form Control Customizations
--------------------------------------------------------------*/
.btn-primary,
.bg-primary,
.text-primary,
.border-primary {
  background-color: var(--johnpyeRed) !important;
  border-color: var(--johnpyeRed) !important;
  color: #ffffff !important; /* Adjust text color if needed */
}

.btn-primary:hover,
a.text-primary:hover {
  background-color: #ffffff !important;
  color: var(--johnpyeRed) !important;
}

.btn-outline-primary {
  color: var(--johnpyeRed) !important;
  border-color: var(--johnpyeRed) !important;
}
.btn-outline-primary:hover {
  opacity: 0.7;
}

.text-muted {
  color: var(--johnpyeRed) !important;
}

/*--------------------------------------------------------------
5. Form Check (Checkboxes and Radio Buttons)
--------------------------------------------------------------*/
.form-check-input {
  background-color: #ffffff !important; /* White background */
}
.form-check-input:checked {
  background-color: var(--johnpyeRed) !important; /* Red background when checked */
  border-color: var(--johnpyeRed) !important;
}
.form-check-input:focus {
  box-shadow: 0 0 0 0.25rem var(--focusShadowColor) !important; /* Red focus shadow */
}

/*--------------------------------------------------------------
6. Focus Styles
--------------------------------------------------------------*/
.btn:focus,
.btn:active:focus,
.btn-link.nav-link:focus,
.form-control:focus,
.form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem var(--focusShadowColor);
}

/*--------------------------------------------------------------
7. Layout and Positioning
--------------------------------------------------------------*/
.page-mask {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1000;
}
.page-mask.hidden {
  display: none;
}
.page-mask .spinner-table, .page-mask .spinner-table td {
  width: 100%;
  height: 100%;
  z-index: 100001;
  text-align: center;
  vertical-align: -0.125em;
}
.page-mask .spinner-table .customSpinner, .page-mask .spinner-table td .customSpinner {
  width: 4rem !important;
  height: 4rem !important;
  color: var(--johnpyeRed);
}

/*--------------------------------------------------------------
8. Navbar, Links, and Account Bar
--------------------------------------------------------------*/
nav.jp .nav-link {
  color: var(--johnpyeRed) !important;
}
nav.jp .nav-link:hover {
  opacity: 0.7 !important;
}

.jp-txt {
  color: var(--johnpyeRed);
}

.account-bar {
  background: var(--johnpyeRed);
}
.account-bar .btn {
  border-radius: 0;
  min-width: 150px;
}
.account-bar .btn-white {
  background-color: #ffffff;
  border-color: #ffffff;
  color: var(--johnpyeRed);
}
.account-bar .btn-white:hover {
  background-color: var(--johnpyeRed);
  color: #ffffff;
}
.account-bar .btn-red {
  background-color: var(--johnpyeRed);
  border-color: #ffffff;
  color: #ffffff;
}
.account-bar .btn-red:hover {
  background-color: #ffffff;
  color: var(--johnpyeRed);
}

/*--------------------------------------------------------------
9. Dropdown Menu
--------------------------------------------------------------*/
.dropdown:hover > .dropdown-menu,
.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}

.dropdown-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  border-radius: 0;
}

.dropdown-submenu {
  position: relative;
}
.dropdown-submenu .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
}

.navbar-nav {
  display: flex;
  flex: 1;
  justify-content: space-between;
}

.nav-link {
  text-align: center;
  width: 100%;
}

.navbar .navbar-nav .nav-item {
  display: flex;
  align-items: center;
}

.navbar {
  position: relative;
  z-index: 1040;
}

.navbar .dropdown-menu {
  z-index: 1050;
}

.account-bar {
  z-index: 1000;
  position: relative;
}

/*--------------------------------------------------------------
10. Footer and Content Alignment
--------------------------------------------------------------*/
.footer {
  margin-bottom: 0;
  padding-bottom: 0;
  background: #000;
}
.footer.mid {
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}

/*--------------------------------------------------------------
11. Custom Sidebar Styles
--------------------------------------------------------------*/
#sidebar.pinned {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 250px;
  z-index: 1030;
  transform: none !important;
  visibility: visible;
  background-color: #343a40;
}

#mainContent.with-sidebar,
footer.container-fluid.with-sidebar {
  margin-left: 250px;
}

.menu-btn.hidden {
  display: none;
}

@media (max-width: 767.98px) {
  .menu-btn {
    display: block !important;
  }
  #pinSidebar {
    display: none;
  }
}
/*--------------------------------------------------------------
12. vertical and horizonatlly aligned Specific Styles
--------------------------------------------------------------*/
.vcenter-page {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.vcenter-page main {
  display: flex;
  flex-grow: 1;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
}
.vcenter-page footer {
  margin-top: 0;
}

/*--------------------------------------------------------------
13. Other Utility Classes
--------------------------------------------------------------*/
.card {
  margin-bottom: 0;
}

/*.container-fluid {
    overflow: hidden;
    padding-right: 0;
    padding-left: 0;
}*/
.row {
  margin-right: 0;
  margin-left: 0;
}
