@charset "utf-8";


/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root {
   --olr-navy: #082b4f;
   --olr-navy-dark: #041c36;
   --olr-navy-deep: #03182e;
   --olr-green: #1d682f;
   --olr-green-dark: #155425;
   --olr-green-bright: #86bd43;
   --olr-green-soft: #eef5ed;
   --olr-text: #17223a;
   --olr-muted: #56606d;
   --olr-border: #dfe5e1;
   --olr-bg: #f5f7f6;
   --olr-danger: #b8322a;
   --olr-orange: #9a4a2d;
   --olr-blue: #315f95;
   --olr-focus: #f3a51f;
   --olr-radius: 10px;
   --olr-shadow: 0 8px 24px rgba(3, 24, 46, 0.12);
   --olr-sans: "Montserrat", Arial, sans-serif;
   --olr-display: Georgia, "Times New Roman", serif;
   --olr-content-width: 1180px;
   --olr-hero-bg: #011027;
   --olr-hero-image-width: 1440px;
   --olr-hero-image-height: 365px;
   --olr-hero-image-x: calc(50% - 100px);
}

/* ============================================================
   LEGACY RESET / PAGE FOUNDATION
   ============================================================ */
*, *::before, *::after {
   box-sizing: border-box;
}

html {
   width: 100%;
   height: auto !important;
   min-height: 100%;
   font-size: 16px !important;
   overflow-x: hidden !important;
   overflow-y: auto !important;
   scroll-behavior: smooth;
}

body {
   width: 100%;
   height: auto !important;
   min-height: 100vh;
   margin: 0 !important;
   padding: 0 !important;
   overflow: visible !important;
   background: var(--olr-bg) !important;
   color: var(--olr-text);
   font-family: var(--olr-sans) !important;
   font-size: 16px !important;
   line-height: 1.5;
   -webkit-font-smoothing: antialiased;
}

form {
   display: block !important;
   width: 100%;
   height: auto !important;
   min-height: 0;
   margin: 0;
   padding: 0;
}

img {
   max-width: 100%;
   height: auto;
}

p {
   margin: 0 0 0.75rem !important;
   line-height: 1.55 !important;
}

h1, h2, h3, h4, h5, h6 {
   width: auto !important;
   margin-left: 0 !important;
   margin-right: 0 !important;
   color: var(--olr-text);
   font-family: var(--olr-display);
}

span {
   display: inline;
}

.row {
   margin-bottom: 0;
}

#wrapper {
   display: block !important;
   width: 100%;
   min-height: 360px;
   height: auto !important;
   margin: 0 !important;
   overflow: visible !important;
   background: var(--olr-bg);
}

#wrapper > .col-12 {
   padding-left: 0;
   padding-right: 0;
}

#content-wrapper,
#prefooter {
   height: auto !important;
   overflow: visible !important;
}


div#footer,
div#footer2,
footer.footer {
   position: static !important;
   left: auto !important;
   right: auto !important;
   bottom: auto !important;
   width: 100%;
}

/* ============================================================
   ACCESSIBILITY / FOCUS
   ============================================================ */
.skip-link {
   position: fixed;
   top: -100px;
   left: 12px;
   z-index: 10000;
   padding: 0.7rem 1rem;
   border-radius: 0 0 6px 6px;
   background: #fff;
   color: var(--olr-navy) !important;
   font: 700 0.875rem var(--olr-sans);
   box-shadow: var(--olr-shadow);
}

.skip-link:focus {
   top: 0;
}

:focus-visible {
   /*outline: 1px solid var(--olr-focus) !important;*/
   outline-offset: 3px !important;
}

a,
a:link,
a:visited,
a:active {
   color: var(--olr-navy);
}

a:hover {
   color: var(--olr-green-dark);
}

/* ============================================================
   TOP BAR + MAIN NAVIGATION
   ============================================================ */
.olr-topbar {
   min-height: 27px;
   padding: 5px clamp(16px, 4vw, 52px);
   background: var(--olr-navy-dark);
   color: #fff;
   text-align: right;
   font: 600 0.72rem/1.35 var(--olr-sans);
}

nav.navbar.olr-nav {
   min-height: 88px;
   padding: 0 clamp(20px, 4vw, 54px) 0 0;
   background: #fff !important;
   border: 0;
   border-bottom: 1px solid #dce2df;
   box-shadow: 0 3px 10px rgba(3, 24, 46, 0.08);
   z-index: 20;
}

.olr-brand {
   align-self: stretch;
   display: flex;
   align-items: center;
   justify-content: center;
   flex: 0 0 82px;
   width: 82px;
   min-height: 88px;
   padding: 8px 10px;
   margin: 0 28px 0 0;
   background: var(--olr-green-dark);
   text-decoration: none !important;
}

.olr-brand img {
   display: block;
   width: 62px;
   max-width: 62px;
   max-height: 72px;
   object-fit: contain;
}

.olr-county-brand,
.olr-county-brand:link,
.olr-county-brand:visited {
   display: flex;
   align-items: center;
   gap: 14px;
   min-width: 205px;
   margin-right: 28px;
   color: var(--olr-navy) !important;
   text-decoration: none !important;
}

.olr-county-map {
   display: block;
   flex: 0 0 50px;
   width: 50px;
   height: 63px;
   object-fit: contain;
}

.olr-county-brand strong {
   display: block;
   max-width: 132px;
   color: var(--olr-navy);
   font: 700 1.75rem/0.95 var(--olr-display);
   white-space: normal;
}

.olr-nav .navbar-collapse {
   align-self: stretch;
}

.olr-nav .navbar-nav {
   height: 100%;
   align-items: stretch;
}

.olr-nav .nav-item {
   display: flex;
   align-items: stretch;
}

.olr-nav .nav-link,
.olr-nav .nav-link:link,
.olr-nav .nav-link:visited {
   position: relative;
   display: flex;
   align-items: center;
   padding: 0 1.15rem !important;
   color: #222a38 !important;
   font: 500 0.82rem/1 var(--olr-sans);
   text-decoration: none !important;
   white-space: nowrap;
}

.olr-nav .nav-link::after {
   content: "";
   position: absolute;
   left: 1.15rem;
   right: 1.15rem;
   bottom: 20px;
   height: 2px;
   background: var(--olr-green);
   transform: scaleX(0);
   transform-origin: center;
   transition: transform 0.16s ease;
}

.olr-nav .nav-link:hover,
.olr-nav .nav-link:focus {
   color: var(--olr-green-dark) !important;
}

.olr-nav .nav-link:hover::after,
.olr-nav .nav-link:focus::after {
   transform: scaleX(1);
}

.olr-nav .navbar-toggler {
   width: 46px !important;
   min-width: 46px;
   height: 46px;
   padding: 0 !important;
   margin-left: auto;
   border: 1px solid #d6ddda !important;
   border-radius: 6px;
   background: #fff !important;
   color: var(--olr-navy) !important;
   box-shadow: none !important;
}

/* ============================================================
   HOMEPAGE HERO
   ============================================================ */
header.olr-hero {
   position: relative;
   width: 100%;
   overflow: hidden;
   box-shadow: none !important;
}

header.olr-hero:not(.subhdr) {
   height: var(--olr-hero-image-height) !important;
   min-height: var(--olr-hero-image-height) !important;
   max-height: var(--olr-hero-image-height) !important;
   background-color: var(--olr-hero-bg) !important;
   background-size: var(--olr-hero-image-width) var(--olr-hero-image-height) !important;
   background-position: var(--olr-hero-image-x) top !important;
   background-repeat: no-repeat !important;
}

