/* IT Direct - osTicket client theme (matches itdirect.co.za)
   Load AFTER the osTicket stylesheets. Fonts come from the main site. */
@import url("/assets/css/fonts.css");

:root{
  --itd-teal:#057584; --itd-teal-dark:#04606c; --itd-teal-bright:#06A6BB;
  --itd-cream:#FBF0DA; --itd-dark:#191919; --itd-text:#191919; --itd-muted:#5b5870;
  --itd-line:#e3e1ea; --itd-lav:#8A91DE; --itd-radius:7px;
  --itd-serif:"IBM Plex Serif",Georgia,serif; --itd-sans:"Nunito Sans",Arial,sans-serif;
}

html,body{background:#fff}
body{font-family:var(--itd-sans);font-size:15px;line-height:1.6;color:var(--itd-text);margin:0}
a{color:var(--itd-teal)} a:hover{color:var(--itd-teal-dark)}
h1,h2,h3,h4{font-family:var(--itd-serif);color:var(--itd-dark);letter-spacing:-.5px}
h1{font-size:38px;line-height:1.2;font-weight:600;margin:0 0 .4em}
h3{font-weight:500}

/* ---------- layout ---------- */
#container{width:auto;max-width:1170px;margin:0 auto;padding:0 20px;background:transparent;border:0;box-shadow:none}
#content{padding:30px 0 50px;min-height:380px}
.clear{clear:both}

/* ---------- osTicket header (user status row) ---------- */
#header{background:transparent;border:0;height:auto;padding:12px 0;overflow:hidden}
#header p{margin:0;font-size:13px;color:var(--itd-muted)}
#header a{color:var(--itd-teal);font-weight:600}
.itd-js #logo{display:none}                 /* main-site bar supplies the logo */
#logo img{max-height:54px;width:auto}

/* ---------- helpdesk sub-navigation ---------- */
#nav{list-style:none;margin:6px 0 0;padding:0;background:transparent;border:0;border-bottom:2px solid var(--itd-line);display:flex;flex-wrap:wrap;gap:4px}
#nav li{float:none;margin:0;padding:0;background:none;border:0}
#nav li a{display:block;padding:11px 18px;margin-bottom:-2px;font-weight:600;font-size:15px;text-decoration:none;color:var(--itd-dark);
  background:none;border:0;border-bottom:3px solid transparent;border-radius:var(--itd-radius) var(--itd-radius) 0 0}
#nav li a:hover{color:var(--itd-teal);background:rgba(5,117,132,.06)}
#nav li a.active{color:var(--itd-teal);border-bottom-color:var(--itd-teal);background:rgba(5,117,132,.08)}
#nav li a:before{display:none}

