@import url('https://fonts.googleapis.com/css2?family=Rajdhani:wght@300;400;500&family=Tangerine:wght@400;700&display=swap');

html, body {
   font-family: 'Rajdhani',sans-serif;
   font-size: 18px;
   font-weight: 400;
   text-size-adjust: auto;
   letter-spacing: normal;
}
/* HTML: <div class="loader"></div> */
.loader {
   width: 60px;
   aspect-ratio: 1;
   background: linear-gradient(#dc1818 0 0) bottom/100% 0% no-repeat #ccc;
   -webkit-mask: radial-gradient(circle at 60% 65%, #000 62%, #0000 65%) top left, radial-gradient(circle at 40% 65%, #000 62%, #0000 65%) top right, linear-gradient(to bottom left, #000 42%,#0000 43%) bottom left, linear-gradient(to bottom right,#000 42%,#0000 43%) bottom right;
   -webkit-mask-size: 50% 50%;
   -webkit-mask-repeat: no-repeat;
   animation: l19 2s infinite linear;
}

@keyframes l19 {
   90%,100% {
      background-size: 100% 100%
   }
}
      
/* Page layout helpers */


main {
  background-color: black;
  background-size: 100% 100%;
  opacity: 0.9;
}

/* Typography */
p {
   font-family: 'Rajdhani',sans-serif;
   font-size: 18px;
}

h1, h2, h3, h4, h5 {
   font-family: 'Rajdhani',sans-serif;
}

h4 {
   text-transform: uppercase;
   font-size: 0.6rem;
}

/* Simple utility classes used across multiple pages */
.service-list {
   border-top: 1px solid #cd1818;
   padding: 3rem 0 3rem 0;
}
.service-list h3{
  text-transform:uppercase;
  color:#cd1818;
  font-size:1rem;
  font-weight:bold;
}
h1:focus {
   outline: none;
}

.page-item.active {
   background-color: transparent;
   color: #cd1818;
}

.half-input-container {
   display: flex;
   justify-content: space-between;
}

.custom-form-select {
   display: block;
   height: 2rem;
   width: 95%;
   text-align: center;
   padding: .375rem 2.25rem .375rem .75rem;
   border: 0;
   border-bottom: 0.5px solid #474747;
   background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
   background-repeat: no-repeat;
   background-position: right .75rem center;
   background-size: 16px 12px;
   appearance: none;
}

/* Form focus states */
.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 #258cfb;
}

.custom-file-input:active::before {
   background: -webkit-linear-gradient(top, #e3e3e3, #cd1818);
}
.input-section {
   margin-bottom: 2rem;
}

.input-description {
   margin-bottom: 0.5rem;
}

.radio-item-group input[type="radio"] {
   display: none;
}
.radio-item-group label {
   border-color: #cd1818;
   border-width: 1px;
   padding: 0.3rem 1.5rem;
   border-radius: 10px;
   width: 100%;
   border-style: solid;
}

.radio-item-group input[type="radio"]:checked + label {
   background-color: #cd1818;
   color: white;
   width: 100%;
   border: 1px solid;
}
.customaccordion-button {
   position: relative;
    align-items: center;
   width: 100%;
   padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);
   font-size: 1.15rem;
text-transform:uppercase;
   color: var(--bs-accordion-btn-color);
   text-align: left;
   background-color: var(--bs-accordion-btn-bg);
   border:2px solid black;
   border-radius: 0;
   overflow-anchor: none;
   transition: var(--bs-accordion-transition);
}

.InputRadiocontainer {
   display: block;
   position: relative;
   padding-left: 35px;
   margin-bottom: 12px;
   cursor: pointer;
   font-size: 22px;
   -webkit-user-select: none;
   -moz-user-select: none;
   -ms-user-select: none;
   user-select: none;
}

   /* Hide the browser's default radio button */
   .InputRadiocontainer input {
      position: absolute;
      opacity: 0;
      cursor: pointer;
   }

/* Create a custom radio button */
.checkmark {
   position: absolute;
   top: 0;
   left: 0;
   height: 1.2rem;
   width: 1.2rem;
   background-color: #b8bbbf;
   border-radius: 50%;
}

/* On mouse-over, add a grey background color */
.InputRadiocontainer:hover input ~ .checkmark {
   background-color: #ccc;
}

/* When the radio button is checked, add a blue background */
.InputRadiocontainer input:checked ~ .checkmark {
   background-color: #f32121;
}

/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
   content: "";
   position: absolute;
   display: none;
}