header.olr-hero:not(.subhdr)::after {
   content: "";
   position: absolute;
   inset: 0;
   z-index: 1;
   pointer-events: none;
   background: linear-gradient(90deg, rgba(3, 28, 54, 0.97) 0%, rgba(3, 28, 54, 0.91) 24%, rgba(3, 28, 54, 0.70) 43%, rgba(3, 28, 54, 0.20) 65%, rgba(3, 28, 54, 0.02) 100%);
}

.olr-home-hero-copy {
   position: relative;
   z-index: 2;
   display: flex;
   height: 100%;
   max-width: 1180px;
   margin: 0 auto;
   padding: 39px 32px 42px;
   flex-direction: column;
   justify-content: center;
   color: #fff;
   background: transparent !important;
}

.olr-home-hero-copy h1 {
   width: auto !important;
   margin: 0 0 13px !important;
   color: #fff !important;
   font: 700 clamp(2.6rem, 4.4vw, 3.55rem)/0.98 var(--olr-display) !important;
   letter-spacing: -0.02em;
   text-transform: none !important;
}

.olr-home-hero-copy h1 span {
   display: block;
   margin-top: 5px;
   color: var(--olr-green-bright) !important;
}

.olr-home-hero-copy > p {
   max-width: 390px;
   margin: 0 0 22px !important;
   color: #fff;
   font: 400 1rem/1.55 var(--olr-sans);
}

.olr-hero-trust {
   display: flex;
   align-items: center;
   color: #fff;
}

.olr-hero-trust > span {
   display: flex;
   min-height: 40px;
   align-items: center;
   padding: 0 22px;
   border-right: 1px solid rgba(255, 255, 255, 0.36);
   color: #fff;
   font: 500 0.72rem/1.3 var(--olr-sans);
}

.olr-hero-trust > span:first-child {
   padding-left: 0;
}

.olr-hero-trust > span:last-child {
   border-right: 0;
}

.olr-hero-trust i {
   width: 31px;
   margin-right: 9px;
   color: #fff;
   font-size: 1.65rem;
   text-align: center;
}

.olr-subpage-hero {
   display: none;
}

/* ============================================================
   SUBPAGE HERO
   ============================================================ */
header.olr-hero.subhdr {
   display: none !important;
   height: 0 !important;
   min-height: 0 !important;
   max-height: 0 !important;
}

/* ============================================================
   MAIN CONTENT CARD
   ============================================================ */
#content.container {
   width: calc(100% - 80px) !important;
   max-width: 1180px !important;
   min-height: 0;
   margin: 30px auto 42px !important;
   padding: 28px 34px 34px !important;
   background: #fff !important;
   border: 1px solid var(--olr-border);
   border-radius: 12px;
   box-shadow: 0 5px 18px rgba(3, 24, 46, 0.10) !important;
}

header.olr-hero:not(.subhdr) + #wrapper #content.container {
   margin-top: -34px !important;
   padding-top: 18px !important;
   border-radius: 13px 13px 10px 10px;
   position: relative;
   z-index: 5;
}

header.olr-hero.subhdr + #wrapper #content.container {
   margin-top: 30px !important;
   position: relative;
   z-index: 5;
}


.olr-page-title-row {
   display: flex;
   align-items: center;
   margin: 0 0 18px;
   padding-bottom: 14px;
   border-bottom: 1px solid #e5e9e7;
}

header.olr-hero:not(.subhdr) + #wrapper .olr-page-title-row {
   display: none !important;
}

h1.pagesvc {
   margin: 0 0 3px !important;
   color: var(--olr-green-dark) !important;
   font: 700 0.72rem/1.2 var(--olr-sans) !important;
   letter-spacing: 0.16em;
   text-transform: uppercase !important;
}

h2.pagename {
   margin: 0 !important;
   color: var(--olr-navy) !important;
   font: 700 1.8rem/1.15 var(--olr-display) !important;
}

/* ============================================================
   HOMEPAGE — SERVICE PORTAL
   ============================================================ */
.olr-services {
   width: 100%;
}

.olr-section-kicker {
   margin-top: 1px;
   color: var(--olr-green-dark);
   text-align: center;
   font: 700 0.72rem/1.2 var(--olr-sans);
   letter-spacing: 0.18em;
   text-transform: uppercase;
}

.olr-services-title {
   position: relative;
   margin: 5px 0 22px !important;
   padding-bottom: 10px;
   color: var(--olr-navy) !important;
   text-align: center;
   font: 700 clamp(1.65rem, 2.4vw, 2rem)/1.15 var(--olr-display) !important;
   text-transform: none !important;
}

.olr-services-title::after {
   content: "";
   position: absolute;
   left: 50%;
   bottom: 0;
   width: 52px;
   height: 2px;
   transform: translateX(-50%);
   background: var(--olr-green);
}

.olr-service-grid {
   display: flex !important;
   margin: 0 -6px 8px !important;
   flex-wrap: wrap !important;
   justify-content: center;
}

.olr-service-grid > .appicon {
   position: relative;
   display: flex !important;
   flex: 0 0 20% !important;
   max-width: 20% !important;
   min-height: 148px;
   margin: 0 !important;
   padding: 13px 9px 12px !important;
   flex-direction: column;
   align-items: center;
   justify-content: flex-start;
   border: 6px solid #fff;
   border-radius: 10px;
   background: #fff;
   box-shadow: inset 0 0 0 1px #e1e6e3;
   text-align: center;
   transition: transform 0.16s ease, box-shadow 0.16s ease, background-color 0.16s ease;
}

.olr-service-grid > .appicon:hover,
.olr-service-grid > .appicon:focus-within {
   z-index: 2;
   background: #f8fbf8;
   box-shadow: inset 0 0 0 1px #bed0c1, 0 6px 14px rgba(3, 24, 46, 0.09);
   transform: translateY(-2px);
}

.olr-service-grid .appicon img {
   display: block;
   width: 100px !important;
   height: 100px !important;
   max-width: 100px !important;
   margin: 1px auto 8px !important;
   object-fit: contain;
}

.olr-service-grid .appicon > a,
.olr-service-grid .appicon > a:link,
.olr-service-grid .appicon > a:visited,
.olr-service-grid .appicon > span > a,
.olr-service-grid .appicon > span > a:link,
.olr-service-grid .appicon > span > a:visited {
   display: block;
   width: 100%;
   margin: 0 !important;
   padding: 0 !important;
   border: 0 !important;
   background: transparent !important;
   color: var(--olr-navy) !important;
   box-shadow: none !important;
   font: 700 0.76rem/1.25 var(--olr-sans) !important;
   text-decoration: none !important;
   white-space: normal;
}

.olr-service-grid .appicon small {
   display: block;
   margin-top: 6px;
   color: #59616d;
   font: 400 0.62rem/1.4 var(--olr-sans);
}

.olr-info-links {
   margin: 4px 0 15px;
   padding: 8px 12px;
   border: 1px solid #dfe5e1;
   border-radius: 7px;
   background: #f0f4f1;
   color: var(--olr-navy);
   text-align: center;
   font: 500 0.69rem/1.4 var(--olr-sans);
}

.olr-info-links > div {
   display: inline-block;
   margin: 1px 10px;
}

.olr-info-links a {
   color: var(--olr-navy) !important;
   text-decoration: underline;
   text-underline-offset: 2px;
}

.olr-info-links i {
   margin-right: 5px;
   color: var(--olr-green);
}


.olr-trust-row {
   display: flex;
   margin: 0;
   padding: 2px 0 15px;
}

.olr-trust-row > div {
   display: grid;
   flex: 1 1 0;
   min-width: 0;
   padding: 4px 22px;
   grid-template-columns: 52px 1fr;
   grid-template-rows: auto auto;
   align-items: center;
   border-right: 1px solid #d5dbd7;
}

