.fakeimg {
  height: 77px;
  background: #E2E2E2;
}

html {
  position: relative;
  min-height: 100%;
}
body {
  /* Margin bottom by footer height */
  margin-bottom: 150px;
}

main {
    padding-top: 40px;
    padding-bottom: 40px;
}


.bg-primary {
  background-color: #e7ebf0 !important;
}

.text-primary {
  color: #526274 !important;
}

.border-primary {
  border-color: #cfd7e0 !important;
}



#brand .container {
  margin-bottom: 1px;
}

#brand {
  background: linear-gradient(180deg, #f4f6f8 0%, #e5eaf0 100%) !important;
  border-bottom: 1px solid #d4dbe3;
}

.brand-row {
  row-gap: 1rem;
  padding: 0.7rem 0;
}

.brand-primary {
  display: flex;
  align-items: center;
  gap: 1.15rem;
  min-height: 92px;
}

.brand-home {
  flex-shrink: 0;
}

#brand h1 {
  font-size: 1.75rem;
  color: white;
  padding-top: 20px;
  font-weight: normal;
  letter-spacing: 1px;
}
#brand h1 small {
  color: white;
  font-weight: lighter;
  letter-spacing: 2px;
}

#footer {
  position: absolute;
  bottom: 0;
  width: 100%;
  /* Set the fixed height of the footer here */
  height: 150px;
  background-color: #e1e6ec !important;
  border-top: 1px solid #cfd7e0;
  color: #2d3e50;
  padding-top: 15px;
}

#footer a {
  color: #004b87;
  text-decoration: none;
}

#footer a:hover,
#footer a:focus {
  color: #0f2237;
  text-decoration: underline;
}

.banner-name {
    padding-top: 0;
    color: #004b87;
    font-family: "Sora", "Plus Jakarta Sans", "Avenir Next", "Segoe UI Variable", sans-serif;
    font-size: clamp(1.1rem, 0.95rem + 0.65vw, 1.65rem);
    font-weight: 600;
    letter-spacing: 0.01em;
    line-height: 1.15;
    text-wrap: balance;
    text-shadow: none;
}

.banner-logo {
    margin-top: 0;
    margin-bottom: 0;
    width: auto;
    max-height: 75px !important;
}

.brand-logo-hzdr {
  max-height: 72px !important;
}

.brand-partner-logos {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 1.15rem;
  min-height: 92px;
  flex-wrap: wrap;
}

.brand-partner-logo {
  display: block;
  width: auto;
  max-width: 100%;
  object-fit: contain;
  filter: saturate(0.92) contrast(1.02);
}

.brand-partner-logo-haicore,
.brand-partner-logo-rosi {
  max-height: 62px;
}

body > main > form > div.alert.alert-block.alert-danger > ul > li {
  list-style: none;
  margin-top: 14px;
}

body > main > div > div.card.border-primary > div.card-body > form > div.alert.alert-block.alert-danger > ul > li {
  list-style: none;
  margin-top: 14px;
  
}

/*
 * These were copied from django-hijack https://github.com/arteria/django-hijack
 *
 */
.hijacked-warning {
  background-size: 50px 50px;
  background-color: #ffe761;
  color: #000;
  background-image: -webkit-linear-gradient(-45deg, rgba(0, 0, 0, .04) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, .04) 50%, rgba(0, 0, 0, .04) 75%, transparent 75%, transparent);
  background-image: -moz-linear-gradient(-45deg, rgba(0, 0, 0, .04) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, .04) 50%, rgba(0, 0, 0, .04) 75%, transparent 75%, transparent);
  background-image: linear-gradient(135deg, rgba(0, 0, 0, .04) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, .04) 50%, rgba(0, 0, 0, .04) 75%, transparent 75%, transparent);
  margin-bottom:0;
}

.hijacked-warning-controls,
.hijacked-warning-controls form {
	display: inline;
}

