/*!
 * theme.css – Power Pages / Bootstrap 5.2 version
 * Converted from Bootstrap 3 original
 */

/* =========================
   TYPOGRAPHY
   ========================= */

h1, .h1 { font-size: 22px; font-weight: 600; margin-top: 8px; margin-bottom: 10.5px; line-height: 1.25; }
h2, .h2 { font-size: 20px; font-weight: 600; margin-top: 8px; margin-bottom: 10.5px; line-height: 1.25; }
h3, .h3 { font-size: 18px; font-weight: 600; margin-top: 8px; margin-bottom: 10.5px; line-height: 1.25; }
h4, .h4, h5, .h5, h6, .h6 { margin-top: 10.5px; margin-bottom: 10.5px; }

h1, h2, h3, h4, h5, h6 { color: unset; }

body, legend { color: #000000; }

p { font-size: 16px; }

h1.underline,
h4.underline {
  border-bottom: 1px solid #bcbcbc;
  padding-bottom: 21px;
}

/* =========================
   GLOBAL / HTML
   ========================= */

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  height: 100%;
  margin: 0;
}

html, body {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  padding-top: 0 !important;
  margin-top: 0 !important;
  background: #f4f6f7;
  scroll-padding-top: 60px;
}

:root {
  --header-h: 40px;
  --brand-logo-h: 32px;
  --footer-h: 100px;
}

/* =========================
   LINKS
   ========================= */

a { color: #302ce1; }
a:not(.btn) { text-decoration: underline; }
a:not(.btn):hover { text-decoration: none !important; }

a:hover, a:focus { color: #302ce1; text-decoration: underline; }

/* Navigation / footer links: no underline */
[role="navigation"] a,
[role="contentinfo"] a,
.toolbar a,
a.list-group-item { text-decoration: none; }

/* =========================
   BUTTONS
   ========================= */

.btn-secondary {
  color: #302ce1;
  background-color: #fff;
  border-color: #302ce1;
}
.btn-secondary:hover,
.btn-secondary:active,
.btn-secondary.active,
.btn-secondary:focus,
.btn-secondary.focus {
  color: #302ce1;
  background-color: #f2f2f2;
  border-color: #302ce1;
}

/* BS5 no longer has btn-default — keep alias */
.btn-default {
  color: #302ce1;
  background-color: #fff;
  border-color: #302ce1;
}
.btn-default:hover, .btn-default:active, .btn-default:focus {
  color: #302ce1;
  background-color: #f2f2f2;
  border-color: #302ce1;
}

.btn-primary {
  color: #fff;
  background-color: #302ce1;
  border-color: #302ce1;
}
.btn-primary:hover,
.btn-primary:active,
.btn-primary.active,
.btn-primary:focus,
.btn-primary.focus {
  color: #fff;
  background-color: #5c59e7;
  border-color: #5c59e7;
}

.btn-lg-home { padding: 20px 40px; font-size: 15px; }

.btn-info-home {
  color: #fff;
  border-color: #fff;
  background: transparent;
}
.btn-info-home:hover,
.btn-info-home:active,
.btn-info-home:focus {
  color: #000;
  border-color: #000;
  background: #fff;
}

/* =========================
   NAVBAR / HEADER
   ========================= */

.navbar,
.navbar.navbar-expand-lg,
.fixed-top.navbar,
.static-top.navbar {
  min-height: var(--header-h) !important;
  border-width: 0 !important;
  border-color: transparent;
  margin-bottom: 0;
}

/* Fixed header */
.navbar-fixed-top,
.fixed-top.navbar,
.static-top.navbar,
header[role="banner"] {
  position: fixed !important;
  top: 0; left: 0; right: 0;
  z-index: 1001;
}

/* Remove extra header padding */
.fixed-top .navbar-header,
.static-top .navbar-header { padding-top: 0 !important; }

/* Brand */
.navbar-brand {
  font-size: 0 !important;
  line-height: var(--header-h) !important;
  padding: 0 10px !important;
  font-weight: 600;
}

.navbar-brand img {
  max-height: var(--brand-logo-h) !important;
  height: auto !important;
  width: auto !important;
  vertical-align: middle;
  display: inline-block;
}

/* Logo container (legacy class kept) */
.logo-container { height: 35px; width: auto; }

/* Nav links */
.navbar-nav .nav-link,
.navbar-nav > li > a,
.menu-bar > .navbar-nav > li > a,
.menu-bar .nav-link {
  line-height: 1.2 !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
  font-size: 14px !important;
  font-family: 'Segoe UI', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-weight: normal !important;
  position: relative;
  z-index: 0;
  border-radius: 4px !important;
  transition: none !important;
  display: inline-flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  /* Lock the box model — nothing can change these */
  min-width: 0 !important;
  width: auto !important;
}

/* Fix nav items shifting on hover — reserve bold width always */
.navbar-nav .nav-item {
  display: flex !important;
  align-items: center !important;
}

/* Nav links: normal weight by default, no bold shift */
.navbar-nav .nav-link,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav > li > a,
.navbar-dark .navbar-nav > li > a:hover,
.navbar-dark .navbar-nav > li > a:focus {
  font-weight: normal !important;
}

/* Keep navbar itself the right height, prevent item reflow */
.navbar-nav {
  align-items: center !important;
  flex-wrap: nowrap !important;
}

/* Each nav item holds its width — never grows or shrinks on hover */
.navbar-nav .nav-item {
  flex: 0 0 auto !important;
}

/* Freeze box model across all states — padding/margin/border never change */
.navbar-nav .nav-link,
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
  padding: 6px 10px !important;
  margin: 0 !important;
  border: none !important;
  outline: none !important;
  transition: none !important;
}

/* Colour-only hover — nothing geometric changes */
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
  color: #008200 !important;
  background-color: #ffffff !important;
  border-radius: 4px !important;
}

/* Prevent nav items from shifting siblings on hover */
.navbar-nav .nav-item {
  flex-shrink: 0 !important;
}

/* Dividers — fixed size, never influenced by neighbours */
.fixed-top.navbar .menu-bar > .navbar-nav > .divider-vertical,
.static-top.navbar .menu-bar > .navbar-nav > .divider-vertical {
  flex: 0 0 auto !important;
  align-self: center !important;
  width: 1px !important;
  height: 22px !important;
  margin: 0 4px !important;
  padding: 0 !important;
  border: none !important;
  background: rgba(255,255,255,0.4) !important;
}