.olr-trust-row > div:last-child {
   border-right: 0;
}

.olr-trust-row i {
   display: flex;
   grid-row: 1 / 3;
   width: 43px;
   height: 43px;
   align-items: center;
   justify-content: center;
   border: 1px solid #dbe4dc;
   border-radius: 50%;
   background: #f6faf6;
   color: var(--olr-green);
   font-size: 1.55rem;
}

.olr-trust-row strong {
   align-self: end;
   color: var(--olr-green-dark);
   font: 700 0.72rem/1.2 var(--olr-sans);
}

.olr-trust-row span {
   align-self: start;
   margin-top: 4px;
   color: #555e68;
   font: 400 0.59rem/1.45 var(--olr-sans);
}


.olr-feature {
   position: relative;
   display: flex;
   min-height: 146px;
   margin: 0 0 10px;
   overflow: hidden;
   border-radius: 12px;
   background: linear-gradient(105deg, #052648 0%, #072b50 58%, #123d51 100%);
   color: #fff;
}

.olr-feature-copy {
   position: relative;
   z-index: 2;
   display: flex;
   flex: 1 1 58%;
   align-items: center;
   padding: 14px 22px;
}

.olr-feature-copy > img {
   flex: 0 0 auto;
   width: 118px !important;
   height: 118px !important;
   margin-right: 22px;
   object-fit: contain;
}

.olr-feature-copy h2 {
   margin: 0 0 7px !important;
   color: #fff !important;
   font: 700 1.25rem/1.15 var(--olr-display) !important;
}

.olr-feature-copy p {
   max-width: 410px;
   margin: 0 !important;
   color: #fff;
   font: 400 0.67rem/1.55 var(--olr-sans);
}

.olr-feature-media {
   position: relative;
   flex: 0 0 42%;
   min-width: 0;
   overflow: visible;
}

.olr-feature-media::before {
   content: "";
   position: absolute;
   inset: 0 auto 0 -42px;
   width: 95px;
   z-index: 2;
   background: linear-gradient(90deg, #072b50 20%, rgba(7, 43, 80, 0));
}

.olr-feature-media img {
   position: absolute;
   right: -1%;
   bottom: -8%;
   width: 108% !important;
   height: 117% !important;
   max-width: none !important;
   object-fit: cover;
   object-position: center;
}


.olr-office-contact {
   display: grid;
   min-height: 142px;
   margin: 0;
   padding: 12px 34px;
   grid-template-columns: 145px minmax(220px, 1fr) minmax(270px, 1.18fr);
   gap: 20px;
   align-items: center;
   border: 1px solid #e0e5e2;
   border-radius: 10px;
   background: #fff;
}

.olr-office-contact-image {
   display: block;
   width: 138px !important;
   height: 130px !important;
   border-radius: 7px;
   object-fit: cover;
   object-position: center 22%;
}

.olr-office-contact-copy {
   min-width: 0;
   padding-right: 20px;
   border-right: 1px solid #cfd6d2;
}

.olr-label {
   display: block;
   margin-bottom: 5px;
   color: var(--olr-green-dark);
   font: 700 0.63rem/1.2 var(--olr-sans);
   letter-spacing: 0.14em;
   text-transform: uppercase;
}

.olr-office-contact h2 {
   margin: 0 0 7px !important;
   color: var(--olr-navy) !important;
   font: 700 1.35rem/1.15 var(--olr-display) !important;
}

.olr-office-contact p {
   margin: 3px 0 !important;
   color: #3d4650;
   font: 400 0.64rem/1.5 var(--olr-sans);
}

.olr-office-contact-details {
   min-width: 0;
}

.olr-office-contact-details p {
   position: relative;
   padding-left: 25px;
}

.olr-office-contact-details i {
   position: absolute;
   left: 0;
   top: 3px;
   width: 18px;
   color: var(--olr-green);
   text-align: center;
}

.olr-office-contact-details a {
   color: var(--olr-navy) !important;
   overflow-wrap: anywhere;
}

/* ============================================================
   BUTTONS / ACTIONS — ALL APPLICATION PAGES
   ============================================================ */
button,
.btn,
a.btn,
input[type="submit"],
input[type="button"] {
   min-height: 40px;
   padding: 0.5rem 1rem;
   border: 0;
   border-radius: 5px;
   font: 600 0.9rem var(--olr-sans);
   cursor: pointer;
   transition: filter 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.btn:hover,
a.btn:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
   filter: brightness(0.93);
   text-decoration: none;
}

.btn,
.btn-primary,
.btn-default,
.btnblue {
   background: var(--olr-blue) !important;
   color: #fff !important;
}

.btn-success,
.btngreen {
   background: var(--olr-green) !important;
   color: #fff !important;
}

.btnorange,
.btn-warning,
.btn-delete {
   background: var(--olr-orange) !important;
   color: #fff !important;
}

.btnred,
.btn-danger,
.delX {
   background: var(--olr-danger) !important;
   color: #fff !important;
}

.btn-sm {
   min-height: 34px;
   padding: 0.3rem 0.65rem;
   font-size: 0.78rem;
}

.btn-block {
   display: block;
   width: 100%;
}

.olr-page-title-row .btn,
.olr-page-title-row input[type="submit"],
.olr-page-title-row input[type="button"] {
   width: auto !important;
   min-width: 82px;
   margin: 0 0 0 6px !important;
}

input.delX,
.delX {
   width: 38px !important;
   height: 36px !important;
   min-height: 36px;
   margin: 3px !important;
   padding: 0 !important;
   text-align: center;
}

.action {
   min-height: 90px;
   margin: 0.7rem 0;
   padding: 1.5rem 1rem;
   border-radius: 7px;
   background: var(--olr-navy);
   color: #fff;
   text-align: center;
   box-shadow: 0 3px 10px rgba(3, 24, 46, 0.12);
}

.action a {
   display: block;
   color: #fff !important;
   text-decoration: none;
}

.action-primary {
   background: var(--olr-blue);
}

.action-login {
   background: var(--olr-green);
}

.action-clear {
   background: #eef1f2;
   color: var(--olr-text);
}

.action-clear a {
   color: var(--olr-text) !important;
}

/* ============================================================
   FORMS
   ============================================================ */
label,
.control-label,
.fieldlabel,
.lbl {
   color: #263142;
   font: 600 0.85rem var(--olr-sans);
}

.form-control,
.inputfld,
.sminputfld,
.custom-control,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
select,
textarea {
   max-width: 100%;
   min-height: 42px;
   border: 1px solid #aeb8b3;
   border-radius: 5px;
   background: #fff;
   color: #1f2937;
   font: 400 1rem var(--olr-sans);
}

.form-control,
.inputfld,
.sminputfld {
   padding: 0.48rem 0.65rem;
}

.form-control:focus,
.inputfld:focus,
.sminputfld:focus,
.custom-control:focus,
input:focus,
select:focus,
textarea:focus {
   border-color: #527fac;
   outline: 0;
   box-shadow: 0 0 0 3px rgba(49, 95, 149, 0.18);
}

::-webkit-input-placeholder {
   color: #7d8791;
}

::-moz-placeholder {
   color: #7d8791;
   opacity: 1;
}

:-ms-input-placeholder {
   color: #7d8791 !important;
}

::placeholder {
   color: #7d8791;
   opacity: 1;
}

/* ============================================================
   ALERTS / NOTICES
   ============================================================ */
#divMessage,
#divErrormsg,
div#ctl00_errormsg {
   margin: 0 0 1rem;
   padding: 0.75rem 1rem;
   border-radius: 6px;
}

#divMessage {
   border: 1px solid #b9d3e6;
   background: #edf6fb;
   color: #183c54;
}