.django-hijack-button-default {
	-moz-box-shadow:inset 0px 1px 0px 0px #ffffff;
	-webkit-box-shadow:inset 0px 1px 0px 0px #ffffff;
	box-shadow:inset 0px 1px 0px 0px #ffffff;
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #f6f6f6));
	background:-moz-linear-gradient(top, #ffffff 5%, #f6f6f6 100%);
	background:-webkit-linear-gradient(top, #ffffff 5%, #f6f6f6 100%);
	background:-o-linear-gradient(top, #ffffff 5%, #f6f6f6 100%);
	background:-ms-linear-gradient(top, #ffffff 5%, #f6f6f6 100%);
	background:linear-gradient(to bottom, #ffffff 5%, #f6f6f6 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f6f6f6',GradientType=0);
	background-color:#ffffff;
	-moz-border-radius:6px;
	-webkit-border-radius:6px;
	border-radius:6px;
	border:1px solid #dcdcdc;
	display:inline-block;
	cursor:pointer;
	color:#666666;
	font-family:Arial;
	font-size:11px;
	font-weight:bold;
	padding:3px 12px;
	text-decoration:none;
	text-shadow:0px 1px 0px #ffffff;
}
.django-hijack-button-default:hover {
	background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #f6f6f6), color-stop(1, #ffffff));
	background:-moz-linear-gradient(top, #f6f6f6 5%, #ffffff 100%);
	background:-webkit-linear-gradient(top, #f6f6f6 5%, #ffffff 100%);
	background:-o-linear-gradient(top, #f6f6f6 5%, #ffffff 100%);
	background:-ms-linear-gradient(top, #f6f6f6 5%, #ffffff 100%);
	background:linear-gradient(to bottom, #f6f6f6 5%, #ffffff 100%);
	filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f6f6f6', endColorstr='#ffffff',GradientType=0);
	background-color:#f6f6f6;
}
.django-hijack-button-default:active {
	position:relative;
	top:1px;
}

.form-control[readonly]{background-color:#ffffff;opacity:1}

/* Lightweight typography refresh for a more modern look. */
:root {
  --cf-font-sans: "Inter", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

html,
body,
button,
input,
select,
textarea {
  font-family: var(--cf-font-sans);
}

body {
  font-size: 15px;
  line-height: 1.55;
  letter-spacing: 0.005em;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  letter-spacing: 0.01em;
}

.navbar .nav-link,
.dropdown-item,
.btn {
  font-weight: 500;
}

.card,
.form-control,
.btn,
.table {
  border-radius: 0.4rem;
}

.form-control {
  border-color: #d8dee6;
}

.form-control:focus {
  border-color: #8ca9f5;
  box-shadow: 0 0 0 0.15rem rgba(69, 130, 236, 0.2);
}

/* Component polish: cards/boxes, navbar, buttons, search and text inputs. */
:root {
  --cf-surface: #ffffff;
  --cf-surface-soft: #f6f8fb;
  --cf-border: #dbe2ea;
  --cf-border-strong: #c7d0db;
  --cf-shadow-sm: 0 1px 3px rgba(15, 23, 42, 0.08);
  --cf-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.08);
  --cf-shadow-focus: 0 0 0 0.17rem rgba(69, 130, 236, 0.2);
  --cf-accent: #3257d6;
}

.navbar {
  box-shadow: var(--cf-shadow-sm);
}

.navbar.bg-primary {
  background: #e1e6ec !important;
  border-bottom: 1px solid #cfd7e0;
}

.navbar .navbar-brand {
  color: #203247 !important;
}

.navbar .nav-link,
.navbar .navbar-text,
.navbar .dropdown-toggle {
  color: #203247 !important;
}

.navbar .nav-link:hover,
.navbar .nav-link:focus,
.navbar .dropdown-toggle:hover,
.navbar .dropdown-toggle:focus {
  color: #0f2237 !important;
}

.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .show > .nav-link {
  color: #0f2237 !important;
  font-weight: 600;
}

.navbar .dropdown-menu {
  border: 1px solid var(--cf-border);
  border-radius: 0.5rem;
  box-shadow: var(--cf-shadow-md);
}

.navbar .dropdown-item {
  border-radius: 0.3rem;
}

@media (min-width: 992px) {
  .brand-partner-logos {
    justify-content: flex-end;
  }
}

@media (max-width: 991.98px) {
  .brand-primary {
    min-height: auto;
  }

  .brand-partner-logos {
    min-height: auto;
    justify-content: flex-start;
    padding-bottom: 0.35rem;
  }
}

@media (max-width: 575.98px) {
  .brand-primary {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }

  .brand-partner-logos {
    gap: 0.75rem;
  }

  .brand-partner-logo-haicore,
  .brand-partner-logo-rosi {
    max-height: 48px;
  }
}

.card,
.table,
.alert,
.modal-content {
  border: 1px solid var(--cf-border);
  box-shadow: var(--cf-shadow-sm);
  background: var(--cf-surface);
}

.card-header {
  background: var(--cf-surface-soft);
  border-bottom: 1px solid var(--cf-border);
  font-weight: 600;
}

.card-header.bg-primary,
.card-header.bg-primary h1,
.card-header.bg-primary h2,
.card-header.bg-primary h3,
.card-header.bg-primary h4,
.card-header.bg-primary h5,
.card-header.bg-primary h6,
.card-header.bg-primary .text-white {
  color: #203247 !important;
}

.btn {
  border-radius: 0.45rem;
  border-width: 1px;
  box-shadow: 0 1px 1px rgba(15, 23, 42, 0.05);
  transition: transform 0.12s ease, box-shadow 0.16s ease, filter 0.16s ease;
}

.btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 14px rgba(15, 23, 42, 0.11);
}

.btn:focus,
.btn.focus {
  box-shadow: var(--cf-shadow-focus);
}

.btn-primary {
  background-color: var(--cf-accent);
  border-color: var(--cf-accent);
}

.btn-primary:hover {
  background-color: #2748bd;
  border-color: #2748bd;
}

.form-control,
.custom-select,
input[type="search"],
input[type="text"],
input[type="email"],
input[type="password"],
textarea,
select {
  border-color: var(--cf-border);
  background-color: #fff;
  border-radius: 0.45rem;
}

.form-control:hover,
.custom-select:hover,
input[type="search"]:hover,
input[type="text"]:hover,
input[type="email"]:hover,
input[type="password"]:hover,
textarea:hover,
select:hover {
  border-color: var(--cf-border-strong);
}

.form-control:focus,
.custom-select:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border-color: #8ca9f5;
  box-shadow: var(--cf-shadow-focus);
}

.input-group-text {
  border-color: var(--cf-border);
  background-color: var(--cf-surface-soft);
}

.select2-container--default .select2-selection--single,
.select2-container--default .select2-selection--multiple {
  border: 1px solid var(--cf-border);
  border-radius: 0.45rem;
  min-height: 38px;
}

.select2-container--default.select2-container--focus .select2-selection--multiple,
.select2-container--default.select2-container--open .select2-selection--single {
  border-color: #8ca9f5;
  box-shadow: var(--cf-shadow-focus);
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  border: 1px solid var(--cf-border);
  border-radius: 0.45rem;
  padding: 0.28rem 0.55rem;
}