/* BS5 navbar toggler */
.navbar-dark .navbar-toggler {
  border: 1px solid #302ce1;
  margin-top: 5px;
  margin-bottom: 5px;
  padding: 6px 8px;
}
.navbar-dark .navbar-toggler:hover { background-color: #4642e4; }
.navbar-dark .navbar-toggler:focus { border: 1px solid #000; background-color: #4642e4; }

/* BS5 toggler icon */
.navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0,0,0,0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Dropdown (BS5 uses .dropdown-menu directly) */
.navbar-dark .navbar-nav .dropdown-menu.show {
  background-color: #302ce1;
}
.navbar-dark .navbar-nav .dropdown-menu.show > li > a,
.navbar-dark .navbar-nav .dropdown-menu.show .dropdown-item {
  color: #fff;
}
.navbar-dark .navbar-nav .dropdown-menu.show .dropdown-item:hover,
.navbar-dark .navbar-nav .dropdown-menu.show .dropdown-item:focus {
  background-color: #fff;
  color: #302ce1;
}

.navbar-dark .navbar-nav > .dropdown > a.show,
.navbar-dark .navbar-nav > .dropdown > a.show:hover,
.navbar-dark .navbar-nav > .dropdown > a.show:focus {
  background-color: #302ce1;
  color: #fff;
}

.navbar .dropdown-menu,
.navbar .dropdown-menu.show {
  background-color: #fff;
}
.navbar .dropdown-menu .dropdown-item,
.navbar .dropdown-menu.show .dropdown-item {
  color: #000 !important;
  transition: none !important;
}
.navbar .dropdown-menu .dropdown-item:hover,
.navbar .dropdown-menu .dropdown-item:focus,
.navbar .dropdown-menu.show .dropdown-item:hover,
.navbar .dropdown-menu.show .dropdown-item:focus,
.navbar .dropdown-menu.show .dropdown-item.active {
  background-color: #f2f2f2 !important;
  color: #000 !important;
  border-radius: 4px !important;
}
.navbar .dropdown-menu { margin-top: 8px; }

/* Dropdown toggle arrow (BS5) */
.nav-item .dropdown-toggle::after {
  border-top: 0.2em solid;
  border-right: 0.2em solid transparent;
  border-bottom: 0;
  border-left: 0.2em solid transparent;
}

/* Navbar text: WHITE (matches original BS3 look) */
.navbar-dark .navbar-nav .nav-link,
.navbar-dark .navbar-nav > li > a,
.navbar .navbar-nav .nav-link,
.navbar .navbar-nav > li > a { color: #fff !important; }

/* No ::before pseudo needed */
.navbar-nav .nav-link::before,
.navbar-dark .navbar-nav > li > a::before {
  content: none !important;
}

/* Username dropdown toggle: no border, same as other nav items */
.navbar-nav .nav-item.dropdown .nav-link.dropdown-toggle,
.navbar-nav .dropdown-toggle.nav-link {
  border: none !important;
  color: #fff !important;
  padding: 4px 10px !important;
  background: transparent !important;
}
.navbar-nav .nav-item.dropdown .nav-link.dropdown-toggle:hover,
.navbar-nav .dropdown-toggle.nav-link:hover {
  color: #008200 !important;
  background-color: #fff !important;
  border-radius: 4px !important;
}

/* Profile item: greyed out (disabled look) */
/* .navbar .dropdown-menu .dropdown-item.disabled,
.navbar .dropdown-menu .dropdown-item:disabled,
.navbar .dropdown-menu li:first-child .dropdown-item {
  color: #aaa !important;
  pointer-events: none;
  background: transparent !important;
} */

/* Active nav item — same weight as all others, zero shift */
.navbar-nav .nav-link.active,
.navbar-nav .nav-link[aria-current="page"],
.menu-bar > .navbar-nav > li.active > a,
.menu-bar .nav-link.active {
  font-weight: normal !important;
  font-size: 14px !important;
  color: #ffffff !important;
  background: transparent !important;
  border-top: none !important;
  border-left: none !important;
  border-right: none !important;
  border-bottom: none !important;
  outline: none !important;
  text-decoration: none !important;
  box-shadow: none !important;
  padding: 6px 10px 4px 10px !important;
}

/* ::after — disabled entirely */
.navbar-nav .nav-link:not(.dropdown-toggle)::after {
  content: none !important;
  display: none !important;
}

/* Dropdown items hover */
.navbar .dropdown-menu .dropdown-item:hover {
  background-color: #0078d7;
  color: #acacac !important;
  border-radius: 4px;
}

/* Static-top dark navbar */
.static-top.navbar-dark {
  background-color: #ffffff;
  border-color: transparent;
  box-shadow: 0 3px 5px rgba(57, 63, 72, 0.3);
}
.static-top.navbar-dark .navbar-brand { color: #fff; }
.static-top.navbar-dark .navbar-brand a { color: #000; text-decoration: none; }
.static-top.navbar-dark .navbar-brand { font-size: 16px !important; font-weight: bold; }

/* Fixed-top dark navbar */
.fixed-top.navbar-dark { background-color: #232222; border-color: transparent; }
.fixed-top.navbar-dark .navbar-brand { color: #fff; }
.fixed-top.navbar-dark .divider-vertical { border-right-color: #fff; border-left-color: #111; }

/* Site title (hidden if only logo is used) */
h1.siteTitle,
.navbar-brand a h1.siteTitle,
.navbar-brand a h1.siteTitle > span {
  display: none !important;
}

/* Shopping cart badge */
.menu-bar .shopping_link { position: relative; }
.menu-bar .shopping_link .cart_amount {
  border-radius: 100%;
  height: 17px; width: 17px;
  position: absolute;
  bottom: 6px; right: -6px;
  background-color: #2f5fef;
  text-align: center;
  line-height: 17px;
  font-size: 9px;
  padding-left: 1.9px;
  color: #fff;
}
.menu-bar .shopping_link .cart_amount:hover { color: #fff; }

/* homelink */
.homelink,
a.homelink:hover,
a.homelink:focus { color: #fff; text-decoration: none; }

/* Search dropdown */
#navbar .dropdown-search {
  padding-top: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  margin: 9px;
}
#navbar .dropdown-search #q { min-width: 200px; }

/* Register bar */
.register-bar { clear: both; }

@media (min-width: 992px) {
  .fix-navbar .register-bar { display: none; }
}

/* Hide dividers on medium screens */
@media (max-width: 1199px) {
  .fixed-top .navbar-collapse .nav > .divider-vertical,
  .static-top .navbar-collapse .nav > .divider-vertical { display: none; }

  #navbar .dropdown-search .input-group-text { vertical-align: top; }
  #navbar .dropdown-search #search-filter { width: 100%; text-align: left; padding-left: 25px; }
}

/* Mobile navbar */
@media (max-width: 767px) {
  .navbar-nav .nav-link,
  .navbar-nav > li > a {
    line-height: 36px !important;
    padding: 0 12px !important;
    font-size: 15px !important;
  }
  .navbar-brand img { max-height: 24px !important; }
}

/* =========================
   BODY PADDING (offset for fixed header)
   ========================= */

body {
  padding-top: var(--header-h) !important;
  scroll-padding-top: calc(var(--header-h) + 10px) !important;
}

/* =========================
   WRAPPER / PAGE STRUCTURE
   ========================= */

.wrapper-body {
  min-height: calc(100vh - var(--header-h) - var(--footer-h)) !important;
  padding-top: var(--header-h) !important;
  padding-bottom: var(--footer-h) !important;
}

.wrapper {
  width: 100%;
  margin: 0 auto;
  text-align: center;
  transition: width 0.3s ease-out;
}

.wrapper .contained {
  position: relative;
  height: 400px;
  padding-bottom: 56.25%;
}

.wrapper .contained > svg { margin-top: -100px; position: absolute; display: block; }

.contained .row { margin-top: 80px; }

.page-copy { margin-top: 0; margin-bottom: 0; }

/* =========================
   FOOTER
   ========================= */

footer {
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 900;
  margin: 0;
  color: #22221e;
}

footer .footer-top {
  width: 100%;
  min-height: 56px !important;
  background-color: #232222;
  display: flex;
  align-items: center;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
}

footer .footer-top h3,
footer .footer-top h4 {
  color: #fff;
  font-size: 16px !important;
  line-height: 1.25 !important;
  margin: 4px 0 !important;
}

footer .footer-top .list-social-links {
  margin-top: 25px;
  margin-bottom: 12.5px;
}

footer .footer-bottom {
  width: 100%;
  min-height: 44px !important;
  background-color: #d2d2ce;
  font-size: 14px;
  display: flex;
  align-items: center;
  padding-top: 4px !important;
  padding-bottom: 4px !important;
}

footer .footer-bottom p { margin: 0; color: #fff; font-size: 13px !important; }
footer .footer-bottom h4 { margin-top: 0; color: #fff; font-size: 13px !important; }
footer .footer-bottom ul { list-style-type: none; margin: 0; }
footer .footer-bottom ul li a,
footer .footer-bottom ul li a:hover,
footer .footer-bottom ul li a:focus,
footer .footer-bottom ul li a:active {
  font-size: 13px !important;
  color: #fff;
  line-height: 1.4 !important;
}

@media screen and (max-width: 991px) {
  footer .footer-top h3,
  footer .footer-top .list-social-links { text-align: center; }
}

.list-social-links { list-style-type: none; padding-left: 0; }
.list-social-links li { display: inline-block; margin: 0 10px; }
.list-social-links li a,
.list-social-links li a:hover,
.list-social-links li a:focus { color: #fff; }

/* =========================
   CONTENT CONTAINERS
   ========================= */

#content-container,
#content-container > .container,
#mainContent,
.page-content {
  width: 100% !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}

/* BS5: .row[role="main"] centers content */
.row[role="main"] {
  display: flex !important;
  justify-content: center !important;
}
.row[role="main"] > [class*="col-"] { float: none !important; }
.row[role="main"] > #mainContent { width: 100% !important; max-width: 100% !important; }

/* =========================
   BREADCRUMB
   ========================= */

.breadcrumb > li a { color: #302ce1; padding: 2px 4px; }
.breadcrumb > li a:hover { color: #302ce1; }
.breadcrumb > .active { color: #000000; font-weight: bold; }

/* =========================
   PAGINATION  (BS5: .page-link instead of > a)
   ========================= */

.pagination .page-link {
  background-color: transparent;
  border: 0;
  margin-left: 10px;
  width: 40px; height: 40px;
  text-align: center;
}
.pagination .page-link:hover,
.pagination .page-link:focus {
  background-color: transparent;
  border-color: transparent;
}
.pagination .page-item.active .page-link {
  border-color: transparent;
  border-radius: 0;
  border: solid 1px;
}
.pagination .page-item:first-child .page-link:hover,
.pagination .page-item:last-child .page-link:hover { background: none; }

/* =========================
   SECTIONS
   ========================= */

.section-margin { margin: 21px 0; }

.page_section {
  position: relative;
  background-size: cover;
  color: #000;
}
.page_section .row { padding-top: 40px; padding-bottom: 100px; }
.page_section .row.sidebar-home { padding-bottom: 0; }
.page_section h1 { font-size: 32px; }
.page_section h2 { color: #666; font-size: 40px; }
.page_section h3 { font-size: 28px !important; font-family: 'Segoe UI Light', 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 1.25 !important; }
.page_section p { padding-top: 5px; }
.page_section .btn { margin-top: 50px; }
.page_section .form-search .btn { padding: 4px 12px; margin-top: 1px; }
.page_section .section-landing-heading p,
.page_section .section-landing-sub-heading p { border-top: 0; }
.page_section.section-landing .row { padding-bottom: 60px; }
.page_section.section-landing .row > div { margin-top: 0; }

/* Landing section */
.section-landing {
  background: linear-gradient(transparent, transparent);
  background-size: cover;
}
.section-landing .row > div { margin-top: 80px; }
.section-landing .row > div .section-landing-heading {
  font-size: 2rem !important;
  color: #fff;
  line-height: 1.25 !important;
}
.section-landing .row > div .section-landing-sub-heading {
  margin-top: 0; margin-bottom: 50px;
  font-size: 1.5rem; color: #fff; font-weight: 600;
}
@media screen and (max-width: 600px) {
  .section-landing .row > div .section-landing-heading { font-size: 16vw !important; }
  .section-landing .row > div .section-landing-sub-heading { font-size: 4vw; }
}

/* Diagonal sections */
.section-diagonal-left {
  transform: skew(0deg, -1.3deg);
  overflow: hidden;
  margin-top: -60px; margin-bottom: -20px;
}
.section-diagonal-left .section-diagonal-left-content {
  transform: skew(0deg, 1.3deg);
  background-size: cover;
  margin-top: -70px;
}
.section-diagonal-left .section-diagonal-left-content::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  opacity: 0.2; z-index: -1; background-color: #fff;
}
.section-diagonal-right {
  transform: skew(0deg, 1.3deg);
  overflow: hidden;
  margin-top: 60px; margin-bottom: -20px;
}
.section-diagonal-right.home-section { margin-top: -60px; }
.section-diagonal-right .section-diagonal-right-content {
  transform: skew(0deg, -1.3deg);
  background-size: cover;
  margin-top: -70px;
}
.section-diagonal-right .section-diagonal-right-content::before {
  content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  opacity: 0.8; z-index: -1; background-color: #2f5fef;
}
.section-diagonal-left .row,
.section-diagonal-right .row { padding-top: 125px; }
.section-diagonal-left .col-lg-5,
.section-diagonal-right .col-lg-5 { float: none; margin: 0 auto; }
.section-diagonal-left p,
.section-diagonal-right p { border-top: none; }

/* Other sections */
.section-sub-landing { background-size: cover; }
.section-default { background-size: cover; }
.section-default .row { padding-bottom: 150px; }
.section-knowledge { margin-bottom: 40px; }
.section-knowledge .list-group a.list-group-item { color: #2f5fef; }
.section-knowledge .card-title { color: #000; }

.section-inline-search { background-size: cover; }
.section-inline-search .row > div { margin-top: 100px; }
.section-inline-search .row > div h1 { color: #fff; }
.section-inline-search .row > div .form-inline .row .input-group { margin-right: 21px; }
.section-inline-search .row > div .form-inline .row .input-group .input-group-text {
  background-color: #fff; border-right: none;
}
.section-inline-search .row > div .form-inline .row .input-group .form-control {
  height: 60px; border-left: none; box-shadow: none;
}
.section-inline-search .row > div .form-inline .row .input-group .form-control:focus {
  box-shadow: none; border-right: none; border-color: #ccc;
}
@media screen and (max-width: 600px) {
  .section-inline-search .row > div h1 { font-size: 16vw; }
}

/* Mobile text center */
@media (max-width: 767px) {
  .text_center-mobile { text-align: center; }
}

/* =========================
   SEARCH
   ========================= */

.section-search .header-search {
  padding-top: 40px; padding-bottom: 40px; margin-bottom: 40px;
  background-color: #eeeeee;
}
.section-search .header-search img { max-width: 350px; }
@media screen and (max-width: 600px) {
  .section-search .header-search h1 { font-size: 13vw; }
}
.section-search .title-search { font-size: 26px; font-weight: bold; }
.section-search input { border-style: none; padding-left: 10px; height: 60px; }
.section-search .media .media-left > img { max-width: 240px; }
.section-search .media .media-body { padding-left: 20px; }
.section-search .media .media-body > a { text-decoration: none; font-weight: bold; }
.section-search .media .media-body .media-heading { margin-top: 5px; margin-bottom: 20px; }

/* =========================
   CARDS
   ========================= */

.card {
  box-shadow: 0 0 0 transparent;
}
.cards-container {
  margin-top: 84px;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 991px) {
  .cards-container { flex-direction: column; }
}

/* =========================
   FORMS
   ========================= */

.table.table-forms td { padding: 15px 8px; }
.table.table-forms tbody tr:first-child td { border-top: none; }

.form-search .btn { border: 1px solid #ccc; }
.form-search .btn-secondary:hover { border-color: #ccc; }
.form-search .dropdown-menu { margin-top: 0; }

.help-block { color: #000; }
.help-block.error,
label.col-form-label.required::before,
.crmEntityFormView .cell div.info.required label::after,
.crmEntityFormView .cell div.info div.validators,
.crmEntityFormView .validator-text { color: #a94442; }

.crmEntityFormView,
.entitylist {
  background-color: #fff;
  color: #000;
  border: 1px solid #f2f2f2;
}

/* =========================
   POLL WIDGET
   ========================= */

.poll {
  background-color: #eeeeee;
  border-top: 7px solid #0b80d0;
  position: relative;
  padding-left: 15px; padding-right: 15px;
}
.poll .poll-header {
  display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid #bcbcbc; padding-bottom: 5px;
}
.poll .poll-header h4 { font-weight: bold; display: inline-block; }
.poll .poll-content { padding-top: 25px; }
.poll .poll-content p { font-size: 14px; }
.poll .poll-content form { border-bottom: 1px solid #bcbcbc; padding-bottom: 10px; }
.poll .poll-content .poll-buttons { padding-top: 20px; padding-left: 11px; }
.poll .poll-content .poll-buttons .btn { padding: 4px 14px; font-size: 14px; }
.poll .poll-content .poll-buttons .btn-secondary { color: #000; border-color: #000; }
.poll .poll-content .poll-buttons .btn-secondary:hover { color: #000; border-color: #000; }
.poll .poll-tags { padding-top: 10px; }
.poll .poll-tags h4 { border-bottom: 1px solid #bcbcbc; padding-bottom: 10px; }
.poll .poll-tags .tag {
  display: inline-block; background-color: #e1e1e1; color: #232222;
  padding: 5px 14px; margin: 5px 0; text-transform: uppercase; font-size: 13px;
}

/* =========================
   SIDEBAR NAV  (BS5: .nav replaces .nav-sidebar)
   ========================= */

.nav-sidebar { padding-left: 20px; margin-top: 20px; margin-bottom: 20px; }
.nav-sidebar .nav .nav-link {
  padding: 4px 20px;
  color: #2f5fef;
  border-right: 2px solid #eeeeee;
}
.nav-sidebar .nav .nav-link:hover,
.nav-sidebar .nav .nav-link:focus {
  color: #232222; text-decoration: none;
  background-color: transparent;
  border-right: 2px solid #555;
}
.nav-sidebar .nav .nav-item.active .nav-link {
  color: #232222; text-decoration: none;
  background-color: transparent;
  border-right: 2px solid #555;
  font-weight: bold;
}
/* nested nav */
.nav-sidebar .nav .nav .nav-link { padding-top: 1px; padding-bottom: 1px; padding-left: 30px; }
.nav-sidebar .nav .nav .nav .nav-link { padding-left: 60px; }

/* =========================
   ARTICLE
   ========================= */

.article-title-container {
  border-top: solid 1px #bcbcbc; border-bottom: solid 1px #bcbcbc;
  padding-left: 15px; padding-top: 28px; padding-bottom: 28px;
}
.article-title { margin-left: -35px; }
.article-title > span { margin-left: 3px; }
.article-title > span .article-author { font-weight: bold; color: #2f5fef; }
.article-content { margin-top: 15px; }
.article-content > p { text-align: justify; }

@media screen and (max-width: 993px) {
  .article-title { margin-left: 0; text-align: center; }
  .article-author { text-align: center; }
}

/* =========================
   CAROUSEL  (BS5: .carousel-item replaces .item)
   ========================= */

.carousel-custom .carousel-item { margin-right: auto; margin-left: auto; }
.carousel-custom .carousel-item .carousel-caption {
  display: flex; align-items: center;
  top: 5%; left: 5%; right: 5%;
}
@media screen and (min-width: 768px) {
  .carousel-custom .carousel-item .carousel-caption { left: 5%; right: 5%; }
}
.carousel-custom .carousel-indicators [data-bs-target] { border-color: #232222; }

/* =========================
   HOME CONTENT
   ========================= */

.content-home .btn { margin-top: 0; }
.content-home .card { background-color: transparent; border: 0; box-shadow: none; }
.content-home .card p { border: 0; }
.content-home .card-header { display: none; }
.content-home .list-group-item {
  padding: 20px 0; font-size: 20px;
  background-color: transparent; border: 0; border-top: 1px solid #ddd;
}
.content-home .list-group-item img { margin-right: 25px; }
.content-home a.list-group-item,
.content-home .list-group-item a.title { color: #232222; }
.content-home a.list-group-item:hover,
.content-home a.list-group-item:focus,
.content-home .list-group-item a.title:hover,
.content-home .list-group-item a.title:focus {
  color: #232222; text-decoration: underline; background-color: transparent;
}
.content-home .title,
.content-home .description { display: block; }
.content-home .title { font-size: 24px; font-family: 'Segoe UI Light', 'Helvetica Neue', Helvetica, Arial, sans-serif; }
.content-home .description { font-size: 14px; }

/* =========================
   SIDEBAR HOME
   ========================= */

.sidebar-home {
  background-color: #eeeeee; border-top: 7px solid #0b80d0;
  margin-top: 36px; position: relative;
}
.sidebar-home h3 { font-size: 18px; }
.sidebar-home .card { background-color: transparent; border: 0; box-shadow: none; }
.sidebar-home .card-header { padding-left: 0; background-color: transparent; border: 0; }
.sidebar-home .card-title { font-size: 14px; color: #2f5fef; font-family: 'Segoe UI Semibold', 'Helvetica Neue', Helvetica, Arial, sans-serif; }
.sidebar-home .list-group-item {
  padding-left: 0; font-size: 14px; background-color: transparent; border: 0;
}
.sidebar-home .list-group-item:hover,
.sidebar-home .list-group-item:focus { text-decoration: underline; background-color: transparent; }
.sidebar-home .list-group-item .date { visibility: hidden; }

/* =========================
   MISC
   ========================= */

.section-landing-search {
  min-height: 250px;
  background: url(homehero.jpg) no-repeat 0 25%;
  background-size: cover;
}
.section-landing-forums { min-height: 250px; background-size: cover; }

.layer_down {
  height: 50px;
  background: url('layer_down.png') no-repeat bottom center;
  position: absolute; bottom: 0; z-index: 900; width: 100%;
}
.layer_up {
  height: 40px;
  background: url('layer_up.png') no-repeat bottom center;
  position: relative; z-index: 20;
}

.pr-color { color: #2f5fef; }
.blue_border { padding-bottom: 10px; border-bottom: 7px solid #0b80d0; }

.user-icon { width: 16px; height: 16px; display: inline-block; margin-right: 7px; }

.tabs-header { padding-bottom: 9.5px; margin: 42px 0 21px; }

.pva-floating-style { position: fixed; bottom: 0; right: 0; margin-right: 16px; margin-bottom: 18px; z-index: 9999; }

/* tree lists */
ul.tree, ol.tree { color: #2f5fef; }
.tree ul, .tree ol { list-style-type: disc; color: #2f5fef; }

/* section colors */
.sectionPrimaryColor { background-color: #302ce1; color: #fff; }
.sectionPrimaryColor h1, .sectionPrimaryColor h2, .sectionPrimaryColor h3,
.sectionPrimaryColor h4, .sectionPrimaryColor h5, .sectionPrimaryColor h6 { color: #fff; }
.sectionPrimaryColor .crmEntityFormView h1, .sectionPrimaryColor .crmEntityFormView h2,
.sectionPrimaryColor .crmEntityFormView h3, .sectionPrimaryColor .crmEntityFormView h4,
.sectionPrimaryColor .crmEntityFormView h5, .sectionPrimaryColor .crmEntityFormView h6,
.sectionPrimaryColor .entitylist h1, .sectionPrimaryColor .entitylist h2,
.sectionPrimaryColor .entitylist h3, .sectionPrimaryColor .entitylist h4,
.sectionPrimaryColor .entitylist h5, .sectionPrimaryColor .entitylist h6 { color: #000; }
.sectionFixedStyle { color: #000; }

/* Skip to content */
.skip-to-content a {
  padding: 10px 20px; position: absolute; top: -43px; left: -9999px;
  color: #fff; border-radius: 2px; background: #742774;
  transition: top 1s ease-out; z-index: 100;
  font-family: Segoe UI; font-size: 14px;
}
.skip-to-content a:focus {
  position: absolute; left: 0; top: 0; outline: none; color: #fff;
  transition: top 0.1s ease-in;
}

/* Accessibility */
.frenchAccessibilityLink {
  float: right; width: 297px; height: 24px;
  font-family: Segoe UI; font-size: 18px; line-height: 21px;
  text-decoration-line: underline; color: #2c33d8;
}

/* Font utilities */
.adx_forms_font_calibri { font-family: Calibri; }
.adx_forms_font_new_roman { font-family: Times New Roman; }
.adx_forms_font_helvetica { font-family: 'Helvetica', sans-serif; }

/* Custom navbar flex */
.custom-container { flex-wrap: wrap !important; }
.custom-sitetitle { text-wrap: wrap; }
.custom-navbar-toggler { margin-left: auto; }

/* visible-lg-block BS3 compat */
.visible-lg-block { display: flex !important; align-items: center; }

/* High-contrast mode */
@media screen and (-ms-high-contrast: active) {
  .navbar-dark .navbar-toggler .navbar-toggler-icon { background-color: #fff; }
  .navbar-dark .navbar-nav .dropdown-menu.show .dropdown-item:hover,
  .navbar-dark .navbar-nav .dropdown-menu.show .dropdown-item:focus { border: 1px solid; }
  .facet-list-group-item { margin: 1px; border: 0; }
  .nav-tabs .nav-item.active .nav-link,
  .nav-tabs .nav-item.active .nav-link:hover,
  .nav-tabs .nav-item.active .nav-link:focus { border-bottom: 0; }
  .nav-tabs .nav-link { border: 0; }
}

/* =========================
   HOME PAGE BACKGROUND
   ========================= */

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background-image: url('/background.jpg');
  background-size: cover; 
  background-position: center; 
  background-repeat: no-repeat;
  z-index: -1; pointer-events: none;
}
body[data-sitemap-state="/"] #mainContent,
body[data-sitemap-state="/"] .page-content { background: transparent !important; }

/* =========================
   PROFILE PAGE: hide left panel
   ========================= */

.row[role="main"] > .col-lg-4 { display: none !important; }
.row[role="main"] > #mainContent.col-lg-8 { width: 100% !important; float: none !important; }

/* =========================
   LOGIN / ACCOUNT PAGE
   ========================= */

#mainContent.page-content { padding-top: 0; padding-bottom: 60px; }

#mainContent.page-content > .row {
  max-width: 980px;
  margin: 0 auto;
  background: #fff;
  border-radius: 10px !important;
  padding: 34px 38px;
  box-shadow: 0 12px 35px rgba(0,0,0,.08);
  border: 1px solid rgba(0,0,0,.06);
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  align-items: flex-start !important;
}

/* Two columns on desktop */
#mainContent.page-content > .row > .col-md-6 {
  float: none !important;
  flex: 1;
  min-width: 320px;
  padding-top: 0 !important;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

/* Heading line */
#mainContent.page-content > .row > .col-md-6 h2,
.portal-form .login-heading-section,
#mainContent h2 {
  margin-top: 0 !important;
  margin-bottom: 18px !important;
  padding-bottom: 0px !important;
  /*border-bottom: 1px solid #e3e6e8 !important;*/
  /*line-height: 1.2 !important;*/
  display: block !important;
  width: 100% !important;
  font-weight: 800;
}

/* Hide <hr> below heading (replaced by border-bottom above) */
#mainContent.page-content > .row > .col-md-6 hr { display: none !important; }

/* =========================
   ACCOUNT TABS  (BS5: .nav-tabs + .tab-content)
   ========================= */

/* Tabs bar */
#mainContent .nav-tabs,
.nav.nav-tabs.nav-account {
  border-bottom: 1px solid #e6eaed !important;
  margin-bottom: 0 !important;
  position: relative !important;
  z-index: 0;
  list-style: none !important;
}

/* ::after line */
#mainContent.page-content .nav.nav-tabs.nav-account::after {
  content: "" !important;
  position: absolute !important;
  left: 0; right: 0; bottom: 0;
  height: 1px !important;
  background: #e6eaed !important;
  z-index: 1 !important;
}

/* Tab items */
#mainContent .nav-tabs .nav-item,
.nav.nav-tabs.nav-account > li { position: relative !important; z-index: 2 !important; }

/* Tab links */
#mainContent .nav-tabs .nav-link,
.nav.nav-tabs.nav-account > li > a,
.nav.nav-tabs.nav-account > li > a.nav-link {
  border: 0 !important;
  border-radius: 0 !important;
  font-weight: 700 !important;
  color: #2b2b2b !important;
  padding: 10px 2px !important;
  margin-right: 18px !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none !important;
  position: relative !important;
  transition: color .18s ease;
}

/* Tab link: remove pseudo markers */
#mainContent .nav-tabs .nav-link::before,
.nav.nav-tabs.nav-account > li > a::before,
.nav.nav-tabs.nav-account li::marker { content: none !important; display: none !important; }

/* Animated underline */
.nav.nav-tabs.nav-account > li > a.nav-link::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important; right: 0 !important; bottom: -4px !important;
  height: 2px !important;
  background: #007A33 !important;
  border-radius: 2px !important;
  transform: scaleX(0);
  transform-origin: left;
  opacity: 0;
  transition: transform 220ms ease, opacity 220ms ease;
}

/* Active tab */
#mainContent .nav-tabs .nav-link.active,
#mainContent .nav-tabs .nav-item.active .nav-link,
.nav.nav-tabs.nav-account > li.active > a,
.nav.nav-tabs.nav-account > li > a.nav-link.active,
.nav.nav-tabs.nav-account > li > a.nav-link[aria-selected="true"] {
  background: #fff !important;
  border: 1px solid #e6eaed !important;
  border-bottom-color: #fff !important;
  margin-bottom: -1px !important;
  color: #007A33 !important;
  box-shadow: none !important;
  z-index: 6 !important;
  position: relative !important;
}

/* Active tab underline */
.nav.nav-tabs.nav-account > li > a.nav-link.active::after,
.nav.nav-tabs.nav-account > li > a.nav-link[aria-selected="true"]::after {
  transform: scaleX(1);
  opacity: 1;
  bottom: 6px !important;
}

/* Hover on inactive tab */
.nav.nav-tabs.nav-account > li > a.nav-link:not(.active):hover {
  background: #f0f2f4 !important;
  color: #007A33 !important;
}

/* Focus: no outline */
#mainContent .nav-tabs .nav-link:focus,
#mainContent .nav-tabs .nav-link:active,
.nav.nav-tabs.nav-account > li > a.nav-link:focus,
.nav.nav-tabs.nav-account > li > a.nav-link:active,
.nav.nav-tabs.nav-account > li > a.nav-link:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}

/* ---- Tab pane card ---- */
#mainContent .tab-content {
  display: flex !important;
  justify-content: center !important;
  padding-top: 8px !important;
}

#mainContent .tab-content > .tab-pane {
  width: 100% !important;
  max-width: 520px !important;
  background: #fff !important;
  border-radius: 10px !important;
  padding: 30px 34px !important;
  box-shadow: 0 12px 35px rgba(0,0,0,.08) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
}

/* BS5 col overrides inside tab pane */
#mainContent .tab-content > .tab-pane .col-md-4,
#mainContent .tab-content > .tab-pane .col-md-8 {
  width: 100% !important; float: none !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
#mainContent .tab-content > .tab-pane label {
  display: block !important; text-align: left !important;
  margin: 0 0 6px 0 !important; font-weight: 700 !important;
}
#mainContent .tab-content > .tab-pane .form-control {
  height: 44px !important; border-radius: 4px !important;
  border: 1px solid #d7dde1 !important; box-shadow: none !important;
}
#mainContent .tab-content > .tab-pane .form-control:focus {
  border-color: #007A33 !important;
  box-shadow: 0 0 0 4px rgba(0,122,51,.14) !important;
  outline: none !important;
}

/* BS5: .offset-md-4 (replaces .col-md-offset-4) */
#mainContent .tab-content > .tab-pane .offset-md-4,
#mainContent .tab-content > .tab-pane .col-md-offset-4 { margin-left: 0 !important; }
#mainContent .tab-content > .tab-pane .offset-md-4.col-md-8,
#mainContent .tab-content > .tab-pane .col-md-offset-4.col-md-8,
#mainContent .tab-content > .tab-pane .form-actions {
  margin-left: 0 !important; display: flex !important;
  justify-content: flex-end !important; align-items: center !important;
  gap: 12px !important; padding-left: 0 !important;
}

/* For account tabs only: no background fill on hover */
.nav.nav-tabs.nav-account > li > a:hover,
.nav.nav-tabs.nav-account > li > a:focus { background: transparent !important; }

/* =========================
   PORTAL FORM (generic)
   ========================= */

.portal-form .row.mb-3 {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  margin-left: 0; margin-right: 0;
}
.portal-form .row.mb-3 > .col-md-4,
.portal-form .row.mb-3 > .col-md-8 {
  width: 100% !important; float: none !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
.portal-form .row.mb-3 label {
  text-align: left !important; width: 100% !important; margin: 0 0 6px 0 !important;
}
.portal-form .form-control {
  height: 44px; border-radius: 8px !important;
  border: 1px solid #d7dde1; box-shadow: none;
}
.portal-form .form-control:focus {
  border-color: #007A33;
  box-shadow: 0 0 0 4px rgba(0,122,51,.14);
  outline: none;
}
.portal-form .btn,
.portal-form button,
.portal-form input[type="submit"] { border-radius: 6px; font-weight: 800; padding: 10px 16px; }
.portal-form .btn-primary,
.portal-form input[type="submit"] { background: #007A33; border-color: #007A33; }
.portal-form .btn-primary:hover,
.portal-form input[type="submit"]:hover { background: #005f28; border-color: #005f28; }
.portal-form .btn-secondary { border-color: #007A33; color: #007A33; background: #fff; }
.portal-form .btn-secondary:hover { background: rgba(0,122,51,.08); }

/* BS5 offset replacement inside portal-form */
.portal-form .offset-md-4,
.portal-form .col-md-offset-4 { margin-left: 0 !important; }
.portal-form .offset-md-4.col-md-8,
.portal-form .col-md-offset-4.col-md-8 {
  text-align: left !important; display: flex !important;
  justify-content: flex-start !important; align-items: center !important;
  gap: 10px; padding-left: 0 !important;
}

/* =========================
   SIGN IN FORM  (action*="SignIn")
   ========================= */

#mainContent form[action*="SignIn"] .portal-form {
  background: transparent !important; border: 0 !important;
  border-radius: 0 !important; padding: 0 !important;
  margin: 0 !important; box-shadow: none !important;
}
#mainContent form[action*="SignIn"] .portal-form * { box-shadow: none !important; }
#mainContent form[action*="SignIn"] .portal-form .login-heading-section { margin-top: 0 !important; }
#mainContent form[action*="SignIn"] { margin-top: 0 !important; }
#mainContent form[action*="SignIn"] h2.login-heading-section {
  margin-top: 0 !important; margin-bottom: 14px !important;
  padding-bottom: 12px !important; border-bottom: 1px solid #e3e6e8 !important;
}
#mainContent form[action*="SignIn"] h2.login-heading-section + hr { margin-top: 14px !important; }
#mainContent form[action*="SignIn"] .col-md-6 h2.login-heading-section { width: 100% !important; }

/* Buttons inside Sign-in */
#mainContent form[action*="SignIn"] input[type="submit"],
#mainContent form[action*="SignIn"] a.btn,
#mainContent form[action*="SignIn"] button.btn {
  display: inline-block !important; float: none !important;
  margin: 0 6px !important; vertical-align: middle !important;
}

/* BS5 offset in sign-in form */
#mainContent form[action*="SignIn"] .offset-md-4,
#mainContent form[action*="SignIn"] .col-md-offset-4 { margin-left: 0 !important; }
#mainContent form[action*="SignIn"] .offset-md-4.col-md-8,
#mainContent form[action*="SignIn"] .col-md-offset-4.col-md-8 {
  text-align: left !important; display: flex !important;
  justify-content: flex-start !important; align-items: center !important;
  gap: 10px; padding-left: 0 !important;
}

/* Hide labels (use placeholders instead) */
#mainContent form[action*="SignIn"] label { display: none !important; }

/* Local login heading override */
#local-login-heading span { display: none; }
#local-login-heading::after { content: "Log in"; font-size: 20px; font-weight: 600; color: #000; }

/* Forgot password as link */
a.btn.btn-secondary[title*="password"],
a.btn.btn-default[title*="password"] {
  background: transparent !important; border: none !important;
  box-shadow: none !important; padding: 0 !important;
  color: #007A33 !important;
}
a.btn.btn-secondary[title*="password"]:hover,
a.btn.btn-default[title*="password"]:hover {
  text-decoration: underline !important; background: transparent !important;
}

/* Placeholders */
#Email::placeholder, #PasswordValue::placeholder { color: #949494; }

/* =========================
   REDEEM INVITATION FORM
   ========================= */

/* BS5: :has() scoped to form with #InvitationCode */
#mainContent form:has(#InvitationCode) {
  max-width: 980px !important; margin: 0 auto 60px auto !important;
  background: #fff !important; border-radius: 10px !important;
  padding: 10px 38px !important;
  box-shadow: 0 12px 35px rgba(0,0,0,.08) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
}
#mainContent form:has(#InvitationCode) .portal-form {
  background: transparent !important; border: 0 !important;
  box-shadow: none !important; padding: 0 !important; margin: 0 !important;
}
#mainContent form:has(#InvitationCode) .col-md-2,
#mainContent form:has(#InvitationCode) .col-md-10 {
  width: 100% !important; float: none !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
#mainContent form:has(#InvitationCode) label {
  display: block !important; text-align: left !important;
  margin: 0 0 6px 0 !important; font-weight: 700 !important;
}
#mainContent form:has(#InvitationCode) .form-control {
  height: 44px !important; border-radius: 8px !important;
  border: 1px solid #d7dde1 !important; box-shadow: none !important;
}
#mainContent form:has(#InvitationCode) .form-control:focus {
  border-color: #007A33 !important;
  box-shadow: 0 0 0 4px rgba(0,122,51,.14) !important;
  outline: none !important;
}
/* BS5: offset-md-* replaces col-md-offset-* */
#mainContent form:has(#InvitationCode) [class*="offset-md-"],
#mainContent form:has(#InvitationCode) [class*="col-md-offset-"] { margin-left: 0 !important; }
#mainContent form:has(#InvitationCode) .form-actions,
#mainContent form:has(#InvitationCode) .offset-md-4.col-md-8,
#mainContent form:has(#InvitationCode) .offset-md-2.col-md-10 {
  float: none !important; width: 100% !important;
  display: flex !important; justify-content: flex-end !important;
  align-items: center !important; gap: 12px !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
#mainContent form:has(#InvitationCode) .btn,
#mainContent form:has(#InvitationCode) input[type="submit"] { float: none !important; }

/* Redeem form in BS5 (RedeemInvitation action) */
#mainContent form[action*="RedeemInvitation"] { width: 100% !important; }
#mainContent form[action*="RedeemInvitation"] [class*="offset-md-"] { margin-left: 0 !important; }
#mainContent form[action*="RedeemInvitation"] .col-md-10,
#mainContent form[action*="RedeemInvitation"] .col-md-8,
#mainContent form[action*="RedeemInvitation"] .col-md-6,
#mainContent form[action*="RedeemInvitation"] .col-md-4 { float: none !important; }
#mainContent form[action*="RedeemInvitation"] .form-actions,
#mainContent form[action*="RedeemInvitation"] .actions,
#mainContent form[action*="RedeemInvitation"] .btn-toolbar,
#mainContent form[action*="RedeemInvitation"] .row:last-of-type {
  width: 100% !important; display: flex !important;
  justify-content: flex-end !important; align-items: center !important; gap: 12px !important;
}
#mainContent form[action*="RedeemInvitation"] input[type="submit"],
#mainContent form[action*="RedeemInvitation"] button[type="submit"],
#mainContent form[action*="RedeemInvitation"] .btn { float: none !important; margin: 0 !important; }

/* Generic BS5 offset kill */
#mainContent form .offset-md-2,
#mainContent form .offset-md-4,
#mainContent form [class*="offset-md-"] { margin-left: 0 !important; }
#mainContent form .col-md-10,
#mainContent form .col-md-8,
#mainContent form .col-md-6 { float: none !important; }
#mainContent form .offset-md-2.col-md-10 {
  width: 100% !important; display: flex !important;
  justify-content: flex-end !important; align-items: center !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
#mainContent form button,
#mainContent form input[type="submit"] { float: none !important; }

/* =========================
   TABBABLE WRAPPER (portal card with tabs)
   ========================= */

#mainContent .tabbable,
#mainContent .tabbable.tabs {
  max-width: 980px !important; margin: 40px auto 60px auto !important;
  background: #fff !important; border-radius: 10px !important;
  padding: 34px 38px !important;
  box-shadow: 0 12px 35px rgba(0,0,0,.08) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
}
#mainContent .tabbable .tab-content { padding-top: 8px !important; }
#mainContent .tabbable .tab-content .col-md-4,
#mainContent .tabbable .tab-content .col-md-8 {
  width: 100% !important; float: none !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
#mainContent .tabbable .tab-content label {
  display: block !important; text-align: left !important;
  margin: 0 0 6px 0 !important; font-weight: 700 !important;
}
#mainContent .tabbable .tab-content .form-control {
  height: 44px !important; border-radius: 8px !important;
  border: 1px solid #d7dde1 !important; box-shadow: none !important;
}
#mainContent .tabbable .tab-content .form-control:focus {
  border-color: #007A33 !important;
  box-shadow: 0 0 0 4px rgba(0,122,51,.14) !important; outline: none !important;
}
/* BS5: offset inside tabbable */
#mainContent .tabbable .tab-content .offset-md-4.col-md-8,
#mainContent .tabbable .tab-content .col-md-offset-4.col-md-8,
#mainContent .tabbable .tab-content .form-actions {
  margin-left: 0 !important; display: flex !important;
  justify-content: flex-end !important; align-items: center !important;
  gap: 12px !important; padding-left: 0 !important;
}

/* =========================
   CONTENT PORTAL FORM (content-container)
   ========================= */

#content-container .nav.nav-tabs.nav-account {
  border-bottom: 1px solid #e6eaed !important;
  margin: 30px auto 0 auto !important; max-width: 980px !important;
}
#content-container .nav.nav-tabs.nav-account > li > a {
  border: 0 !important; border-radius: 12px 12px 0 0 !important;
  font-weight: 700 !important; color: #2b2b2b !important;
  padding: 10px 14px !important; background: transparent !important;
}
#content-container .nav.nav-tabs.nav-account > li.active > a,
#content-container .nav.nav-tabs.nav-account > li.active > a:hover,
#content-container .nav.nav-tabs.nav-account > li.active > a:focus {
  background: rgba(0,122,51,.10) !important; color: #007A33 !important;
}
#content-container .portal-form {
  max-width: 980px !important; margin: 0 auto 60px auto !important;
  background: #fff !important; border-radius: 12px !important;
  padding: 34px 38px !important;
  box-shadow: 0 12px 35px rgba(0,0,0,.08) !important;
  border: 1px solid rgba(0,0,0,.06) !important;
}
/* BS5 col inside content-container portal-form */
#content-container .portal-form .row.mb-3 { margin-left: 0 !important; margin-right: 0 !important; }
#content-container .portal-form .row.mb-3 > .col-md-2,
#content-container .portal-form .row.mb-3 > .col-md-10 {
  float: none !important; width: 100% !important;
  padding-left: 0 !important; padding-right: 0 !important;
}
#content-container .portal-form label {
  display: block !important; text-align: left !important;
  margin: 0 0 6px 0 !important; font-weight: 700 !important;
}
#content-container .portal-form .form-control {
  height: 44px !important; border-radius: 6px !important;
  border: 1px solid #d7dde1 !important; box-shadow: none !important;
}
#content-container .portal-form .form-control:focus {
  border-color: #007A33 !important;
  box-shadow: 0 0 0 2px rgba(0,122,51,.14) !important; outline: none !important;
}

/* =========================
   MOBILE
   ========================= */

@media (max-width: 768px) {
  #mainContent.page-content > .row { padding: 18px 16px; margin: 0 12px; }
}
@media screen and (max-width: 993px) {
  .section-landing h1 { font-size: 65px; }
  .section-landing h2 { letter-spacing: normal; margin-left: -3px; }
}
@media screen and (max-width: 767px) {
  .section-default::before {
    content: ' '; width: 100%; height: 100%;
    position: absolute; z-index: 0; top: 0; left: 0;
    background: linear-gradient(to bottom, transparent 0%, rgba(0,0,0,.59) 41%, rgba(0,0,0,.62) 43%, black 100%);
  }
}

.navbar-nav > li,
.navbar-nav .nav-item,
.menu-bar > .navbar-nav > li,
.fixed-top.navbar .menu-bar > .navbar-nav > .divider-vertical,
.static-top.navbar .menu-bar > .navbar-nav > .divider-vertical {
  flex: 0 0 auto !important;
}

/* =========================
   PROFILE FORM
   ========================= */

/* Hide email confirmation banner */
#mainContent .alert.alert-info {
  display: none !important;
}

/* Svi wrapperi - providni */
.crmEntityFormView,
.entitylist,
.crmEntityFormView table,
.crmEntityFormView table.section,
.crmEntityFormView table td,
.crmEntityFormView table th {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* Polja za unos */
.crmEntityFormView input[type="text"],
.crmEntityFormView input[type="email"],
.crmEntityFormView input[type="tel"],
.crmEntityFormView textarea,
.crmEntityFormView select,
.crmEntityFormView .form-control {
  background: rgba(255,255,255,0.55) !important;
  border: 1px solid rgba(0,0,0,0.15) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  backdrop-filter: blur(4px) !important;
  color: #000 !important;
}

/* Focus stanje */
.crmEntityFormView input:focus,
.crmEntityFormView .form-control:focus {
  background: rgba(255,255,255,0.85) !important;
  border-color: #007A33 !important;
  box-shadow: 0 0 0 3px rgba(0,122,51,.12) !important;
  outline: none !important;
}

/* Labele */
.crmEntityFormView label,
.crmEntityFormView .info label {
  color: #222 !important;
  font-weight: 600 !important;
}
/* Hide Update button on Profile page */
.crmEntityFormView input[type="submit"],
.crmEntityFormView button[type="submit"],
.crmEntityFormView .btn,
#mainContent .btn-primary[value="Update"],
#mainContent input[value="Update"] {
  display: none !important;
}

.navbar-nav .dropdown-toggle::after {
  border-top-width: 0.35em !important;
  border-right-width: 0.35em !important;
  border-left-width: 0.35em !important;
  vertical-align: middle !important;
  margin-left: 5px !important;
  color: #fff !important;
}

.crmEntityFormView label,
.crmEntityFormView .info label,
label#firstname_label,
label.field-label {
  background-color: transparent !important;
}



/* Profile form - okvir oko cele forme */
#ProfileFormView .tab.clearfix {
  background: rgba(255,255,255,0.35) !important;
  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,0.6) !important;
  box-shadow: 0 8px 16px rgba(0,0,0,0.10) !important;
  backdrop-filter: blur(8px) !important;
  padding: 24px !important;
}

#ProfileFormView div.tab-column {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/*skloni Your information sa profila */
#mainContent legend,
#mainContent fieldset > legend,
#ProfileFormView fieldset legend,
legend.profile-page-heading,
legend h2.profile-page-heading,
h2.profile-page-heading {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}


/* Hide only breadcrumb, keep page heading */
.page-heading .breadcrumb,
.page-heading ul.breadcrumb {
  display: none !important;
}





/* Revert table to normal */
#ProfileFormView table.section,
#ProfileFormView table.section tbody,
#ProfileFormView table.section tbody tr {
  display: revert !important;
}

/* Hide ALL field rows */
#ProfileFormView table.section tbody tr {
  display: none !important;
}

/* Show only the four we want */
#ProfileFormView table.section tbody tr:has(#firstname),
#ProfileFormView table.section tbody tr:has(#lastname),
#ProfileFormView table.section tbody tr:has(#emailaddress1),
#ProfileFormView table.section tbody tr:has(#adx_organizationname) {
  display: table-row !important;
}

/* Hide Business Phone and Title cells within visible rows */
#ProfileFormView table.section tbody tr td:has(#telephone1),
#ProfileFormView table.section tbody tr td:has(#jobtitle) {
  display: none !important;
}

/* Move Organisation Name visually next to Email (right column) */
#ProfileFormView table.section tbody tr:has(#adx_organizationname) {
  position: relative !important;
  height: 0 !important;
}

#ProfileFormView table.section tbody tr:has(#adx_organizationname) td:has(#adx_organizationname) {
  position: absolute !important;
  top: -80px !important; /* adjust this value to align with Last Name */
  left: 50% !important;
  width: 50% !important;
}

.footer-links {
  display: flex;
  justify-content: center; /* centar */
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 20px;
  font-size: 12px;
  text-align: center;
}

/* tekst + linkovi */
.footer-links span,
.footer-links a {
  color: #b5d3b5;
  font-size: inherit;
  line-height: 1.4;
}

/* linkovi */
.footer-links a {
  text-decoration: none;
  transition: color 0.2s ease;
}

/* hover efekat */
.footer-links a:hover {
  color: #ffffff;
}

/* ACC/DEV grid fix */
footer .col-xl-9.col-lg-9.col-md-9,
footer .col-lg-9.col-md-9.col-sm-9 {
  flex: 0 0 100% !important;
  max-width: 100% !important;
  width: 100% !important;
}

/* dodatno centriranje reda i containera */
footer .row {
  justify-content: center !important;
}

footer .container {
  max-width: 100% !important;
}