#divErrormsg,
div#ctl00_errormsg {
   border: 1px solid #b72f2f;
   background: #b72f2f;
   color: #fff;
}

.notice,
.warning,
.attentionbox,
.infobox {
   margin: 0.75rem 0;
   padding: 0.75rem 1rem;
   border-radius: 6px;
}

.notice {
   background: #f1f3f2;
}

.warning,
.attentionbox {
   background: #8b4a17;
   color: #fff;
}

.infobox {
   background: #536776;
   color: #fff;
}

/* ============================================================
   APPLICATION HEADINGS / DATA SECTIONS
   ============================================================ */
#content h3,
.col-md-12 h3 {
   margin: 1.15rem 0 0.55rem !important;
   padding-bottom: 0.35rem;
   border-bottom: 2px solid #759e73;
   color: var(--olr-navy);
   font: 700 0.88rem/1.3 var(--olr-sans) !important;
   letter-spacing: 0.045em;
   text-transform: uppercase;
}

#content h3.nounderline,
.col-md-12 h3.nounderline {
   border-bottom: 0;
   letter-spacing: normal;
   text-transform: none;
}

.tblheading1 {
   display: block;
   margin-top: 0.5rem;
   color: var(--olr-navy);
   font: 700 1rem var(--olr-sans);
}

.tblheading2 {
   display: block;
   color: #344052;
   font: 700 0.88rem var(--olr-sans);
}

.datatable {
   margin-bottom: 1.1rem;
   padding: 0.9rem;
   border: 1px solid #d8dedb;
   border-radius: 7px;
   background: #fff;
}

.rowodd,
.roweven,
.rowawaitingverification,
.rownotindexed,
.rowerror,
.rowevenclr,
.rowoddclr,
.inactive {
   margin-bottom: 0 !important;
   padding: 0.55rem 0.5rem !important;
   border: 0 !important;
   border-bottom: 1px solid #d9dfdc !important;
   border-radius: 0 !important;
}

.rowodd,
.rowoddclr {
   background: #f0f3f1 !important;
}

.roweven,
.rowevenclr {
   background: #fff !important;
}

.rowawaitingverification {
   background: #fff8d7 !important;
}

.rownotindexed {
   background: #eaf3fb !important;
}

.rowerror {
   background: #f8d8d4 !important;
}

.inactive {
   background: #ecefed !important;
   color: #5f676e;
}

.rowselect,
.rowodd.selected,
.roweven.selected {
   background: #dcebdc !important;
}

.overrow {
   background: #e1edf5 !important;
}

.rowData:nth-child(odd),
.rowParent:nth-child(4n + 1),
.rowParent:nth-child(4n + 2) {
   background-color: rgba(8, 43, 79, 0.055);
}

.hdr,
.hdr td,
.hdr div {
   color: var(--olr-navy) !important;
   font-weight: 700;
}

.redtext,
.redtext2,
.help {
   color: #a42620;
}

.greenlnk {
   color: var(--olr-green-dark) !important;
}

.rlLink {
   color: var(--olr-navy) !important;
}

/* ============================================================
   PAGINATION
   ============================================================ */
.pagination {
   margin: 0;
   flex-wrap: wrap;
}

.pagination .page-item a {
   display: block;
   margin-left: -1px;
   padding: 0.4rem 0.75rem;
   border: 1px solid #cfd6d2;
   background: #fff;
   color: var(--olr-navy) !important;
   font: 500 0.8rem var(--olr-sans);
   text-decoration: none;
}

.pagination .page-item.active a {
   border-color: var(--olr-green);
   background: var(--olr-green);
   color: #fff !important;
}

.pagination .page-item.disabled a {
   background: #f1f3f2;
   color: #6e777f !important;
   pointer-events: none;
}

/* ============================================================
   MODALS / PROCESSING OVERLAY
   ============================================================ */

/* Bootstrap adds modal-open to body. Temporarily remove the
   homepage content stacking context so modals can sit above
   Bootstrap's body-level backdrop. */
body.modal-open {
   overflow: hidden !important;
}

body.modal-open #content.container {
   z-index: auto !important;
}

.modal {
   z-index: 1050 !important;
   overflow-x: hidden;
   overflow-y: auto;
}

.modal-backdrop {
   z-index: 1040 !important;
}

.modal-dialog {
   margin-top: 1rem;
   margin-bottom: 1rem;
}

.modal-content {
   display: flex;
   max-height: calc(100vh - 2rem);
   overflow: hidden;
   flex-direction: column;
   border: 0;
   border-radius: 9px;
   box-shadow: 0 15px 45px rgba(3, 24, 46, 0.25);
}

.modal-header,
.modal-footer {
   flex: 0 0 auto;
}

.modal-header {
   border-bottom: 2px solid #739b72;
}

.modal-title {
   color: var(--olr-navy);
   font: 700 1.25rem var(--olr-display);
}

/* Long instruction content scrolls inside the modal instead
   of pushing the close button off-screen. */
.modal-body {
   min-height: 0;
   overflow-x: hidden;
   overflow-y: auto;
   -webkit-overflow-scrolling: touch;
}

/* Keep Bootstrap's close button clean despite global button rules. */
.modal-header .close {
   min-width: 40px;
   min-height: 40px;
   margin: -0.5rem -0.5rem -0.5rem auto !important;
   padding: 0.5rem !important;
   border: 0 !important;
   background: transparent !important;
   color: var(--olr-navy) !important;
   box-shadow: none !important;
   font-size: 1.5rem !important;
   line-height: 1 !important;
   opacity: 0.75;
}

.modal-header .close:hover,
.modal-header .close:focus {
   opacity: 1;
   filter: none;
}

/* Give the modal a little more breathing room on phones while
   still guaranteeing it remains inside the viewport. */
@media (max-width: 575.98px) {
   .modal {
      padding: 0 !important;
   }

   .modal-dialog {
      margin: 0.5rem;
   }

   .modal-content {
      max-height: calc(100vh - 1rem);
   }
}

#overlay {
   visibility: hidden;
   position: fixed;
   inset: 0;
   z-index: 9000;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   height: 100%;
   background: rgba(255, 255, 255, 0.78);
}

#overlay img {
   display: block;
   margin: 0 auto;
}
/* ============================================================
   FOOTER
   ============================================================ */
footer.olr-footer,
footer.footer {
   margin: 0 !important;
   padding: 0 !important;
   background: var(--olr-navy-deep) !important;
   color: #dce5eb;
   font-family: var(--olr-sans);
}

.olr-footer-main {
   display: grid;
   max-width: 1180px !important;
   padding: 22px 32px 20px !important;
   grid-template-columns: 1.05fr 0.9fr 1.15fr 0.82fr;
   gap: 36px;
}

.olr-footer-col {
   min-width: 0;
}

.olr-footer-col h2 {
   margin: 0 0 9px !important;
   color: #fff !important;
   font: 700 0.82rem/1.2 var(--olr-sans) !important;
}

.olr-footer-col p,
.olr-footer-col li,
.olr-footer-col a {
   color: #dce5eb;
   font: 400 0.66rem/1.55 var(--olr-sans);
}

.olr-footer-col p {
   margin-bottom: 7px !important;
}

.olr-footer-col ul {
   margin: 0;
   padding: 0;
   list-style: none;
}

.olr-footer-col a,
.olr-footer-col a:visited {
   color: #fff !important;
   text-decoration: none;
}

