/* ==========================================================================
   Upper Valley Advance - support portal skin (osTicket client side)
   Part 1: site chrome copied from uvadvance.com (header, menu, banner, footer)
   Part 2: osTicket content restyled to match
   Loaded after osTicket's own CSS from include/client/header.inc.php
   ========================================================================== */

/* ---------- Base ---------- */
html body {
    background: #f9fbfd;
    color: #5a5f61;
    font-family: Poppins, sans-serif;
    font-weight: 300;
    font-size: 16px;
    margin: 0;
    padding: 0;
}
.uva-site, .uva-site * { box-sizing: border-box; }
.uva-site { font-family: Poppins, sans-serif; font-weight: 300; font-size: 16px; line-height: 1.5; color: #5a5f61; text-align: left; }
.uva-site ul, .uva-site ol { list-style: none; margin: 0; padding: 0; }
.uva-site p { margin: 0; }
.uva-site a { text-decoration: none; background: none; }
.uva-site a:hover { text-decoration: none; }
.uva-site h1, .uva-site h3 { font-family: Poppins, sans-serif; }
.uva-site button { font-family: inherit; }
.uva-ico { display: inline-block; vertical-align: middle; flex-shrink: 0; }
.uva-wrap { width: 100%; max-width: 1170px; margin: 0 auto; padding: 0 15px; }

/* ---------- Top bar ---------- */
.uva-topbar { background: #353535; padding: 3px 0; border-bottom: 1.25px solid #e6e3da; line-height: 26px; }
.uva-topbar__in { display: flex; justify-content: space-between; align-items: center; }
.uva-site .uva-topbar__welcome { color: #5a5f61; font-size: 12px; font-weight: 500; text-transform: uppercase; line-height: 27px; }
.uva-topbar__nav { display: flex; align-items: center; margin-left: auto; }
.uva-topbar__nav ul { display: flex; }
.uva-topbar__nav li { padding-left: 20px; }
.uva-site .uva-topbar__nav a { color: #00c2ff; font-size: 12px; font-weight: 500; text-transform: uppercase; }
.uva-site .uva-topbar__nav a:hover { color: #fff; }
.uva-search { position: relative; padding-left: 20px; }
.uva-search__toggle { background: none; border: 0; padding: 0; margin: 0; color: #00c2ff; font-size: 12px; line-height: 26px; cursor: pointer; display: flex; align-items: center; height: 26px; }
.uva-search__toggle .uva-ico { stroke-width: 3; }
.uva-search__toggle:hover { color: #fff; }
.uva-search__form { display: none; position: absolute; right: 0; top: 34px; z-index: 1001; background: #fff; padding: 10px; border-radius: 4px; box-shadow: 0 10px 30px rgba(0,0,0,.18); width: 300px; }
.uva-search.is-open .uva-search__form { display: flex; }
.uva-site .uva-search__form input { flex: 1; height: 40px; border: 1px solid #e6e3da; border-right: 0; border-radius: 4px 0 0 4px; padding: 0 12px; font: 400 14px Poppins, sans-serif; color: #2e3233; margin: 0; box-shadow: none; }
.uva-site .uva-search__form button { width: 44px; height: 40px; border: 0; border-radius: 0 4px 4px 0; background: #0094ff; color: #fff; font-size: 16px; cursor: pointer; padding: 0; display: flex; align-items: center; justify-content: center; }

/* ---------- Header ---------- */
.uva-header { background: #fff; padding: 30px 0; }
.uva-header__in { display: flex; align-items: center; height: 50px; position: relative; }
.uva-wrap.uva-header__in { max-width: 1170px; padding: 0; }
.uva-menu > li + li { margin-left: -1px; }
.uva-header__brand { flex: 0 0 33.3333%; padding-left: 30px; padding-right: 30px; display: block; position: relative; z-index: 2; align-self: flex-start; }
.uva-header__brand img { display: block; width: 330px; max-width: 100%; height: auto; margin: -29px 0 -35px; }
.uva-header__info { flex: 0 0 66.6667%; display: flex; align-items: flex-start; align-self: flex-start; }
.uva-header__block { flex: 0 0 33.3333%; display: flex; align-items: flex-start; padding-left: 30px; line-height: 1.5; }
.uva-header__icon { font-size: 32px; padding-right: 20px; color: #5a5f61; line-height: 1; display: flex; }
.uva-header__icon .uva-ico { stroke-width: 1.4; }
.uva-header__store { color: #5a5f61; font-size: 16px; font-weight: 300; text-transform: uppercase; }
.uva-header__strong { display: block; color: #2e3233; font-weight: 600; text-transform: none; }
.uva-header__help { display: inline; color: #5a5f61; font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: 1px; }
.uva-site .uva-header__number { display: block; color: #00c2ff; font-size: 16px; font-weight: 600; }
.uva-site .uva-btn { display: inline-block; background: #0094ff; color: #fff; font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; padding: 15px 13px; line-height: 14px; border-radius: 4px; border: 0; white-space: nowrap; transition: background .2s; }
.uva-site .uva-btn:hover { background: #007fdb; color: #fff; }
.uva-menu-toggle { display: none; }

/* ---------- Main menu ---------- */
.uva-sticky { min-height: 54px; }
.uva-nav { background: #0094ff; height: 54px; position: relative; z-index: 1000; }
.uva-nav.is-fixed { position: fixed; top: 0; left: 0; right: 0; }
.uva-menu { display: flex; }
.uva-menu > li { position: relative; }
.uva-site .uva-menu > li > a { display: flex; align-items: center; position: relative; height: 54px; padding: 20px 30px; color: #e0e0e0; font-size: 14px; font-weight: 600; line-height: 14px; text-transform: uppercase; border-left: 1.25px solid #375b63; border-right: 1.25px solid #375b63; transition: color .2s; }
.uva-site .uva-menu > li:hover > a, .uva-site .uva-menu > li > a:focus { color: #fff; background: #0094ff; }
.uva-site .uva-menu > li.has-sub > a { padding-right: 40px; }
.uva-caret { position: absolute; right: 21px; top: 20px; font-size: 14px; width: 14px; height: 14px; stroke-width: 2; }
.uva-sub-toggle { display: none; }
.uva-sub { position: absolute; left: -9999px; top: 100%; }
.uva-menu > li:hover > .uva-sub, .uva-menu > li:focus-within > .uva-sub { left: 0; }
.uva-sub li { height: 0; overflow: hidden; transition: height .25s; }
.uva-menu > li:hover > .uva-sub li, .uva-menu > li:focus-within > .uva-sub li { height: 50px; }
.uva-site .uva-sub a { display: block; width: 230px; padding: 18px 16px; font-size: 14px; font-weight: 400; line-height: 14px; color: #fff; background: #0094ff; border-top: 1px solid #446a73; }
.uva-site .uva-sub a:hover { color: #fff; background: #007fdb; }

/* ---------- Page banner ---------- */
.uva-page-header { background: linear-gradient(rgba(0,0,0,.6), rgba(0,0,0,.6)), url("https://uvadvance.com/wp-content/uploads/2025/05/circuitboard-stock-noc-1-scaled.png") center / cover no-repeat; color: #fff; }
.uva-page-header__in { padding: 108px 15px; text-align: center; }
.uva-site .uva-page-title { color: #fff; font-size: 86px; font-weight: 900; letter-spacing: -1px; line-height: 150px; margin: 0; padding: 0; border: 0; }
.uva-site .uva-breadcrumb { background: rgba(25,29,30,.7); padding: 5px; text-align: center; font-size: 12px; font-weight: 600; text-transform: uppercase; line-height: 26px; color: #fff; }
.uva-breadcrumb li { display: inline; }
.uva-breadcrumb li + li::before { content: "-"; color: #ccc; padding: 0 5px; }
.uva-site .uva-breadcrumb a { color: #00c2ff; }
.uva-site .uva-breadcrumb a:hover { color: #fff; }

/* ---------- Announcement strip + call to action ---------- */
.uva-strip { background: linear-gradient(90deg, #16284d, #1e3a6b); border-top: 3px solid #0094ff; font-family: Poppins, sans-serif; }
.uva-strip__in { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; padding: 16px 0; }
.uva-strip__tag { display: inline-flex; align-items: center; gap: 5px; font-weight: 700; font-size: 11.5px; letter-spacing: .08em; text-transform: uppercase; color: #7fd1ff; }
.uva-site .uva-strip__title { flex: 1 1 0%; min-width: 220px; font-weight: 600; font-size: 15px; color: #fff; }
.uva-site .uva-strip__title:hover { text-decoration: underline; color: #fff; }
.uva-strip__date { color: #a9bbd6; font-size: 13px; }
.uva-site .uva-strip__all { display: inline-flex; align-items: center; gap: 5px; font-weight: 600; font-size: 13.5px; background: rgba(255,255,255,.1); padding: 8px 14px; border-radius: 999px; color: #fff; transition: background .2s; }
.uva-site .uva-strip__all:hover { background: #0094ff; color: #fff; }
.uva-strip__all .uva-ico { stroke-width: 3; font-size: 12px; }
.uva-cta { background: #446a73; padding: 40px 0; }
.uva-wrap.uva-cta__in { display: flex; align-items: flex-start; max-width: 1170px; padding: 0; }
.uva-cta__text { flex: 0 0 66.6667%; padding: 0 15px; }
.uva-site .uva-cta__title { color: #fff; font-size: 26px; font-weight: 500; line-height: 46px; margin: 0; }
.uva-site .uva-cta__text p { color: #fff; font-size: 16px; font-weight: 300; line-height: 27px; margin: 0; }
.uva-cta__btn { flex: 0 0 25%; padding: 20px 15px 0; }

/* ---------- Footer ---------- */
.uva-footer { background: #131321; padding: 100px 0; color: #727272; font-size: 14px; line-height: 26px; }
.uva-footer__grid { display: flex; flex-wrap: wrap; }
.uva-wrap.uva-footer__grid { max-width: 1170px; padding: 0; }
.uva-footer__grid > .uva-ft { flex: 0 0 33.3333%; padding: 0 15px; }
.uva-ft { font-family: Poppins, sans-serif; color: #aeb8cc; font-size: 13.5px; line-height: 1.7; }
.uva-site .uva-ft a { color: #0094ff; transition: color .15s; }
.uva-site .uva-ft a:hover { color: #1e73be; }
.uva-site .uva-ft__title { font-weight: 600; letter-spacing: .12em; text-transform: uppercase; padding: 0 0 14px; position: relative; font-size: 13px; color: #fff; margin: 0 0 22px; line-height: 28px; }
.uva-ft__title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 32px; height: 2px; background: #0094ff; border-radius: 2px; }
.uva-site .uva-ft p { margin: 0 0 16px; color: #aeb8cc; font-size: 16px; line-height: 27px; }
.uva-site .uva-ft__brand { font-size: 19px; font-weight: 600; color: #aeb8cc; margin: 0 0 16px; line-height: 1.3; }
.uva-ft__since { font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: #0094ff; margin-bottom: 16px; display: block; }
.uva-ft__checks li { display: flex; gap: 10px; align-items: flex-start; margin-bottom: 10px; font-size: 13px; }
.uva-ft__checks .uva-ico { color: #0094ff; margin-top: 5px; font-size: 12px; stroke-width: 3.5; }
.uva-site .uva-ft a.uva-ft__btn { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 11px 18px; border-radius: 6px; background: #0094ff; font-size: 12.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: #fff; line-height: 1.7; }
.uva-site .uva-ft a.uva-ft__btn:hover { background: #007fdb; color: #fff; }
.uva-ft__btn .uva-ico { stroke-width: 3; }
.uva-ft__contact li { display: flex; gap: 14px; padding: 10px 0; margin-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,.07); }
.uva-ft__contact li:first-child { padding-top: 0; }
.uva-ft__contact li:last-child { border-bottom: 0; }
.uva-ft__ico { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 8px; background: rgba(0,148,255,.12); color: #3fb0ff; display: flex; align-items: center; justify-content: center; font-size: 14px; }
.uva-ft__label { display: block; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #6f7a91; line-height: 1.4; }
.uva-ft__value { display: block; color: #e4e9f2; font-size: 13.5px; line-height: 1.5; }
.uva-site .uva-ft__value a { color: #0094ff; }
.uva-ft__hours { display: grid; grid-template-columns: auto 1fr; gap: 2px 14px; font-size: 13px; color: #e4e9f2; }
.uva-ft__hours span:nth-child(odd) { color: #aeb8cc; }
.uva-ft__links { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.uva-site .uva-ft p.uva-ft__sub { font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: #aeb8cc; margin: 0 0 16px; line-height: 27px; }
.uva-ft__links li { margin-bottom: 10px; }
.uva-site .uva-ft__links a { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; }
.uva-ft__links a::before { content: ""; width: 5px; height: 5px; border-top: 1.5px solid #0094ff; border-right: 1.5px solid #0094ff; transform: rotate(45deg); opacity: .8; transition: transform .15s; }
.uva-ft__links a:hover::before { transform: rotate(45deg) translate(1px, -1px); }

.uva-tiny-footer { background: #002b50; padding: 20px 0; }
.uva-tiny-footer__in { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; }
.uva-site .uva-copyright { font-size: 14px; color: #aabfd1; line-height: 3.6; padding-left: 15px; }
.uva-social { padding-right: 15px; display: flex; }
.uva-site .uva-social a { background: #4c4c4c; padding: 12px 14px; border-radius: 2px; color: #727272; display: inline-flex; line-height: 0; margin-left: 6px; font-size: 16px; transition: background .2s, color .2s; }
.uva-site .uva-social a:hover { background: #c45d3c; color: #fff; }

/* ---------- Responsive chrome ---------- */
@media (min-width: 992px) and (max-width: 1199px) {
    .uva-header__icon { padding-right: 12px; }
    .uva-site .uva-header__number { white-space: nowrap; }
    .uva-header .uva-btn { font-size: 12px; padding: 12px 10px; }
}
@media (max-width: 1199px) {
    .uva-wrap { max-width: 970px; }
    .uva-wrap.uva-header__in, .uva-wrap.uva-footer__grid, .uva-wrap.uva-cta__in { max-width: 970px; }
}
@media (max-width: 1024px) {
    .uva-menu-toggle { display: block; position: relative; width: 100%; height: 46px; padding: 17px; margin: 0; background: none; border: 0; text-align: left; color: #acc4ca; font: 700 12px/12px Poppins, sans-serif; text-transform: uppercase; cursor: pointer; }
    .uva-burger { position: absolute; right: 17px; top: 16px; width: 20px; height: 14px; }
    .uva-burger::before { content: ""; position: absolute; left: 0; top: 0; width: 20px; height: 2px; background: #acc4ca; }
    .uva-burger::after { content: ""; position: absolute; left: 0; top: 6px; width: 20px; height: 8px; box-sizing: border-box; border-top: 2px solid #acc4ca; border-bottom: 2px solid #acc4ca; }
    .uva-nav.is-open .uva-burger::before { top: 7px; width: 15px; background: #fff; transform: rotate(-45deg); }
    .uva-nav.is-open .uva-burger::after { top: 7px; width: 15px; height: 2px; border: 0; background: #fff; transform: rotate(45deg); }
    .uva-sticky { min-height: 0; }
    .uva-nav { height: auto; }
    .uva-nav .uva-wrap { padding: 0 15px; }
    .uva-menu { display: none; flex-direction: column; }
    .uva-nav.is-open .uva-menu { display: flex; }
    .uva-menu > li + li { margin-left: 0; }
    .uva-menu > li { border-top: 1px solid #375b63; }
    .uva-site .uva-menu > li > a, .uva-site .uva-menu > li.has-sub > a { height: 50px; padding: 18px 15px; border: 0; line-height: 14px; }
    .uva-caret { display: none; }
    .uva-sub-toggle { display: block; position: absolute; right: 0; top: 0; width: 50px; height: 50px; padding: 0; background: none; border: 0; border-left: 1px solid #375b63; cursor: pointer; font-size: 0; color: transparent; }
    .uva-sub-toggle .uva-ico { display: none; }
    .uva-sub-toggle::before, .uva-sub-toggle::after { content: ""; position: absolute; background: #acc4ca; transition: transform .2s; }
    .uva-sub-toggle::after { width: 8px; height: 2px; top: 22px; right: 19px; }
    .uva-sub-toggle::before { width: 2px; height: 8px; top: 19px; right: 22px; }
    .uva-menu > li.is-open > .uva-sub-toggle { background: #375b63; }
    .uva-menu > li.is-open > .uva-sub-toggle::after { background: #fff; }
    .uva-menu > li.is-open > .uva-sub-toggle::before { display: none; }
    .uva-sub, .uva-menu > li:hover > .uva-sub { position: static; display: none; }
    .uva-menu > li.is-open > .uva-sub { display: block; }
    .uva-sub li, .uva-menu > li:hover > .uva-sub li { height: auto; }
    .uva-site .uva-sub a { width: auto; padding: 18px 15px 18px 25px; border-top: 1px solid #375b63; color: #ddd; background: none; }
    .uva-site .uva-sub a:hover { color: #fff; background: none; }
}
@media (max-width: 991px) {
    .uva-wrap { max-width: none; }
    .uva-wrap.uva-header__in, .uva-wrap.uva-footer__grid, .uva-wrap.uva-cta__in { max-width: none; }
    /* phone-style header, same as uvadvance.com under 768px */
    .uva-topbar__welcome { display: none; }
    .uva-topbar__nav { padding: 0; }
    .uva-header { padding: 10px 0; }
    .uva-header__in { display: block; height: auto; }
    .uva-header__brand { padding: 4px 15px 0 30px; height: 65px; }
    .uva-header__brand img { width: 311px; margin: -33px 0 0; }
    .uva-header__info { display: block; }
    .uva-header__block { padding: 0 15px 0 30px; margin-bottom: 15px; min-height: 48px; }
    .uva-header__block--btn { min-height: 44px; padding-top: 10px; margin-bottom: 15px; }
    .uva-header .uva-btn { font-size: 12px; padding: 10px; line-height: 14px; }
    .uva-page-header__in { padding: 70px 15px; }
    .uva-site .uva-page-title { font-size: 56px; line-height: 1.2; }
    .uva-footer { padding: 70px 0; }
    .uva-footer__grid > .uva-ft { flex-basis: 50%; margin-bottom: 40px; }
}
@media (max-width: 767px) {
    .uva-topbar__nav ul { flex-wrap: wrap; justify-content: flex-end; }
    .uva-site .uva-page-title { font-size: 40px; }
    .uva-page-header__in { padding: 50px 15px; }
    .uva-footer__grid > .uva-ft { flex-basis: 100%; }
    .uva-wrap.uva-cta__in { flex-direction: column; }
    .uva-cta__text, .uva-cta__btn { flex-basis: auto; }
    .uva-strip__in { padding: 16px 15px; }
    .uva-tiny-footer__in { flex-direction: column; text-align: center; }
    .uva-site .uva-copyright { padding: 0; line-height: 2.4; }
    .uva-social { padding: 6px 0 0; }
    .uva-site .uva-social a:first-child { margin-left: 0; }
    .uva-search__form { width: 260px; }
}

/* ==========================================================================
   Part 2: osTicket client content
   ========================================================================== */
body.uva-portal { background: #f9fbfd; }
.uva-main { padding: 60px 15px 80px; }
body.uva-portal #container {
    width: auto; max-width: 1140px; margin: 0 auto; padding: 0;
    background: #fff; border-radius: 12px;
    box-shadow: 0 10px 40px rgba(19,19,33,.08); border: 1px solid #eef2f6;
    font-family: Poppins, sans-serif; font-weight: 300; color: #5a5f61;
    position: relative;
}
body.uva-portal #container * { font-family: Poppins, sans-serif; }
body.uva-portal #container [class^="icon-"], body.uva-portal #container [class*=" icon-"] { font-family: FontAwesome; }

/* osTicket header row: logo hidden, sign-in links kept */
body.uva-portal #header { height: auto; min-height: 0; padding: 0; margin: 0; background: none; position: absolute; right: 30px; top: 22px; z-index: 5; }
body.uva-portal #header #logo { display: none; }
body.uva-portal #header .pull-right { float: none; text-align: right; }
body.uva-portal #header p { margin: 0; font-size: 14px; font-weight: 400; color: #5a5f61; line-height: 1.6; }
body.uva-portal #header p:empty { display: none; }
body.uva-portal #header a { color: #0094ff; font-weight: 500; text-decoration: none; }
body.uva-portal #header a:hover { color: #007fdb; text-decoration: underline; }

/* osTicket tabs */
body.uva-portal #nav {
    height: auto; margin: 0; padding: 18px 30px; border: 0; border-bottom: 1px solid #eef2f6;
    background: none; box-shadow: none; display: flex; flex-wrap: wrap; gap: 8px; border-radius: 12px 12px 0 0;
}
body.uva-portal #nav li { display: block; margin: 0; padding: 0; float: none; }
body.uva-portal #nav li a {
    display: inline-flex; align-items: center; height: auto; margin: 0; padding: 10px 18px 10px 18px;
    background: #f3f7fb; color: #2e3233; font-size: 14px; font-weight: 500; line-height: 1.4;
    border: 1px solid transparent; border-radius: 6px; text-decoration: none; transition: background .15s, color .15s;
}
body.uva-portal #nav li a:hover { background: #e6f3ff; color: #0094ff; }
body.uva-portal #nav li a.active { background: #0094ff; color: #fff; box-shadow: 0 6px 16px rgba(0,148,255,.25); }

/* content */
body.uva-portal #content { padding: 40px 30px 45px; min-height: 0; margin: 0; font-size: 15px; line-height: 1.7; color: #5a5f61; }
body.uva-portal #content h1, body.uva-portal #content h2, body.uva-portal #content h3 { color: #2e3233; font-weight: 600; line-height: 1.3; margin: 0 0 16px; letter-spacing: -.2px; }
body.uva-portal #content h1 { font-size: 28px; }
body.uva-portal #content h2 { font-size: 22px; }
body.uva-portal #content h3 { font-size: 18px; }
body.uva-portal #content p { margin: 0 0 14px; }
body.uva-portal #content a { color: #0094ff; }
body.uva-portal #content a:hover { color: #007fdb; }
body.uva-portal #content b, body.uva-portal #content strong { font-weight: 600; color: #2e3233; }
body.uva-portal #content ol, body.uva-portal #content ul { padding-left: 22px; }
body.uva-portal #content li { margin-bottom: 6px; }
body.uva-portal #content hr { border: 0; border-top: 1px solid #eef2f6; margin: 24px 0; height: 0; background: none; }

/* landing page */
body.uva-portal #landing_page { display: flex; gap: 40px; align-items: flex-start; }
body.uva-portal #landing_page .main-content { flex: 1 1 auto; width: auto; float: none; order: 1; }
body.uva-portal #landing_page .sidebar { flex: 0 0 300px; width: 300px; float: none; order: 2; margin: 0; }
body.uva-portal #landing_page > .clear, body.uva-portal #landing_page > div:empty { display: none; }
body.uva-portal .sidebar .front-page-button { float: none; width: auto; margin: 0; padding: 24px; background: #f3f7fb; border-radius: 10px; }
body.uva-portal .sidebar .front-page-button p { margin: 0 0 12px; }
body.uva-portal .sidebar .front-page-button p:last-child { margin: 0; }
body.uva-portal .sidebar .content { margin-top: 20px; }
body.uva-portal .sidebar .content:empty { display: none; }
body.uva-portal .front-page-button .button { display: block; width: 100%; }

/* buttons */
body.uva-portal #content .button, body.uva-portal #content a.button,
body.uva-portal #content input[type="submit"], body.uva-portal #content input[type="button"],
body.uva-portal #content input[type="reset"], body.uva-portal #content button:not([class*="re-"]):not([class*="redactor"]) {
    display: inline-block; height: auto; margin: 0 6px 6px 0; padding: 14px 22px; line-height: 16px;
    background: #0094ff; background-image: none; color: #fff; border: 1px solid #0094ff; border-radius: 4px;
    font-family: Poppins, sans-serif; font-size: 13px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase;
    text-align: center; text-shadow: none; box-shadow: none; cursor: pointer; transition: background .2s, border-color .2s, color .2s;
    vertical-align: middle; width: auto; text-decoration: none;
}
body.uva-portal #content .button:hover, body.uva-portal #content input[type="submit"]:hover,
body.uva-portal #content input[type="button"]:hover, body.uva-portal #content button:not([class*="re-"]):hover { background: #007fdb; border-color: #007fdb; color: #fff; text-decoration: none; }
body.uva-portal #content .button.green, body.uva-portal #content input[type="reset"], body.uva-portal #content input[name="cancel"], body.uva-portal #content input[value="Cancel"] { background: #fff; color: #0094ff; border-color: #0094ff; }
body.uva-portal #content .button.green:hover, body.uva-portal #content input[type="reset"]:hover, body.uva-portal #content input[name="cancel"]:hover, body.uva-portal #content input[value="Cancel"]:hover { background: #0094ff; color: #fff; }
body.uva-portal .front-page-button .button.green { background: #fff; color: #0094ff; border-color: #0094ff; }

/* form fields */
body.uva-portal #content input[type="text"], body.uva-portal #content input[type="email"], body.uva-portal #content input[type="password"],
body.uva-portal #content input[type="tel"], body.uva-portal #content input[type="number"], body.uva-portal #content input[type="search"],
body.uva-portal #content input[type="date"], body.uva-portal #content select, body.uva-portal #content textarea {
    font-family: Poppins, sans-serif; font-size: 14px; font-weight: 400; color: #2e3233;
    padding: 10px 12px; height: auto; line-height: 1.4; max-width: 100%;
    background: #fff; border: 1px solid #d9e1ea; border-radius: 6px; box-shadow: none; transition: border-color .15s, box-shadow .15s;
}
body.uva-portal #content input:focus, body.uva-portal #content select:focus, body.uva-portal #content textarea:focus { outline: none; border-color: #0094ff; box-shadow: 0 0 0 3px rgba(0,148,255,.15); }
body.uva-portal #content label { font-weight: 500; color: #2e3233; }
body.uva-portal #content .required, body.uva-portal #content .error, body.uva-portal #content font.error { color: #d93636; }
body.uva-portal #content table { border-collapse: collapse; }
body.uva-portal #content table td, body.uva-portal #content table th { font-size: 14px; }
body.uva-portal #content .form-header, body.uva-portal #content .form-header h3 { color: #2e3233; }
body.uva-portal #content em, body.uva-portal #content .faded { color: #8a9099; }

/* notices */
body.uva-portal #msg_notice, body.uva-portal #msg_warning, body.uva-portal #msg_error, body.uva-portal .error_bar, body.uva-portal .warning_bar, body.uva-portal .notice_bar {
    border-radius: 6px; padding: 12px 16px 12px 16px; margin: 0 0 20px; font-size: 14px; background-image: none; font-weight: 400;
}
body.uva-portal #msg_notice, body.uva-portal .notice_bar { background: #e6f6ee; color: #1f6b46; border: 1px solid #bfe6d1; }
body.uva-portal #msg_warning, body.uva-portal .warning_bar { background: #fff6e0; color: #7a5a00; border: 1px solid #f2dfa6; }
body.uva-portal #msg_error, body.uva-portal .error_bar { background: #fdecec; color: #a12a2a; border: 1px solid #f5c2c2; }

/* responsive content */
@media (max-width: 991px) {
    .uva-main { padding: 40px 15px 60px; }
    body.uva-portal #header { position: static; padding: 16px 20px 0; }
    body.uva-portal #nav { padding: 14px 20px; }
    body.uva-portal #content { padding: 28px 20px 32px; }
    body.uva-portal #landing_page { flex-direction: column; gap: 24px; }
    body.uva-portal #landing_page .sidebar { flex-basis: auto; width: 100%; order: 0; }
}
@media (max-width: 767px) {
    .uva-main { padding: 24px 10px 40px; }
    body.uva-portal #nav li { flex: 1 1 100%; }
    body.uva-portal #nav li a { display: flex; }
    body.uva-portal #content input[type="text"], body.uva-portal #content input[type="email"], body.uva-portal #content input[type="password"], body.uva-portal #content input[type="tel"], body.uva-portal #content select, body.uva-portal #content textarea { width: 100%; }
    body.uva-portal #content table, body.uva-portal #content table tbody, body.uva-portal #content table tr, body.uva-portal #content table td { max-width: 100%; }
}
body.uva-portal #landing_page .thread-body { padding: 0; background: none; border: 0; }
body.uva-portal #clientLogin { background: #f3f7fb; background-image: none; border: 0; border-radius: 10px; box-shadow: none; padding: 30px; margin: 10px 0 24px; width: auto; max-width: none; }
body.uva-portal #clientLogin > div { display: flex; flex-wrap: wrap; gap: 30px; align-items: flex-start; }
body.uva-portal #clientLogin .login-box { float: none; width: 300px; max-width: 100%; margin: 0; padding: 26px; background: #fff; border: 1px solid #e3e9f0; border-radius: 10px; box-shadow: 0 6px 20px rgba(19,19,33,.06); }
body.uva-portal #clientLogin .login-box > div { margin-bottom: 14px; }
body.uva-portal #clientLogin .login-box input[type="text"], body.uva-portal #clientLogin .login-box input[type="password"], body.uva-portal #clientLogin .login-box input[type="email"] { width: 100%; box-shadow: none; }
body.uva-portal #clientLogin .login-box p { margin: 6px 0 0; }
body.uva-portal #clientLogin > div > div:not(.login-box) { float: none; flex: 1 1 240px; width: auto; padding: 4px 0 0; margin: 0; }
body.uva-portal #content form.uva-wide table, body.uva-portal #ticketForm table { width: 100%; }
@media (max-width: 767px) {
    body.uva-portal #clientLogin { padding: 16px; }
    body.uva-portal #clientLogin .login-box { width: 100%; }
}
body.uva-portal #content input, body.uva-portal #content select, body.uva-portal #content textarea { box-sizing: border-box; }
.uva-site .uva-ft p.uva-ft__brand { font-size: 19px; line-height: 24.7px; margin: 0 0 16px; }
body.uva-portal #header p, body.uva-portal #header .pull-right { width: auto; max-width: 100%; float: none; padding: 0; }
@media (max-width: 991px) { body.uva-portal #header .pull-right { text-align: left; } }
body.uva-portal #landing_page { flex-wrap: wrap; }
body.uva-portal #landing_page > div:not(.sidebar):not(.main-content) { order: 3; flex: 1 1 100%; }
body.uva-portal #landing_page > div:not(.sidebar):not(.main-content):not(:has(*)) { display: none; }
@media (min-width: 992px) { body.uva-portal #landing_page .main-content { flex: 1 1 0%; min-width: 0; } }