/* ---------- landing page ---------- */
#landing_page .main-content{width:68%;float:left}
#landing_page .sidebar{width:28%;float:right}
.search-form{background:var(--itd-cream);border-radius:var(--itd-radius);padding:18px;margin-bottom:26px;display:flex;gap:10px}
.search-form form{display:flex;gap:10px;width:100%;margin:0}
.search-form input.search{flex:1;margin:0}
.thread-body{background:transparent;color:var(--itd-text);font-size:16px;line-height:1.7}
.thread-body h1{font-size:42px}
.front-page-button{padding:22px;border:1px solid var(--itd-line);border-radius:var(--itd-radius);background:#fff;box-shadow:0 4px 18px rgba(25,25,25,.06)}
.front-page-button p{margin:0 0 12px}.front-page-button p:last-child{margin:0}

/* ---------- buttons ---------- */
a.button,.button,button,input[type=submit],input[type=button],input[type=reset],input.btn,.btn{
  font-family:var(--itd-sans);font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;text-align:center;
  background:var(--itd-teal);color:#fff;border:2px solid var(--itd-teal);border-radius:var(--itd-radius);
  padding:10px 22px;box-shadow:none;text-shadow:none;background-image:none;transition:background .2s,color .2s}
a.button:hover,.button:hover,button:hover,input[type=submit]:hover,input.btn:hover,.btn:hover{background:var(--itd-teal-dark);border-color:var(--itd-teal-dark);color:#fff}
a.button.green,.green.button{background:#fff;color:var(--itd-teal);border-color:var(--itd-teal)}      /* secondary = outline, like the site's "Get in Touch" */
a.button.green:hover,.green.button:hover{background:var(--itd-teal);color:#fff}
input[type=reset],input[type=button]{background:#fff;color:var(--itd-teal)}
input[type=reset]:hover,input[type=button]:hover{background:var(--itd-teal);color:#fff}

/* ---------- forms ---------- */
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=number],select,textarea,.redactor-box{
  font-family:var(--itd-sans);font-size:15px;color:var(--itd-text);background:#fff;
  border:1px solid #cfccd9;border-radius:5px;padding:9px 11px;box-sizing:border-box;max-width:100%}
input[type=text],input[type=email],input[type=tel],input[type=password]{width:100%;max-width:520px}
select{max-width:520px}
input:focus,select:focus,textarea:focus{outline:0;border-color:var(--itd-teal);box-shadow:0 0 0 3px rgba(5,117,132,.18)}
label{font-weight:600}
#ticketForm table{width:100%;max-width:820px}
#ticketForm hr{border:0;border-top:1px solid var(--itd-line);margin:18px 0}
.form-header h3,.form-header b{font-family:var(--itd-serif);font-size:20px;font-weight:500;color:var(--itd-dark)}
.required,.error{color:#b00020}
.error{font-weight:600}
.captcha img{border-radius:5px;border:1px solid var(--itd-line)}
p.buttons{margin-top:24px}
p.buttons input{margin:0 5px}
#msg_error,#msg_warning,#msg_notice{border-radius:var(--itd-radius);border:1px solid;padding:12px 16px;margin:0 0 18px;background-image:none}
#msg_notice{background:#e8f6f8;border-color:var(--itd-teal);color:var(--itd-teal-dark)}
#msg_error{background:#fdeaea;border-color:#b00020;color:#7a0016}
#msg_warning{background:var(--itd-cream);border-color:#d8b35a;color:#6b4e00}

/* ---------- login / status box ---------- */
.login-box{background:#fff;border:1px solid var(--itd-line);border-radius:10px;padding:26px 28px;max-width:440px;box-shadow:0 4px 18px rgba(25,25,25,.06);float:left;margin-right:30px}
.login-box label{display:block;margin-bottom:14px}
.login-box input[type=text],.login-box input[type=password]{display:block;margin-top:5px;max-width:none}
#clientLogin .instructions{overflow:hidden;color:var(--itd-muted);padding-top:18px}

/* ---------- knowledgebase / tables ---------- */
#kb,.faq-categories{list-style:none;padding:0}
.faq-categories li,#kb li{border-bottom:1px solid var(--itd-line);padding:10px 0}
table.list{width:100%;border-collapse:collapse;border:1px solid var(--itd-line);border-radius:var(--itd-radius);overflow:hidden}
table.list th{background:var(--itd-dark);color:#fff;font-weight:600;padding:10px;text-align:left}
table.list td{padding:10px;border-top:1px solid var(--itd-line)}
table.list tr:nth-child(even) td{background:#faf9fc}

/* ---------- footer (matches site: dark band) ---------- */
#footer{background:var(--itd-dark);color:#d9d7e3;text-align:center;padding:26px 20px;margin:40px 0 0;border:0;font-size:14px;clear:both}
#footer p{margin:0 0 6px;color:#d9d7e3}
#footer a,#footer #poweredBy{color:var(--itd-teal-bright);text-decoration:none;font-size:12px}
#footer a:hover{color:#fff}

/* =====================================================
   Main-site bar injected by itdirect-helpdesk.js
   ===================================================== */
.itd-bar{background:#fff;border-bottom:1px solid var(--itd-line);position:sticky;top:0;z-index:50;font-family:var(--itd-sans)}
.itd-bar-in{max-width:1170px;margin:0 auto;padding:10px 20px;display:flex;align-items:center;gap:24px}
.itd-logo img{height:52px;width:auto;display:block}
.itd-nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.itd-nav a{padding:5px 10px;font-size:15px;font-weight:600;color:#000;text-decoration:none;border-radius:4px}
.itd-nav a:hover{color:var(--itd-teal)}
.itd-nav a.active{background:var(--itd-lav);color:#fff}
.itd-cta{padding:3px 9px;border:1px solid var(--itd-teal);border-radius:7px;color:var(--itd-teal);background:#fff;font-size:15px;font-weight:400;text-decoration:none;text-transform:capitalize}
.itd-cta:hover{background:var(--itd-teal);color:#fff}
.itd-burger{display:none;margin-left:auto;background:#fff;color:var(--itd-dark);border:1px solid var(--itd-line);font-size:22px;line-height:1;padding:6px 12px}

/* page title band under the bar */
.itd-hero{background:linear-gradient(rgba(25,25,25,.78),rgba(25,25,25,.78)),url("/assets/img/header-1-1.jpg") center/cover;color:#fff;padding:46px 20px}
.itd-hero-in{max-width:1170px;margin:0 auto}
.itd-hero h1{color:#fff;margin:0;font-style:italic;font-size:40px}
.itd-hero p{margin:6px 0 0;color:#e7e5f0}
.itd-js #content>h1:first-child{display:none}   /* title moved into the hero band */

/* ---------- responsive ---------- */
@media (max-width:900px){
  #landing_page .main-content,#landing_page .sidebar{width:100%;float:none}
  .login-box{float:none;margin:0 0 20px;max-width:none}
}
@media (max-width:760px){
  .itd-burger{display:block}
  .itd-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--itd-line);flex-direction:column;align-items:stretch;padding:8px 20px 14px;margin:0}
  .itd-nav.open{display:flex}
  .itd-cta{display:none}
  .itd-hero h1,h1,.thread-body h1{font-size:28px}
  #nav li a{padding:9px 12px;font-size:14px}
  .search-form form{flex-direction:column}
}

/* ---------- specificity overrides (osTicket's own rules are more specific) ---------- */
html body h1,html body h2,html body h3,html body h4,html body #content h1,html body .thread-body h1,html body .form-header h3{font-family:var(--itd-serif)!important;color:var(--itd-dark)}
html body .itd-hero h1{color:#fff!important}
html body a.button,html body .button,html body a.blue.button,html body .blue.button,html body button,html body input[type=submit],html body input.btn,html body .btn{
  background:var(--itd-teal)!important;border:2px solid var(--itd-teal)!important;color:#fff!important;border-radius:var(--itd-radius)!important;
  background-image:none!important;box-shadow:none!important;text-shadow:none!important;font-family:var(--itd-sans)!important;font-weight:600!important;padding:10px 22px!important}
html body a.button:hover,html body .button:hover,html body .btn:hover,html body input[type=submit]:hover{background:var(--itd-teal-dark)!important;border-color:var(--itd-teal-dark)!important}
html body a.green.button,html body .green.button,html body input[type=reset],html body input[type=button]{background:#fff!important;color:var(--itd-teal)!important;border:2px solid var(--itd-teal)!important}
html body a.green.button:hover,html body .green.button:hover,html body input[type=reset]:hover,html body input[type=button]:hover{background:var(--itd-teal)!important;color:#fff!important}
html body #nav li a{background:none!important;border-radius:var(--itd-radius) var(--itd-radius) 0 0!important;box-shadow:none!important;text-shadow:none!important;color:var(--itd-dark)!important}
html body #nav li a.active{color:var(--itd-teal)!important;background:rgba(5,117,132,.08)!important;border-bottom:3px solid var(--itd-teal)!important}
html body #container,html body #header{background:transparent!important;border:0!important;box-shadow:none!important}
html body #footer{background:var(--itd-dark)!important;color:#d9d7e3!important}
html body input[type=text],html body input[type=email],html body input[type=tel],html body input[type=password],html body select,html body textarea{border:1px solid #cfccd9!important;border-radius:5px!important;box-shadow:none!important;font-family:var(--itd-sans)!important}
html body .search-form{background:var(--itd-cream)!important;border:0!important}
html body .itd-dup{display:none!important}

/* ---------- round 2: nav shadow, sidebar layout, fonts, footer credit ---------- */
html body #nav{box-shadow:none!important;background:none!important;border:0!important;border-bottom:2px solid var(--itd-line)!important;margin:0 0 26px!important;padding:0!important;height:auto!important}
html body #nav li{box-shadow:none!important;background:none!important}
html body #content,html body #content p,html body #content li,html body #content td,html body #content label,html body .thread-body,html body .thread-body p{font-family:var(--itd-sans)!important;color:var(--itd-text)}
html body #header{padding:10px 0 4px!important;text-align:right}
html body #header .pull-right,html body #header .flush-right{float:none!important;text-align:right}
html body #landing_page{display:flex;gap:32px;align-items:flex-start}
html body #landing_page .main-content{float:none!important;flex:1 1 0;width:auto!important;min-width:0}
html body #landing_page .sidebar{float:none!important;order:2;flex:0 0 300px;width:300px!important}
html body #landing_page .clear{display:none}
html body .front-page-button{display:flex;flex-direction:column;gap:12px;padding:22px!important;margin:0 0 18px;text-align:left!important}
html body .front-page-button p{margin:0!important;width:100%}
html body .front-page-button a.button{display:block!important;width:100%;box-sizing:border-box;white-space:nowrap;text-align:center}
.itd-remote-card{border:1px solid var(--itd-line);border-radius:var(--itd-radius);background:var(--itd-cream);padding:18px 22px}
.itd-remote-card h3{margin:0 0 6px;font-size:18px}
.itd-remote-card p{margin:0 0 12px;font-size:14px;color:var(--itd-muted)}
html body .itd-remote-card a.button{display:block!important;width:100%;box-sizing:border-box;white-space:nowrap;text-align:center}
/* knowledgebase layout */
html body #content .row{display:flex;gap:32px;flex-wrap:wrap}
html body #content .span8{flex:1 1 520px;float:none!important;width:auto!important}
html body #content .span4{flex:0 0 300px;float:none!important;width:300px!important}
html body #kb li{list-style:none;border-bottom:1px solid var(--itd-line);padding:16px 0}
html body #kb h4 a{font-family:var(--itd-serif);font-size:20px;text-decoration:none}
html body .faded{color:var(--itd-muted)}
html body .sidebar .header,html body .sidebar section .header{font-family:var(--itd-serif);font-size:18px;font-weight:500;margin-bottom:8px}
/* remove the third-party credit */
#poweredBy{display:none!important}
@media (max-width:900px){html body #landing_page{flex-direction:column}html body #landing_page .sidebar{width:100%!important;flex:none}html body #content .span4{width:100%!important;flex:none}}
html body #header{display:block!important;width:100%!important}
html body #header p,html body #header .pull-right{text-align:right!important;width:100%!important;margin:0!important}

/* ---------- round 3: logo size, sign-in layout, main-site footer ---------- */
/* logo = same size as the main site header (321px wide, scales down on small screens) */
html body .itd-bar{position:relative!important}
html body .itd-bar-in{padding:15px 20px!important}
html body .itd-logo img{width:321px!important;max-width:100%!important;height:auto!important;max-height:none!important}
html body .itd-logo{flex:0 1 321px;min-width:0;display:block}
@media (max-width:760px){html body .itd-logo{flex:0 1 220px}html body .itd-logo img{width:220px!important}}

/* sign-in / ticket-status boxes: fluid instead of a shrink-wrapped table row */
html body #clientLogin>div{display:flex!important;flex-wrap:wrap;gap:28px;align-items:flex-start}
html body #clientLogin .login-box{float:none!important;margin:0!important;flex:1 1 320px;width:auto!important;max-width:460px;min-width:0;box-sizing:border-box!important}
html body #clientLogin .login-box input[type=text],html body #clientLogin .login-box input[type=password],html body #clientLogin .login-box input[type=email]{
  display:block;width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:10px 12px!important;margin:6px 0 14px!important}
html body #clientLogin .login-box label{display:block;width:100%}
html body #clientLogin .login-box div{max-width:100%}
html body #clientLogin>div>div:not(.login-box){display:block!important;flex:1 1 260px;min-width:0;padding:6px 0!important;color:var(--itd-muted)}
html body #clientLogin .instructions{flex:1 1 260px;min-width:0}
@media (max-width:520px){html body #clientLogin .login-box{flex-basis:100%;max-width:none;padding:20px 18px}}

/* ---------- main-site footer ---------- */
@font-face{font-family:"ITD FA";font-style:normal;font-weight:900;font-display:swap;src:url("/assets/fonts/fa-solid-900.woff2") format("woff2"),url("/assets/fonts/fa-solid-900.woff") format("woff")}
.itd-js #footer{display:none!important}
.itd-footer{font-family:var(--itd-sans);clear:both;margin-top:40px}
.itd-footer .itd-ft-main{background:var(--itd-cream);padding:50px 20px}
.itd-footer .itd-ft-grid{max-width:1170px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.itd-footer h2{font-family:var(--itd-serif);font-size:21px;font-weight:700;color:#000;margin:0 0 14px;letter-spacing:0}
.itd-footer ul{list-style:none;margin:0;padding:0}
.itd-footer li{margin:0 0 9px;font-size:15px}
.itd-footer a{color:#000;text-decoration:none}
.itd-footer a:hover{color:var(--itd-teal)}
.itd-footer .itd-ft-contact li{font-size:13px;display:flex;align-items:center;gap:10px}
.itd-footer .itd-ft-contact i{font-family:"ITD FA";font-style:normal;font-weight:900;width:16px;text-align:center;font-size:15px}
.itd-footer p{margin:0 0 14px;font-size:14px;line-height:1.5;color:#3d3b4f}
.itd-footer .itd-ft-btn{display:inline-flex;align-items:center;gap:10px;font-size:15px;font-weight:600}
.itd-footer .itd-ft-btn i{font-family:"ITD FA";font-style:normal;font-weight:900}
.itd-footer .itd-ft-bar{background:var(--itd-dark);color:#fff;text-align:center;padding:12px 20px;font-size:12px;font-weight:700}
.itd-footer .itd-ft-bar a{color:#fff}
@media (max-width:900px){.itd-footer .itd-ft-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.itd-footer .itd-ft-grid{grid-template-columns:1fr}.itd-footer .itd-ft-main{padding:36px 20px}}
html body form#clientLogin,html body #clientLogin{background:none!important;background-image:none!important;border:0!important;box-shadow:none!important;padding:0!important;margin:0 0 10px!important;width:auto!important;max-width:100%!important;border-radius:0!important}

/* ---------- round 4: header identical to itdirect.co.za (3 columns 30/50/20, glow, icons) ---------- */
@font-face{font-family:"ITD FA R";font-style:normal;font-weight:400;font-display:swap;src:url("/assets/fonts/fa-regular-400.woff2") format("woff2"),url("/assets/fonts/fa-regular-400.woff") format("woff")}
html body .itd-bar{background:#fff!important;border:0!important;position:relative!important;z-index:5!important;box-shadow:0 2px 20px 1px #4ddafd!important}
html body .itd-bar-in{max-width:1170px!important;margin:0 auto!important;padding:0!important;display:flex!important;align-items:center!important;gap:0!important}
html body .itd-col{box-sizing:border-box;padding:15px!important}
html body .itd-col-logo{flex:0 0 30%!important;width:30%}
html body .itd-col-nav{flex:0 0 50%!important;width:50%;text-align:center;position:static}
html body .itd-col-cta{flex:0 0 20%!important;width:20%;text-align:right}
html body .itd-logo{display:block!important;width:100%!important;flex:none!important}
html body .itd-logo img{width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;display:block;margin:0 0 10px!important}
html body .itd-nav{margin:0!important;display:flex!important;justify-content:center;align-items:center;flex-wrap:wrap;gap:0!important;position:static!important;background:none!important;border:0!important;padding:0!important}
html body .itd-nav a{padding:5px 8px!important;margin:0!important;font-size:15px!important;font-weight:600!important;color:#000!important;background:#fff!important;border-radius:0!important;text-decoration:none!important;position:relative}
html body .itd-nav a:hover{background:#fff!important;color:#000!important;text-decoration:underline;text-underline-offset:4px}
html body .itd-nav a.active{background:#8a91de!important;color:#000!important}
html body .itd-cta{display:inline-block!important;padding:10px 20px!important;border:1px solid #057584!important;border-radius:7px!important;background:#fff!important;color:#057584!important;font-size:15px!important;font-weight:400!important;text-transform:capitalize!important;text-decoration:none!important;line-height:1.2;white-space:nowrap}
html body .itd-cta:hover{background:#057584!important;color:#fff!important}
html body .itd-cta i{font-family:"ITD FA R";font-style:normal;font-weight:400;padding:0 2px}
html body .itd-burger{display:none!important;background:transparent!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important;width:100%;text-align:center}
html body .itd-burger i{font-family:"ITD FA";font-style:normal;font-weight:900;font-size:30px;line-height:1;background:rgba(9,134,192,.31);color:#000;padding:8px 10px;display:inline-block}
@media (max-width:768px){
  html body .itd-col-logo{flex:0 0 80%!important;width:80%}
  html body .itd-col-nav{flex:0 0 20%!important;width:20%}
  html body .itd-col-cta{display:none!important}
  html body .itd-burger{display:block!important}
  html body .itd-nav{display:none!important;position:absolute!important;left:0;right:0;top:100%;background:#fff!important;flex-direction:column;align-items:stretch;padding:8px 20px 14px!important;box-shadow:0 12px 20px rgba(0,0,0,.08)}
  html body .itd-nav.open{display:flex!important}
  html body .itd-nav a{padding:10px 8px!important;text-align:center}
}