.olr-footer-col a:hover {
   color: #b7d899 !important;
   text-decoration: underline;
}

.olr-help-link {
   display: inline-flex;
   min-height: 30px;
   margin-top: 2px;
   padding: 6px 13px;
   align-items: center;
   gap: 6px;
   border-radius: 4px;
   background: var(--olr-green);
   color: #fff !important;
   font-weight: 700 !important;
   text-transform: uppercase;
}

.olr-footer-contact p {
   display: flex;
   align-items: flex-start;
   gap: 9px;
}

.olr-footer-contact i {
   flex: 0 0 14px;
   margin-top: 3px;
   color: #6daf4b;
   text-align: center;
}

.olr-footer-contact span {
   overflow-wrap: anywhere;
}

.olr-footer-cards #cc {
   display: flex;
   gap: 8px;
   align-items: center;
   padding: 0 !important;
   background: none !important;
   color: #fff;
   text-align: left;
   letter-spacing: 0;
}

.olr-footer-cards #cc i {
   margin: 0 !important;
   color: #fff;
   font-size: 2rem;
}

.olr-footer-bottom {
   border-top: 1px solid rgba(255, 255, 255, 0.14);
   background: #03172c;
}

.olr-footer-bottom > .container {
   display: grid;
   max-width: 1180px !important;
   min-height: 60px;
   padding: 9px 32px !important;
   grid-template-columns: 140px 1fr;
   gap: 24px;
   align-items: center;
}

.olr-footer-bottom img {
   display: block;
   width: 110px;
   height: auto;
   max-width: none;
   max-height: none;
}
.olr-footer-logo {
   height: 36px;
   width: auto;
   max-width: none;
}

.footertext {
   color: #aebdca;
   text-align: center;
   font: 400 0.59rem/1.45 var(--olr-sans) !important;
}

.footertext p {
   margin: 2px 0 0 !important;
}

.ingLink,
.ingLink:link,
.ingLink:visited {
   color: #b9d4e8 !important;
}

/* ============================================================
   SMALL UTILITIES RETAINED FOR EXISTING PAGES
   ============================================================ */
.hide-when-empty:empty {
   display: none;
}

.print-only {
   display: none;
}

.no-screen {
   display: none !important;
}

.text-right {
   text-align: right !important;
}

.wordwrap {
   overflow-wrap: normal;
}

.responsive-width {
   font-size: calc(12px + 0.25vw);
}

.widetext {
   width: 80%;
}

.bigtext {
   font-weight: 700;
}

.smalltext {
   font-size: 0.72em;
}

.question {
   padding-top: 10px;
   font-size: 0.82rem;
   font-weight: 700;
}

.instruction {
   padding: 5px;
   font-size: 0.78rem;
   font-weight: 600;
}

#proofdocs {
   display: none;
}

#proofdocs p,
#proofdocs h3,
#proofdocs ol {
   margin: 0.5rem 1rem 1rem;
}

#showproof {
   color: var(--olr-navy);
   font-weight: 700;
   cursor: pointer;
}

#terms {
   width: min(600px, 100%);
   height: 300px;
   overflow: auto;
   margin: 15px auto;
   padding: 10px;
   border: 1px solid #c8d0cc;
   background: #f5f7f6;
}

#taglistdiv,
#tagerrdiv {
   height: auto;
   overflow-y: auto;
   padding-bottom: 5px;
}

#taglistdiv {
   max-height: 30%;
}

#tagerrdiv {
   max-height: 15%;
}

/* ============================================================
   TABLET
   ============================================================ */
@media (max-width: 991.98px) {
   nav.navbar.olr-nav {
      min-height: 74px;
      padding-right: 18px;
   }

   .olr-brand {
      flex-basis: 70px;
      width: 70px;
      min-height: 74px;
      margin-right: 18px;
   }

   .olr-brand img {
      width: 52px;
   }

   .olr-county-brand {
      min-width: 0;
      margin-right: 10px;
   }

   .olr-county-map {
      width: 40px;
      height: 52px;
      flex-basis: 40px;
   }

   .olr-county-brand strong {
      max-width: none;
      font-size: 1.4rem;
   }

   .olr-nav .navbar-collapse {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      z-index: 30;
      background: #fff;
      border-top: 1px solid #e1e6e3;
      box-shadow: 0 8px 18px rgba(3, 24, 46, 0.13);
   }

   .olr-nav .navbar-nav {
      height: auto;
      padding: 8px 18px 12px;
   }

   .olr-nav .nav-item,
   .olr-nav .nav-link {
      display: block;
   }

   .olr-nav .nav-link {
      padding: 12px 6px !important;
   }

   .olr-nav .nav-link::after {
      left: 6px;
      right: auto;
      bottom: 6px;
      width: 34px;
   }

   .olr-service-grid > .appicon {
      flex-basis: 33.3333% !important;
      max-width: 33.3333% !important;
   }

   .olr-office-contact {
      grid-template-columns: 125px 1fr;
      padding: 16px 22px;
   }

   .olr-office-contact-image {
      width: 116px !important;
      height: 122px !important;
   }

   .olr-office-contact-details {
      grid-column: 1 / 3;
      padding-top: 14px;
      border-top: 1px solid #d8dedb;
   }

   .olr-office-contact-copy {
      border-right: 0;
   }

   .olr-footer-main {
      grid-template-columns: 1fr 1fr;
      gap: 24px 40px;
   }
}

/* ============================================================
   HERO RESPONSIVE SIZING
   ============================================================ */
@media (max-width: 1440px) and (min-width: 768px) {
   header.olr-hero:not(.subhdr) {
      background-size: auto 100% !important;
      background-position: var(--olr-hero-image-x) top !important;
   }
}

/* ============================================================
   MOBILE
   ============================================================ */