/* Show the indicator (dot/circle) when checked */
.InputRadiocontainer input:checked ~ .checkmark:after {
   display: block;
}

/* Style the indicator (dot/circle) */
.InputRadiocontainer .checkmark:after {
   top: .45rem;
   left: .45rem;
   width: .4rem;
   height: .4rem;
   border-radius: 50%;
   background: white;
}
.navbar-brand {
   font-size: 1.1rem;
   color: #fff;
}

.oi {
   width: 2rem;
   font-size: 1rem;
   vertical-align: text-top;
   top: -2px;
}

.mnav {
   padding: 0 1rem 0 1rem;
   color: whitesmoke;
   text-decoration: none;
   align-content: center;
   text-align: center;
}

.mnav-bottom-text {
   font-size: .4rem;
}

.notify {
   font-size: .7rem;
}

.nav-item {
   font-size: 0.9rem;
   padding-bottom: 0.5rem;
}

.nav-item:first-of-type {
   padding-top: 1rem;
}

.nav-item:last-of-type {
   padding-bottom: 1rem;
}

@media (min-width: 990px) {
   .navbar-toggler {
      display: none;
   }
}

@media (max-width: 989px) {
   .navbar-toggler {
      display: none;
   }
}

@media (max-width:470px){
   .img-circle {
      border-radius: 50% 50%;
      width: 20rem;
      height: 20rem;
   }
}


/* Blazor error UI / global loader (used by LoadingComponent and index.html) */
#blazor-error-ui {
   background: lightyellow;
   bottom: 0;
   box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
   display: none;
   left: 0;
   padding: 0.6rem 1.25rem 0.7rem 1.25rem;
   position: fixed;
   width: 100%;
   z-index: 1000;
}

#blazor-error-ui .dismiss {
   cursor: pointer;
   position: absolute;
   right: 0.75rem;
   top: 0.5rem;
}

.blazor-error-boundary {
   padding: 1rem 1rem 1rem 3.7rem;
   color: white;
   background: url(data:image/svg+xml;base64,PHN2Zy...) no-repeat 1rem/1.8rem, #b32121;
}
.blazor-error-boundary::after { content: "An error has occurred." }



/* Small utilities used in multiple components */
.valid.modified:not([type=checkbox]) { outline: 1px solid #26b050; }
.invalid { outline: 1px solid #cd1818; }
.validation-message { color: #cd1818; }

/* File input helpers (kept minimal - component styles live in component CSS files) */
input[type=file]::file-selector-button {
   margin-right: 20px;
   border: 2px solid #cd1818;
   padding: 10px 20px;
   border-radius: 10px;
   color: #cd1818;
   cursor: pointer;
   transition: background .2s ease-in-out;
}
input[type=file]::file-selector-button:hover { background: #cd1818; color: #fff; }

/* Keep auth / card utility styles used by several pages */
.auth-card { box-shadow: 0 3px 8px 2px #FF0000, 0 6px 20px 0 #E4E4E4; padding-bottom: 4rem; border-radius: 3rem; }
.user-card { box-shadow: 0 3px 8px 2px #FF0000, 0 6px 20px 0 #E4E4E4; padding-bottom: .6rem; margin-bottom:.5rem; border-radius: 1rem; }

/* Admin card */
.admin_card { padding: 2rem; box-shadow: 0 3px 8px 2px #FF0000, 0 6px 20px 0 #E4E4E4; padding-bottom: 2rem; border-radius: 3rem; margin: 1rem; }

/* Keep a small set of utility spacing helpers to avoid layout regressions */
.py-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.px-4 { padding-right: 1.5rem !important; padding-left: 1.5rem !important; }
.flex-grow-0 { flex-grow: 0 !important; }
.border-top { border-top: 1px solid #dee2e6 !important; }

/* Responsive tweaks */
@media (min-width:1200px) {
   .oi { width: 1.3rem; }
}

/* End of global stylesheet - component-specific styles are defined in their own .razor.css files */