@media (max-width: 767.98px) {
   .olr-topbar {
      min-height: 24px;
      padding: 4px 12px;
      font-size: 0.62rem;
   }

   nav.navbar.olr-nav {
      min-height: 66px;
   }

   .olr-brand {
      flex-basis: 62px;
      width: 62px;
      min-height: 66px;
      margin-right: 12px;
      padding: 6px 8px;
   }

   .olr-brand img {
      width: 46px;
      max-height: 55px;
   }

   .olr-county-map {
      width: 32px;
      height: 40px;
      flex-basis: 32px;
   }

   .olr-county-brand strong {
      max-width: 150px;
      font-size: 1.12rem;
      line-height: 1.05;
   }

   header.olr-hero:not(.subhdr) {
      height: 310px !important;
      min-height: 310px !important;
      max-height: 310px !important;
      background-size: auto 100% !important;
      background-position: 58% top !important;
   }

   header.olr-hero:not(.subhdr)::after {
      background: linear-gradient(90deg, rgba(3, 28, 54, 0.96) 0%, rgba(3, 28, 54, 0.83) 52%, rgba(3, 28, 54, 0.42) 100%);
   }

   .olr-home-hero-copy {
      padding: 28px 22px 38px;
   }

   .olr-home-hero-copy h1 {
      font-size: clamp(2.25rem, 10vw, 3rem) !important;
   }

   .olr-home-hero-copy > p {
      max-width: 320px;
      font-size: 0.86rem;
   }

   .olr-hero-trust > span {
      padding: 0 10px;
      font-size: 0.61rem;
   }

   .olr-hero-trust i {
      width: 24px;
      margin-right: 5px;
      font-size: 1.22rem;
   }

   #content.container {
      width: calc(100% - 20px) !important;
      margin: 18px 10px 28px !important;
      padding: 20px 14px 24px !important;
      border-radius: 9px;
   }

   header.olr-hero:not(.subhdr) + #wrapper #content.container {
      margin-top: -22px !important;
   }

   header.olr-hero.subhdr + #wrapper #content.container {
      margin-top: 18px !important;
   }

   .olr-page-title-row {
      display: block;
   }

   .olr-page-title-row > div {
      max-width: 100%;
      flex: 0 0 100%;
      text-align: left !important;
   }

   .olr-page-title-row .btn,
   .olr-page-title-row input[type="submit"],
   .olr-page-title-row input[type="button"] {
      float: none !important;
      margin: 5px 5px 0 0 !important;
   }

   h2.pagename {
      font-size: 1.45rem !important;
   }

   .olr-services-title {
      margin-bottom: 16px !important;
      font-size: 1.55rem !important;
   }

   .olr-service-grid > .appicon {
      flex-basis: 50% !important;
      max-width: 50% !important;
      min-height: 142px;
      border-width: 4px;
   }

   .olr-service-grid .appicon img {
      width: 60px !important;
      height: 60px !important;
   }

   .olr-service-grid .appicon > a,
   .olr-service-grid .appicon > span > a {
      font-size: 0.7rem !important;
   }

   .olr-service-grid .appicon small {
      font-size: 0.59rem;
   }

   .olr-info-links > div {
      display: block;
      margin: 5px 2px;
   }

   .olr-trust-row {
      display: block;
      padding-bottom: 12px;
   }

   .olr-trust-row > div {
      padding: 9px 8px;
      border-right: 0;
      border-bottom: 1px solid #dde2df;
   }

   .olr-trust-row > div:last-child {
      border-bottom: 0;
   }

   .olr-trust-row strong {
      font-size: 0.7rem;
   }

   .olr-trust-row span {
      font-size: 0.61rem;
   }

   .olr-feature {
      display: block;
   }

   .olr-feature-copy {
      min-height: 130px;
      padding: 16px;
   }

   .olr-feature-copy > img {
      width: 82px !important;
      height: 82px !important;
      margin-right: 15px;
   }

   .olr-feature-copy h2 {
      font-size: 1.05rem !important;
   }

   .olr-feature-copy p {
      font-size: 0.61rem;
   }

   .olr-feature-media {
      width: 100%;
      height: 165px;
   }

   .olr-feature-media::before {
      display: none;
   }

   .olr-feature-media img {
      right: 0;
      bottom: -6%;
      width: 100% !important;
      height: 112% !important;
   }

   .olr-office-contact {
      display: block;
      padding: 16px;
   }

   .olr-office-contact-image {
      float: left;
      width: 105px !important;
      height: 118px !important;
      margin: 0 14px 10px 0;
   }

   .olr-office-contact-copy {
      min-height: 118px;
      padding: 3px 0 0;
      border: 0;
   }

   .olr-office-contact h2 {
      font-size: 1.15rem !important;
   }

   .olr-office-contact-details {
      clear: both;
      padding-top: 12px;
      border-top: 1px solid #d8dedb;
   }

   .olr-footer-main {
      display: grid;
      padding: 20px !important;
      grid-template-columns: 1fr;
      gap: 20px;
   }

   .olr-footer-col h2 {
      font-size: 0.78rem !important;
   }

   .olr-footer-col p,
   .olr-footer-col li,
   .olr-footer-col a {
      font-size: 0.66rem;
   }

   .olr-footer-bottom > .container {
      display: block;
      padding: 12px 20px !important;
      text-align: center;
   }

   .olr-footer-bottom img {
      display: block;
      width: 110px;
      height: auto;
      max-width: none;
      max-height: none;
   }
   .olr-footer-logo {
      height: 36px;
      width: auto;
      max-width: none;
   }
}

@media (max-width: 420px) {
   .olr-county-brand strong {
      max-width: 115px;
      font-size: 1rem;
   }

   .olr-service-grid > .appicon {
      min-height: 150px;
      padding-left: 5px !important;
      padding-right: 5px !important;
   }

   .olr-hero-trust > span {
      padding-left: 7px;
      padding-right: 7px;
   }
}

/* ============================================================
   PRINT
   ============================================================ */
@media print {
   html,
   body,
   form,
   #wrapper,
   #content.container {
      width: auto !important;
      min-height: 0 !important;
      margin: 0 !important;
      padding: 0 !important;
      overflow: visible !important;
      background: #fff !important;
      box-shadow: none !important;
   }

   .olr-topbar,
   .olr-nav,
   #divHeader,
   footer,
   #overlay,
   .no-print,
   .no-print * {
      display: none !important;
   }

   .print-only {
      display: block !important;
   }

   .btn,
   button,
   input[type="button"],
   input[type="submit"] {
      display: none !important;
   }

   a {
      color: #000 !important;
      text-decoration: none !important;
   }
}

/* ============================================================
   REDUCED MOTION / FORCED COLORS
   ============================================================ */
@media (prefers-reduced-motion: reduce) {
   html {
      scroll-behavior: auto;
   }

   *, *::before, *::after {
      transition: none !important;
      animation: none !important;
   }
}

@media (forced-colors: active) {
   .olr-service-grid > .appicon,
   .olr-office-contact,
   #content.container,
   .modal-content {
      border: 1px solid CanvasText;
   }

   :focus-visible {
   /*  outline: 3px solid Highlight !important; */
   }
}
/* ============================================================
   SUPPORT PAGE
   ============================================================ */

.olr-support {
   width: 100%;
}


/* General / County Support */

.olr-support-notice {
   display: flex;
   align-items: flex-start;
   gap: 22px;
   max-width: 900px;
   margin: 0 auto 28px;
   padding: 26px 30px;
   border: 1px solid #d9e5db;
   border-left: 4px solid var(--olr-green);
   border-radius: var(--olr-radius);
   background: var(--olr-green-soft);
}

.olr-support-notice-icon {
   display: flex;
   flex: 0 0 56px;
   width: 56px;
   height: 56px;
   align-items: center;
   justify-content: center;
   margin-top: 2px;
   border-radius: 50%;
   background: #fff;
   color: var(--olr-green-dark);
   font-size: 1.4rem;
   box-shadow: 0 2px 8px rgba(3, 24, 46, 0.07);
}

.olr-support-notice-content {
   min-width: 0;
}

.olr-support-notice-content h2 {
   margin: 3px 0 10px !important;
   padding: 0 !important;
   color: var(--olr-navy) !important;
   font: 700 1.35rem/1.25 var(--olr-display) !important;
}

.olr-support-notice-content p {
   margin: 0 !important;
   color: var(--olr-text);
   font-size: 0.8rem;
   line-height: 1.65 !important;
}

.olr-support-notice-content a {
   color: var(--olr-green-dark);
   font-weight: 700;
   text-decoration: underline;
   text-underline-offset: 2px;
}

.olr-support-tech-hint {
   margin-top: 12px !important;
   padding-top: 12px;
   border-top: 1px solid rgba(24, 93, 62, 0.14);
   color: var(--olr-muted) !important;
}


/* Ingenuity Technical Support Toggle */

.olr-tech-support {
   max-width: 1000px;
   margin: 0 auto;
}

.olr-tech-support-toggle {
   display: flex;
   width: 100%;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
   padding: 17px 20px;
   border: 1px solid var(--olr-border);
   border-radius: var(--olr-radius);
   background: #fff;
   color: var(--olr-navy);
   text-align: left;
   cursor: pointer;
   box-shadow: 0 2px 8px rgba(3, 24, 46, 0.05);
   transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease;
}

.olr-tech-support-toggle:hover,
.olr-tech-support-toggle:focus {
   border-color: #c6d7c9;
   background: #fbfcfb;
   box-shadow: 0 4px 12px rgba(3, 24, 46, 0.08);
   outline: none;
}

.olr-tech-support-toggle-title {
   display: flex;
   align-items: center;
   gap: 14px;
}

.olr-tech-support-toggle-title strong {
   display: block;
   margin-bottom: 3px;
   color: var(--olr-navy);
   font: 700 0.88rem/1.3 var(--olr-sans);
}

.olr-tech-support-toggle-title small {
   display: block;
   color: var(--olr-muted);
   font: 500 0.68rem/1.4 var(--olr-sans);
}

.olr-tech-support-toggle-icon {
   display: flex;
   flex: 0 0 42px;
   width: 42px;
   height: 42px;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   background: var(--olr-green-soft);
   color: var(--olr-green-dark);
   font-size: 1rem;
}

.olr-tech-support-action {
   display: flex;
   flex-shrink: 0;
   align-items: center;
   gap: 9px;
   color: var(--olr-green-dark);
   font: 700 0.67rem/1.3 var(--olr-sans);
   letter-spacing: 0.01em;
}

.olr-tech-support-action .fa-chevron-down {
   transition: transform 0.2s ease;
}

.olr-tech-support-toggle[aria-expanded="true"]
.olr-tech-support-action .fa-chevron-down {
   transform: rotate(180deg);
}


/* Expanded Support Area */

.olr-tech-support-body {
   margin-top: 12px;
   padding: 30px 28px 28px;
   border: 1px solid var(--olr-border);
   border-radius: var(--olr-radius);
   background: #fafbfa;
}

.olr-support-intro {
   max-width: 680px;
   margin: 0 auto 25px;
   text-align: center;
}

.olr-support-intro h2 {
   position: relative;
   margin: 5px 0 12px !important;
   padding-bottom: 12px;
   color: var(--olr-navy) !important;
   font: 700 clamp(1.5rem, 2.5vw, 1.9rem)/1.15 var(--olr-display) !important;
}

.olr-support-intro h2::after {
   content: "";
   position: absolute;
   left: 50%;
   bottom: 0;
   width: 52px;
   height: 2px;
   background: var(--olr-green);
   transform: translateX(-50%);
}

.olr-support-intro p {
   margin: 0 auto !important;
   color: var(--olr-muted);
   font-size: 0.78rem;
   line-height: 1.6 !important;
}


/* Support Cards */

.olr-support-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 16px;
}

.olr-support-card {
   position: relative;
   display: grid;
   grid-template-columns: 64px 1fr;
   gap: 17px;
   min-height: 175px;
   padding: 22px 23px;
   overflow: hidden;
   border: 1px solid var(--olr-border);
   border-radius: var(--olr-radius);
   background: #fff;
   box-shadow: 0 3px 10px rgba(3, 24, 46, 0.05);
   transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.olr-support-card::before {
   content: "";
   position: absolute;
   top: 0;
   left: 0;
   width: 3px;
   height: 100%;
   background: var(--olr-green);
}

.olr-support-card:hover {
   border-color: #cad8cc;
   box-shadow: 0 6px 16px rgba(3, 24, 46, 0.09);
   transform: translateY(-2px);
}

.olr-support-icon {
   display: flex;
   width: 58px;
   height: 58px;
   align-items: center;
   justify-content: center;
   margin-top: 2px;
   border: 1px solid #dbe6dc;
   border-radius: 50%;
   background: var(--olr-green-soft);
   color: var(--olr-green-dark);
   font-size: 1.45rem;
}

.olr-support-content {
   min-width: 0;
}

.olr-support-content h3 {
   margin: 0 0 15px !important;
   color: var(--olr-navy) !important;
   font: 700 1rem/1.3 var(--olr-sans) !important;
}

.olr-support-contact,
.olr-support-contact:link,
.olr-support-contact:visited {
   display: flex;
   align-items: center;
   gap: 10px;
   margin: 0 0 10px;
   color: var(--olr-navy) !important;
   font: 600 0.76rem/1.35 var(--olr-sans);
   text-decoration: none !important;
}

.olr-support-contact:last-child {
   margin-bottom: 0;
}

.olr-support-contact > i {
   display: flex;
   flex: 0 0 29px;
   width: 29px;
   height: 29px;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   background: #f0f4f1;
   color: var(--olr-green-dark);
   font-size: 0.74rem;
}

.olr-support-contact span {
   display: block;
   min-width: 0;
}

.olr-support-contact small {
   display: block;
   margin-bottom: 1px;
   color: var(--olr-muted);
   font: 500 0.57rem/1.2 var(--olr-sans);
   letter-spacing: 0.04em;
   text-transform: uppercase;
}

.olr-support-contact:hover {
   color: var(--olr-green-dark) !important;
   text-decoration: underline !important;
   text-underline-offset: 2px;
}


/* Page Actions */

.olr-support-actions {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 14px;
   max-width: 1000px;
   margin: 26px auto 0;
   padding-top: 20px;
   border-top: 1px solid var(--olr-border);
}

.olr-support-actions a {
   display: inline-flex;
   align-items: center;
   gap: 8px;
   padding: 9px 14px;
   border-radius: 6px;
   font: 600 0.7rem/1 var(--olr-sans);
   text-decoration: none !important;
}

.olr-support-home {
   background: var(--olr-navy);
   color: #fff !important;
}

.olr-support-home:hover {
   background: var(--olr-blue);
   color: #fff !important;
}

.olr-support-print {
   border: 1px solid var(--olr-border);
   background: #fff;
   color: var(--olr-navy) !important;
}

.olr-support-print:hover {
   background: var(--olr-green-soft);
   color: var(--olr-green-dark) !important;
}


/* Responsive */

@media (max-width: 767.98px) {

   .olr-support-grid {
      grid-template-columns: 1fr;
   }

   .olr-tech-support-toggle {
      align-items: flex-start;
      flex-direction: column;
   }

   .olr-tech-support-action {
      padding-left: 56px;
   }

   .olr-support-card {
      min-height: 0;
   }
}

@media (max-width: 575.98px) {

   .olr-support-notice {
      gap: 14px;
      padding: 20px 18px;
   }

   .olr-support-notice-icon {
      flex-basis: 44px;
      width: 44px;
      height: 44px;
      font-size: 1.1rem;
   }

   .olr-tech-support-body {
      padding: 24px 16px 18px;
   }

   .olr-support-card {
      grid-template-columns: 48px 1fr;
      gap: 14px;
      padding: 20px 18px;
   }

   .olr-support-icon {
      width: 46px;
      height: 46px;
      font-size: 1.15rem;
   }

   .olr-tech-support-action {
      padding-left: 0;
   }

   .olr-support-actions {
      flex-direction: column;
   }

   .olr-support-actions a {
      justify-content: center;
      width: 100%;
   }
}


/* Print */

@media print {

   .olr-tech-support .collapse {
      display: block !important;
   }

   .olr-tech-support-toggle {
      display: none;
   }

   .olr-support-actions {
      display: none;
   }

   .olr-support-card {
      box-shadow: none;
      break-inside: avoid;
   }
}

/* ============================================================
   ONLINE SERVICES PAGE
   ============================================================ */

.olr-online-services {
   width: 100%;
}

.olr-services-intro {
   max-width: 760px;
   margin: 0 auto 32px;
   text-align: center;
}

.olr-services-intro h2,
.olr-additional-heading h2 {
   position: relative;
   margin: 5px 0 13px !important;
   padding-bottom: 13px;
   color: var(--olr-navy) !important;
   font: 700 clamp(1.65rem, 2.5vw, 2.05rem)/1.15 var(--olr-display) !important;
}

.olr-services-intro h2::after,
.olr-additional-heading h2::after {
   content: "";
   position: absolute;
   left: 50%;
   bottom: 0;
   width: 52px;
   height: 2px;
   background: var(--olr-green);
   transform: translateX(-50%);
}

.olr-services-intro p,
.olr-additional-heading p {
   margin: 0 !important;
   color: var(--olr-muted);
   font-size: 0.8rem;
   line-height: 1.65 !important;
}


/* Primary Products */

.olr-services-primary {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 18px;
   max-width: 1020px;
   margin: 0 auto;
}

.olr-product-card {
   position: relative;
   display: grid;
   grid-template-columns: 72px 1fr;
   gap: 20px;
   min-height: 215px;
   padding: 27px 28px;
   overflow: hidden;
   border: 1px solid var(--olr-border);
   border-radius: var(--olr-radius);
   background: #fff;
   box-shadow: 0 3px 12px rgba(3, 24, 46, 0.06);
   transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.olr-product-card:hover {
   border-color: #c6d7c9;
   box-shadow: 0 8px 20px rgba(3, 24, 46, 0.10);
   transform: translateY(-3px);
}

.olr-product-accent {
   position: absolute;
   top: 0;
   left: 0;
   width: 4px;
   height: 100%;
   background: var(--olr-green);
}

.olr-product-icon {
   display: flex;
   width: 66px;
   height: 66px;
   align-items: center;
   justify-content: center;
   border: 1px solid #d8e5da;
   border-radius: 50%;
   background: var(--olr-green-soft);
   color: var(--olr-green-dark);
   font-size: 1.55rem;
}

.olr-product-content {
   min-width: 0;
}

.olr-product-content h3 {
   margin: 2px 0 10px !important;
   color: var(--olr-navy) !important;
   font: 700 1.06rem/1.3 var(--olr-sans) !important;
}

.olr-product-content p {
   margin: 0 !important;
   color: var(--olr-text);
   font-size: 0.75rem;
   line-height: 1.68 !important;
}


/* Additional Services */

.olr-additional-services {
   max-width: 1020px;
   margin: 46px auto 0;
   padding-top: 35px;
   border-top: 1px solid var(--olr-border);
}

.olr-additional-heading {
   max-width: 700px;
   margin: 0 auto 25px;
   text-align: center;
}

.olr-additional-heading h2 {
   font-size: clamp(1.4rem, 2vw, 1.7rem) !important;
}

.olr-additional-grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
}

.olr-mini-service {
   display: grid;
   grid-template-columns: 50px 1fr;
   gap: 15px;
   align-items: flex-start;
   padding: 19px 20px;
   border: 1px solid var(--olr-border);
   border-radius: var(--olr-radius);
   background: #fafbfa;
   transition: background 0.15s ease, border-color 0.15s ease;
}

.olr-mini-service:hover {
   border-color: #cbd8cd;
   background: #fff;
}

.olr-mini-icon {
   display: flex;
   width: 46px;
   height: 46px;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   background: var(--olr-green-soft);
   color: var(--olr-green-dark);
   font-size: 1rem;
}

.olr-mini-service h3 {
   margin: 1px 0 6px !important;
   color: var(--olr-navy) !important;
   font: 700 0.88rem/1.3 var(--olr-sans) !important;
}

.olr-mini-service p {
   margin: 0 !important;
   color: var(--olr-muted);
   font-size: 0.68rem;
   line-height: 1.58 !important;
}


/* Availability Note */

.olr-services-note {
   display: flex;
   align-items: flex-start;
   gap: 12px;
   max-width: 800px;
   margin: 30px auto 0;
   padding: 15px 18px;
   border: 1px solid #d8e5da;
   border-radius: 8px;
   background: var(--olr-green-soft);
}

.olr-services-note > i {
   flex-shrink: 0;
   margin-top: 2px;
   color: var(--olr-green-dark);
   font-size: 0.9rem;
}

.olr-services-note p {
   margin: 0 !important;
   color: var(--olr-text);
   font-size: 0.68rem;
   line-height: 1.55 !important;
}

.olr-services-note strong {
   color: var(--olr-navy);
}


/* Responsive */

@media (max-width: 767.98px) {

   .olr-services-primary,
   .olr-additional-grid {
      grid-template-columns: 1fr;
   }

   .olr-product-card {
      min-height: 0;
   }
}

@media (max-width: 480px) {

   .olr-product-card {
      grid-template-columns: 52px 1fr;
      gap: 14px;
      padding: 22px 19px;
   }

   .olr-product-icon {
      width: 50px;
      height: 50px;
      font-size: 1.2rem;
   }

   .olr-mini-service {
      grid-template-columns: 42px 1fr;
      padding: 17px 16px;
   }

   .olr-mini-icon {
      width: 40px;
      height: 40px;
      font-size: 0.9rem;
   }
}
/* ============================================================
   DEMO CTA
   ============================================================ */

.olr-demo-cta {
   display: grid;
   grid-template-columns: 58px 1fr auto;
   gap: 20px;
   align-items: center;
   max-width: 1020px;
   margin: 32px auto 0;
   padding: 24px 26px;
   border-radius: var(--olr-radius);
   background: var(--olr-navy);
   box-shadow: 0 5px 16px rgba(3, 24, 46, 0.12);
}

.olr-demo-icon {
   display: flex;
   width: 54px;
   height: 54px;
   align-items: center;
   justify-content: center;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.1);
   color: #fff;
   font-size: 1.25rem;
}

.olr-demo-content .olr-section-kicker {
   color: #a9d9b8;
}

.olr-demo-content h2 {
   margin: 3px 0 6px !important;
   padding: 0 !important;
   color: #fff !important;
   font: 700 1.15rem/1.3 var(--olr-display) !important;
}

.olr-demo-content p {
   max-width: 620px;
   margin: 0 !important;
   color: rgba(255, 255, 255, 0.76);
   font-size: 0.72rem;
   line-height: 1.6 !important;
}

.olr-demo-button {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   gap: 9px;
   padding: 11px 16px;
   border-radius: 6px;
   background: var(--olr-green);
   color: #fff !important;
   font: 700 0.7rem/1 var(--olr-sans);
   text-decoration: none !important;
   white-space: nowrap;
   transition: background 0.15s ease, transform 0.15s ease;
}

.olr-demo-button:hover {
   background: var(--olr-green-dark);
   color: #fff !important;
   transform: translateY(-1px);
}

.olr-demo-button .fa-arrow-right {
   font-size: 0.65rem;
}


@media (max-width: 767.98px) {

   .olr-demo-cta {
      grid-template-columns: 48px 1fr;
   }

   .olr-demo-action {
      grid-column: 1 / -1;
      padding-left: 68px;
   }
}

@media (max-width: 575.98px) {

   .olr-demo-cta {
      grid-template-columns: 1fr;
      text-align: center;
   }

   .olr-demo-icon {
      margin: 0 auto;
   }

   .olr-demo-action {
      grid-column: auto;
      padding-left: 0;
   }

   .olr-demo-button {
      width: 100%;
   }
}
.olr-demo-action {
   display: flex;
   align-items: center;
   gap: 12px;
}

.olr-demo-secondary {
   display: inline-flex;
   align-items: center;
   gap: 7px;
   color: rgba(255,255,255,.88) !important;
   font: 600 0.7rem/1.2 var(--olr-sans);
   text-decoration: none !important;
   white-space: nowrap;
}

.olr-demo-secondary:hover {
   color: #fff !important;
   text-decoration: underline !important;
   text-underline-offset: 3px;
}

.olr-demo-secondary i {
   font-size: 0.58rem;
}