/*body{
  overflow: hidden;
}*/
/***** User agent fix on element outline ****************************/
div:focus,button:focus,a:focus,select:focus,input:focus,textarea:focus{
  outline: none;
}

/***** Color definitions ****************************/
.bg-primary{
  background: var(--primary-color);
  color: var(--primary-color-text);
}
.bg-black{
  background: var(--black);
}
.bg-white{
  background: var(--white);
}
.bg-gray{
  background: var(--gray);
}
.bg-dark-gray{
  background: var(--dark-gray);
}
.bg-lt-gray{
  background: var(--light-gray);
}
.bg-x-lt-gray{
  background: var(--x-light-gray);
}
.bg-alert{
  background: var(--alert);
}
.bg-info{
  background: var(--info-bg);
}
.bg-error
,.bg-delete
,.bg-remove{
  background: var(--error);
}
.bg-prog-primary
,.button.bg-prog-primary{
  background: var(--prog-primary);
}
.bg-prog-primary-light{
  background-color: var(--prog-primary-light);
}
.force-bg-prog-primary
,.button.force-bg-prog-primary{
  background: var(--prog-primary) !important;
}
.force-bg-prog-primary:hover
,.force-bg-prog-primary:focus
,.button.force-bg-prog-primary:hover
,.button.force-bg-prog-primary:focus{
  background: var(--button-bg-color-hover) !important;
  color: var(--button-color-hover) !important;
}
.bg-prog-accent
,.button.bg-prog-accent{
  background: var(--prog-accent);
}
.bg-cust-a {
  background-color: var(--panel-bg-cust-a);
}
.bg-cust-b {
  background-color: var(--panel-bg-cust-b);
}
.bg-cust-c {
  background-color: var(--panel-bg-cust-c);
}
.bg-cust-d {
  background-color: var(--panel-bg-cust-d);
}
.bg-cust-e {
  background-color: var(--panel-bg-cust-e);
}
.bg-cust-f {
  background-color: var(--panel-bg-cust-f);
}
.bg-cust-g {
  background-color: var(--panel-bg-cust-g);
}
.bg-cust-x {
  background-color: var(--panel-bg-cust-x);
}
.tag-a{
  color: var(--tag-a);
}
.tag-b{
  color: var(--tag-b);
}
.tag-c{
  color: var(--tag-c);
}
.tag-d{
  color: var(--tag-d);
}
.tag-e{
  color: var(--tag-e);
}
.tag-f{
  color: var(--tag-f);
}
.tag-g{
  color: var(--tag-g);
}
.button.bg-prog-accent:hover
,.button.bg-prog-accent:focus{
  background: var(--prog-accent-hover);
}
.button.bg-gray{
  background:#aaaaaa;
  color:var(--white);
}
.button.bg-gray:focus
,.button.bg-gray:hover{
  background:#909090;
}
.txt-primary{
  color: var(--primary-color);
}
.txt-prog-primary{
  color: var(--prog-primary);
}
.txt-prog-accent{
  color: var(--prog-accent)
}
.txt-prog-primary-lt{
  color: var(--prog-primary-light);
}
.txt-black{
  color: var(--black) !important;
}
.txt-dark-gray{
  color: var(--dark-gray);
}
.txt-gray{
  color: var(--gray-text);
}
.font-gray{
  color: var(--gray);
}
.txt-white{
  color: var(--white);
}
.txt-warning{
  color: #f58c00;
  /*color: #CB6015;*/
}
.force-txt-warning{
  color: #f58c00 !important;
}
.txt-red{
  color:rgb(165,24,7);
}
.txt-green{
  color:green;
}
.force-text-left{
  text-align: left !important;
}
.force-text-center{
  text-align: center !important;
}
.force-text-right{
  text-align: right !important;
}
.stat-incr{
  color: var(--stat-increase-color);
}
.stat-decr{
  color: var(--stat-decrease-color);
}
.transparent{
  color:transparent;
}
.brown{
  color:saddlebrown;
}
span.highlight {
  background-color: cornsilk;
  padding: 2px 4px;
}
span.highlight.thin
,span.highlight.tight{
  background-color: cornsilk;
  padding: 2px 1px;
}
/***** Page structure ****************************/
html, body {
  width: 100%;
  height: 100%;
  /*font-family: Roboto,'Arial','Helvetica',sans-serif;*/
}
/*article {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

main {
  flex-grow: 1;
}

header, main, footer {
  flex-shrink: 0;
}*/
main .grid-container{
  padding-left:0;
  padding-right:0;
}
.grid-container.expanded{
  max-width:1200px;
}

/***** Global element styling ****************************/
.no-vis{
  visibility: hidden !important;
}
.cursor-help,.c-help{
  cursor: help;
}
.cursor-default, .c-default{
  cursor: default;
}
.cursor-pointer, .c-pointer{
  cursor: pointer;
}
.opacity-25{
  opacity:25%;
}
.opacity-50{
  opacity:50%;
}
.opacity-60{
  opacity:60%;
}
.opacity-75{
  opacity:75%;
}
.as-link > i
,.button > i
,a > i{
  padding-right:0.375em;
}
i.warning{
  /*color: var(--warning);*/
  color:#f5a905;
}
.pad-lft{
  padding-left:0.5em;
}
.pad-rt{
  padding-right:0.5em;
}
i.pad-rt{
  padding-right:0.375em;
}
i.mrgn-rt{
  margin-right:0.375em;
}
span.badge.pad-left{
  margin-left:0.375em;
}
i ~ .pad-left
,i ~ .pad-lft
,i.pad-lft{
  padding-left:0.375em;
}
i.fad.notice
,i.fad.warning{
  --fa-primary-opacity:1.0;
  --fa-secondary-opacity:1.0;
  --fa-primary-color:rgb(169, 122, 60);
  --fa-secondary-color:#f7e3b8;
}
i.fa-spin
,i.fa-spin-pulse{
  padding:0;
}
i.grid-icon{
  font-size: 0.9375rem;
  padding-right:0.375em;
  --fa-secondary-opacity:0.25;
}
i.internal-vis{
  color:#a5a5a5;
  /*font-size:0.9125em;*/
}
i.fav
,.grid-filter .panel-header i.title-icon.fav-icon.fav
,.page-header-panel i.title-icon.fav-icon.fav{
  color: var(--favorite);
}
i.has-tip{
  border-bottom:none;
}
.upper{
  text-transform: uppercase;
}
.italic{
  font-style: italic;
}
.kerning-2{
  letter-spacing:2px;
}
.kerning-1{
  letter-spacing:1px;
}

@media screen and (max-width: 40em) {
  .lead{
    font-size:115%;
  }
}
.no-pad{
  padding:0 !important;
}
.w-full{
  width: 100%;
}
.h-100,.h-auto{
  height:100%;
}
.bold{
  font-weight: bold;
}
.fw-200{
  font-weight: 200 !important;
}
.fw-300{
  font-weight: 300 !important;
}
.fw-normal,.fw-400{
  font-weight: normal !important;
}
.fw-500{
  font-weight: 500 !important;
}
.fw-600{
  font-weight: 600 !important;
}
.fw-800{
  font-weight: 800 !important;
}
.fs-15{
  font-size:0.9375rem !important;
}
.fs-14{
  font-size:0.875rem !important;
}
.fs-13{
  font-size:0.8125rem !important;
}
.fs-12{
  font-size:0.75rem !important;
}
.fs-16{
  font-size:1rem !important;
}
.fs-110p{
  font-size:1.1rem;
}
.fs-150p{
  font-size:1.5rem;
}
.fs-200p{
  font-size: 2rem;
}
.quarter-below{
  margin-bottom:0.25em !important;
}
.quarter-above{
  margin-top:0.25em !important;
}
.half-below{
  margin-bottom:0.5em !important;
}
.half-above{
  margin-top:0.5em !important;
}
.single-below{
  margin-bottom:1em !important;
}
.single-above{
  margin-top:1em !important;
}
.single-right{
  margin-right:1em !important;
}
.single-left{
  margin-left:1em !important;
}
.mb-1{
  margin-bottom:0.25rem !important;
}
.mb-2{
  margin-bottom:0.5rem !important;
}
.mb-3{
  margin-bottom:0.75rem !important;
}
.mb-4{
  margin-bottom:1rem !important;
}
.pt-1{
  padding-top: 0.25rem !important;
}
.pt-2{
  padding-top: 0.5rem !important;
}
.pt-3{
  padding-top: 0.75rem !important;
}
.pt-4{
  padding-top: 1rem !important;
}
.pad-single-left{
  padding-left:1em !important;
}
.pad-single-right{
  padding-right:1em !important;
}
.kill-below{
  margin-bottom:0 !important;
}
.kill-above{
  margin-top:0 !important;
}
.kill-right{
  margin-right:0 !important;
}
.kill-left{
  margin-left:0 !important;
}
.double-below{
  margin-bottom: 2em !important;
}
.double-above{
  margin-top: 2em !important;
}
.triple-above{
  margin-top:3rem !important;
}
.triple-below{
  margin-bottom:3rem !important;
}
.quad-below{
  margin-bottom:4rem !important;
}
.quarter-right{
  margin-right:0.25em !important;
}
.half-left{
  margin-left:0.5rem !important;
}
.half-right{
  margin-right:0.5rem !important;
}
.kill-pad{
  padding:0 !important;
}
.remove-pad{
  padding:0;
}
.kill-pad-top{
  padding-top:0 !important;
}
.kill-pad-left{
  padding-left:0 !important;
}
.kill-pad-right{
  padding-right:0 !important;
}
.half-pad-right{
  padding-right:0.5em !important;
}
.half-pad-left{
  padding-left:0.5em !important;
}
.single-pad-left{
  padding-left:1em !important;
}
.single-pad-right{
  padding-right:1em !important;
}
.ul{
  border-bottom:1px solid var(--black);
}
.ul.dk-gray{
  border-bottom: 1px solid var(--gray-text);
}
.hide{
  display: none;
}
.font-90{
  font-size: 90%;
}
.backward{
  -webkit-transform:rotateY(180deg);
  -moz-transform:rotateY(180deg);
  -o-transform:rotateY(180deg);
  -ms-transform:rotateY(180deg);
  unicode-bidi:bidi-override;
  direction:rtl;
}

.close-button{
  background: transparent;
}
  .close-button:hover{
    background: transparent;
    text-decoration: none;
  }
 
  input.error, select.error, textarea.error{
    border:1px solid var(--error);
    margin-bottom:0;
/*    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;*/
  }
  small.error{
    background-color: var(--error);
    color: var(--white);
    padding:.25em .5em;
    margin:0 0 1em 0;
    border:none;
    display: block
  }
  label.error{
    color: var(--error);
  }
  .input-group-error .error{
    margin-top:-1rem;
  }
  
label.required::after{
  content:"*";
  color: var(--error);
  margin-left:2px;
  display:inline;
}
.form-panel form label.error{
  color:initial;
}
.form-panel form label.error::after{
  content:attr(data-err-msg);
  color: var(--error);
  line-height:1.25;
  margin:0 0 0.25rem 0;
  display:block;
  font-weight: normal;
  font-size:0.9125em;
}
.form-panel form small.error{
  display:none;
}
.form-panel form input.error
,.form-panel form textarea.error{
  background: var(--input-error-bg);
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  color:var(--error);
}
.form-panel form select.error{
  background-color:var(--input-error-bg);
  color:var(--error);
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
input[type=checkbox][disabled] ~ label{
  color: #999999;
}
input[type=checkbox][disabled] {
  opacity: 65%;
}
.no-break, .nobr{
  white-space: nowrap;
}
.border{
  border:1px solid var(--gray);
}
.border-dk-gray{
  border:1px solid var(--dark-gray);
}
.border-top{
  border-top: 1px solid var(--gray);
}
.border-top-black{
  border-top: 1px solid var(--black);
}
.border-btm-black{
  border-bottom: 1px solid var(--black);
}
.border-lft-lt-gray{
  border-left: 1px solid var(--light-gray);
}
hr.black{
  border-bottom: 1px solid var(--black);
}
hr.thin{
  margin-top:0.5rem;
  margin-bottom:0.5rem;
}
.has-hint{
  cursor: help;
}

.callout[data-closable]{
  padding-right:2.5rem;
}
.callout.error {
    background: var(--error-bg);
    color: var(--black);
}
.callout.info{
  background-color: var(--info-bg);
}
.callout.info a, .callout.info a:visited{
  /*color: #1779ba;*/
  color: #14679f;
}
.callout > p:last-of-type{
  margin-bottom:0;
}
.callout.small{
  font-size:0.875rem;
}
.callout.inline{
  display:inline-block;
}
.callout.tight{
  padding:0.25rem 0.5rem;
}
.callout.cozy{
  padding:0.5rem 0.75rem;
}
.callout.form-feedback{
  padding:0.25rem 0.5rem;
}
.callout.w-auto{
  display:inline-block;
}
.callout-accent-left{
  background: var(--primary-color);
  background: -moz-linear-gradient(var(--callout-accent-dk) 0%, var(--callout-accent-lt) 20%, var(--callout-accent-dk) 100%);
  background: -webkit-linear-gradient(var(--callout-accent-dk) 0%, var(--callout-accent-lt) 20%, var(--callout-accent-dk) 100%);
  background: linear-gradient(to bottom, var(--callout-accent-dk) 0%, var(--callout-accent-lt) 20%, var(--callout-accent-dk) 100%);
  border-radius: 3px;
}
.callout-accent-top{
  background: var(--primary-color);
  background: -moz-linear-gradient(left, var(--callout-accent-dk) 0%, var(--callout-accent-lt) 20%, var(--callout-accent-dk) 100%);
  background: -webkit-linear-gradient(left, var(--callout-accent-dk) 0%, var(--callout-accent-lt) 20%, var(--callout-accent-dk) 100%);
  background: linear-gradient(to right, var(--callout-accent-dk) 0%, var(--callout-accent-lt) 20%, var(--callout-accent-dk) 100%);
  border-radius: 3px;
}
.callout-accent-left .callout{
  margin-left:0.5rem;
  margin-bottom: 0;
  border-left: none;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.callout-accent-top .callout{
  margin-top:0.5rem;
  margin-bottom: 0;
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
}
.callout > .callout-title{
  font-weight: bold;
  font-size:1.375em;
  margin-bottom: 0.25rem;
}
.callout-body p:last-of-type{
  margin-bottom: 0;
}

.label{
  background: var(--primary-color);
}
div.notice{
  clear: both;
  text-align: left;
  padding:0.5rem 1rem;
  background-color: var(--warning);
}

ul.error-list{
  margin-left:0;
  margin-bottom:0
}
ul.error-list li{
  font-size: 0.9375rem;
}
.error-list-title{
  font-weight: bold;
}
ul.error-list li a{
  text-decoration: none;
  /*color:#8a1f11;*/
  color: var(--black);
}
ul.plain{
  list-style-type: none;
  margin-left:0;
}

span.as-link{
  color: var(--link-color);
  cursor:pointer;
}
span.as-link:hover,span.as-link:focus{
  color: var(--link-color-hover);
  text-decoration: underline;
  cursor:pointer;
}

.truncate-line{
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.page-header-panel .truncate-line{
  max-width:550px;
}
@media only screen and (min-width: 40.0625em) and (max-width: 64em) {
  .page-header-panel .truncate-line{
    max-width:480px;
  }
}
@media only screen and (max-width:40em){
  .page-header-panel .truncate-line{
    max-width:290px;
    /*padding-right:0 !important;  //Removed because it was removing padding on h1 title group on mobile*/
    padding-right:0;
  }
}
.title-group .truncate-250{
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  max-width:250px;
}
.truncate{
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  display:inline-block;
  max-width:250px;
}
.truncate.len-350{
  max-width:350px;
}
.truncate.len-325{
  max-width:325px;
}
.truncate.len-300{
  max-width:300px;
}
.truncate.len-275{
  max-width:275px;
}
.truncate.len-225{
  max-width:225px;
}
.truncate.len-200{
  max-width:200px;
}
.truncate.len-175{
  max-width:175px;
}
.truncate.len-150{
  max-width:150px;
}
.truncate.len-100{
  max-width:100px;
}
.page-header-panel{
  background-color: var(--white);
  margin-bottom: 1.5rem;
  padding-top:1rem;
}


/***** General element styling **********************************/
a{
  color: var(--link-color);
}
  a:hover, a:focus{
    color: var(--link-color-hover);
    text-decoration: underline;
  }
  a.txt-gray:hover,a.txt-gray:focus{
    color:#808080;
  }
a.subtle{
  color: #757575;
}
  a.subtle:hover, a.subtle:focus{
    color: #555;
    text-decoration: underline;
  }
  a.no-ul:hover,a.no-ul:focus,a.no-ul{
    text-decoration: none;
  }
p.back-link{
  font-size:0.8125rem;
  margin-bottom:0.5em;
}
.menu .active > a{
  background: var(--primary-color);
}
.error a,.error a:hover,.error a:active,.error a:focus{
  color:var(--error);
  text-decoration: underline;
}
.button
,.button-std{
  background: var(--button-bg-color);
  color: var(--button-color);
  text-decoration: none;
  font-weight: 500;
  margin-bottom:0;
}
  .button:hover, .button:focus, main.button:active
  ,.button-std:hover, .button-std:focus, main.button-std:active{
    background: var(--button-bg-color-hover);
    color: var(--button-color-hover);
  }
  .button.hollow{
    border: 2px solid var(--button-bg-color);
    background: transparent;
    color: var(--button-bg-color)
  }
  .button.hollow.bg-white{
    background: var(--white);
  }
    .button.hollow:hover, main .button.hollow:focus{
      background: var(--button-bg-color);
      color: var(--button-color);
      border-color: var(--button-bg-color);
    } 
  .button.light,.button.light:visited{
    border:1px solid var(--button-bg-color);
    background-color:var(--button-bg-color-light);
    color:var(--button-bg-color);
  }
    .button.light:hover,.button.light:focus{
      background-color: var(--button-bg-color-light-hover);
      color:var(--button-color);
    }
    .button.light.accent,.button.light.accent:visited{
      border:1px solid var(--prog-accent);
      background-color:var(--prog-accent-light);
      color:var(--prog-accent);
    }
    .button.light.accent:hover,.button.light.accent:focus{
      background-color: var(--prog-accent);
      color:var(--primary-color-text);
    }
    .button.as-link{
      border:none;
      background:transparent;
      text-decoration: none;
      color:var(--link-color);
      padding:0;
      margin-bottom:0;
      font-size:1em;
      font-weight:400;
    }
    .button.as-link:hover
    ,.button.as-link:focus{
      text-decoration: underline;
      color:var(--link-color-hover);
    }
    .button.force-as-link{
      border:none !important;
      background:transparent !important;
      text-decoration: none !important;
      color:var(--link-color) !important;
      padding:0 !important;
      margin-bottom:0 !important;
      font-size:1em !important;
      font-weight:400 !important;
    }
    .button.force-as-link:hover
    ,.button.force-as-link:focus{
      text-decoration: underline !important;
      color:var(--link-color-hover) !important;
    }
    .button.as-text {
      color: var(--black);
      border: 1px solid transparent;
      background:transparent;
      cursor:default;
      font-weight:400;
    }
    .button.as-text:hover {
      border-color:transparent;
      color:var(--black);
      background:transparent;
    }
    .button.clear{
      color:var(--button-bg-color);
      font-weight:400;
    }
    .button.clear:hover, .button.clear:focus {
      border: 1px solid var(--button-bg-color);
      color: var(--button-bg-color);
    }
    button.clear.as-link{
      text-decoration: none;
      color: var(--primary-color);
      border:none;
      padding-left:0;
      padding-right:0;
      font-size: 1em;
    }
    button.clear.as-link:hover, button.clear.as-link:focus{
      text-decoration: underline;
      color: var(--primary-color-hover);
      border:none;
    }
  .button.round{
    -webkit-border-radius: 1000px;
       -moz-border-radius: 1000px;
            border-radius: 1000px;
  }
/*  .button.inactive, .button:disabled, .button:disabled:hover{
    background: var(--dark-gray);
    color: var(--white);
    cursor: not-allowed;
    opacity: 1;
  }*/
  .button.inactive, .button:disabled, .button:disabled:hover{
    cursor: not-allowed;
    opacity: 0.6;
  }
.button.thin{
  padding-left:0.75rem;
  padding-right:0.75rem;
}
.button.medium{
  font-size:1.1em;
}
.button.small{
  padding:0.6em;
  font-weight: 500;
  font-size:0.8rem;
  letter-spacing: 0.2px;
}
.button-group.aa-round > .button:first-child {
  /* Round the top-left and bottom-left corners */
  border-top-left-radius: 50em; /* Use a large value for full rounding */
  border-bottom-left-radius: 50em;
  /* Ensure right corners are square */
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  /* Remove right border to prevent double borders */
  border-right: none; 
}

.button-group.aa-round > .button:last-child {
  /* Round the top-right and bottom-right corners */ 
  border-top-right-radius: 50em; 
  border-bottom-right-radius: 50em;
   /* Ensure left corners are square */
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  /* Add a subtle separator line on the left */ 
  border-left: 1px solid rgba(255, 255, 255, 0.5); 
}

/* Ensure middle buttons (if any) have square corners and separator */
.button-group.aa-round > .button:not(:first-child):not(:last-child) {
  border-radius: 0;
  /* Add separator line */
  border-left: 1px solid rgba(255, 255, 255, 0.5); 
  /* Remove right border */
  border-right: none;
}
main .form-group{
  margin-bottom:1.5em;
}
.button.hollow:hover.disabled
,.button.hollow:hover[disabled]
,.button.hollow:focus.disabled
,.button.hollow:focus[disabled] {
  border: 1px solid var(--button-bg-color);
  background: transparent;
  color: var(--button-bg-color);
}
button.button.clear.btn-delete {
  color: var(--delete);
}
button.button.clear.btn-delete:hover {
  border-color: var(--delete);
  background-color: var(--delete);
  color: var(--white);
}
button.button.clear.btn-delete:hover > i{
  font-weight:800;
}
button.button.clear.btn-cancel:hover {
  border-color: var(--gray-text);
}
button.button.clear.btn-cancel {
  color: var(--gray-text);
}
.button.btn-delete,.button.btn-cancel-red {
  border: 1px solid var(--error);
  background-color: transparent;
  color: var(--error);
}
/*.page-header-panel .button.btn-delete{
  border-width: 2px;
}*/
.button.btn-delete:hover
,.button.btn-delete:focus
,.button.btn-cancel-red:hover
,.button.btn-cancel-red:focus{
  background-color: var(--error);
  color: var(--white);
}
.btn-pulse{
  -webkit-box-shadow: 0 0 0 0 rgba(241,114,95,.7);
  box-shadow: 0 0 0 0 rgba(241,114,95,.7);
  -webkit-animation: pulse 1s infinite ease-in-out;
  animation: pulse 1s infinite ease-in-out;
  -webkit-animation-iteration-count: 6;
  animation-iteration-count: 6;
}
@keyframes pulse{
  to{
    -webkit-box-shadow:0 0 0 10px rgba(241,114,95,0);
    box-shadow:0 0 0 10px rgba(241,114,95,0);
  }
}
.btn-pulse:hover{
  animation: none;
}
.aa-is-dirty .k-grid-toolbar .k-grid-save-changes{
  -webkit-box-shadow: 0 0 0 0 rgba(49,79,142,.55);
  box-shadow: 0 0 0 0 rgba(49,79,142,.55);
  -webkit-animation: pulseSave 1.5s infinite ease-in-out;
  animation: pulseSave 1.5s infinite ease-in-out;
/*  -webkit-animation-iteration-count: 6;
  animation-iteration-count: 6;*/
}
@keyframes pulseSave{
  to{
    -webkit-box-shadow:0 0 0 6px rgba(49,79,142,0);
    box-shadow:0 0 0 6px rgba(49,79,142,0);
  }
}
.k-grid-toolbar .aa-gridheader-input input{
  height: 30px;
  font-size: 0.875rem;
  width: 75px;
}
.aa-gridheader-input .button.plain {
  color: var(--prog-primary);
  font-size: 0.75rem;
  height: 30px;
  padding: 0 0.25rem 0 0.5rem;
  text-align: center;
  border-radius: 6px;
}
.aa-gridheader-input .aa-hover-group:hover .button.plain
,.aa-gridheader-input .button.plain:hover
,.aa-gridheader-input .button.plain:focus{
  background-color: var(--med-gray);
}
.aa-hover-group:hover{
  cursor:pointer;
}
.k-grid-toolbar .aa-gridheader-input label{
  /*height: 30px;*/
  font-size: 0.875rem;
}
.k-grid-toolbar .aa-gridheader-input .input-group .input-group-label{
  height: 30px;
  padding: 0 6px;
}
.k-grid-toolbar .aa-gridheader-input .input-group{
  margin-bottom:0
}
.k-grid-toolbar .aa-gridheader-input input.plain
,.k-grid-toolbar .aa-gridheader-input input.plain:focus
,.k-grid-toolbar .aa-gridheader-input input.plain:hover{
  background:transparent;
  border:none;
  box-shadow: none;
  
}
.data-lbl{
  font-weight: bold;
  font-size: .8em;
  color: var(--dark-gray);
  margin-bottom: 0;
  line-height: 1;
}
p.data-lbl{
  margin-bottom:0.25rem;
}
.data-det{
  font-size: 1em;
  line-height: 1
}
.data-det.small{
  font-size:0.875rem;
}

i.error
,span.error{
  color: var(--error);
}

span.small,p.small{
  font-size: 80%;
}

button.note{
  padding:0.4em 0.75em;
  margin-bottom:0;
  /*margin-top:-8px;*/
  font-size: 0.875rem;
}
td.ln-rt, th.ln-rt{
  border-right: 1px solid var(--black);
}
.plain{
  background: transparent;
  color: var(--black);
  border: none;
  border-radius: 0;
}
.button.gray{
  border-left:0;
  background: var(--light-gray);
  color: var(--black);
}
.button.gray:hover{
  background: var(--gray);
}

/*.page-header-panel .button
,.panel.grid-filter .filter-action-btn-wrapper .button{
  margin-bottom:0.5rem;
  padding:0.5rem 0.75rem;
}
.page-header-panel .button.hollow{
  border-width: 2px;
}
.page-header-panel .button.primary{
  background: var(--prog-accent);
}
.page-header-panel .button.primary:hover
,.page-header-panel .button.primary:focus{
  background: var(--prog-accent-hover);
}*/
.menu-card {
  box-shadow: 0 2px 3px #999;
  cursor: pointer;
}
.menu-card:hover {
  background-color: #ededed;
  box-shadow: 0 2px 6px #444;
}
/********* FOUNDATION LINK to SPAN  ***********************************************************************************/
.dropdown.menu > li > span.as-link {
    padding: 0.7rem 1rem;
}

.menu a
,.menu span.as-link {
    margin-bottom: 0;
}
.menu a
,.menu span.as-link {
  line-height: 1;
/*  text-decoration: none;*/
  display: block;
  padding: 0.7rem 1rem;
}
/******************************** ACCORDION *********************************/
.accordion-item{
  background:var(--x-light-gray);
}
.accordion-title{
  border-color:var(--gray);
}
:last-child:not(.is-active) > .accordion-title {
  border-bottom-color:var(--gray);
}
/********* STATE INFO *************************************************************************************************/
.state-bar{
  margin-bottom:0.5rem;
  margin-top:-0.627rem;
/*  overflow: hidden;
  display: block;*/
}
span.active-session{
  font-weight: bold;
}
span.active-student{
  font-weight: bold;
}

/***** Login Modal  ************************************/
@media screen and (min-width: 40em){
  #mdlLogin{
    max-width: 400px;
  }
}

/***** Tables *****************************************/
table thead tr th, table tr th{
  font-size:0.9em;
  padding: 0.25rem 0.5rem;
}
table thead{
  background: var(--light-gray);
}

table tbody tr td, table tr td{
  padding: 0.375rem 0.5rem 0.5rem;
}

table.lined tbody tr:not(:last-of-type) td{
  border-bottom: 1px solid #f1f1f1;
}

table.structural, table.structural thead, table.structural tbody
 ,table.structural thead tr, table.structural tbody tr
 ,table.structural thead tr th, table.structural tbody tr td{
   border:0;
   background-color: transparent;
   width:auto;
   padding:0;
 }
 table.structural thead tr.bg-x-lt-gray th
 ,table.structural tbody tr.bg-x-lt-gray td{
   background-color:var(--x-light-gray);
 }
  table.structural.pad-x th, table.structural.pad-x td{
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  table.structural.pad-y th, table.structural.pad-y td{
    padding-top: 0.375rem;
    padding-bottom:0.5rem;
  }
  table.structural.content th,table.structural.content td{
    padding:0.25rem 0.5rem;
  }
table.standard .button{
  padding: 0.375rem 0.75rem;
}
table.row-line-only
,table.row-line-only thead
,table.row-line-only tbody{
  border:none;
}
table.row-line-only thead tr th
,table.row-line-only tbody tr td {
  border-bottom: 1px solid #aaa;
}
table.row-line-only.skip-last-row tbody tr:last-of-type td{
  border-bottom: none;
}
table.structural thead.has-bg tr th{
  background-color:#ddd;
}
table.structural.print-simple
,table.structural.print-simple thead
,table.structural.print-simple tbody{
  border:none;
}
table.structural.print-simple tbody tr td
,table.structural.print-simple thead tr th{
  border-bottom: 1px solid #aaa;
  padding:0.25rem 0.5rem;
}
table.structural.print-simple thead tr th{
  background-color:#e3e3e3;
  font-weight: 500;
  border-top:1px solid #aaa;
}
table.structural.print-simple.skip-last-row tbody tr:last-of-type td{
  border-bottom: none;
}
table.structural.print-simple{
  width:100%
}
table.w-auto{
  width:auto;
}
table thead tr th.w-min
,table tbody tr td.w-min{
  width:1px;
  white-space: nowrap;
}
.can-click{
  cursor: pointer;
}

/***** Responsive Tables *****************************************/
@media screen and (max-width: 39.99875em){
  table.cards-for-small {
      border: 0;
      width: 100% !important;
    }

  table.cards-for-small > thead {
    display: none;
  }

  table.cards-for-small > tbody > tr {
    display: block;
    padding-top:1rem;
    padding-bottom:1rem;
  }

  table.cards-for-small > tbody > tr > td {
    display: block;
    padding:0.25rem 1rem;
    text-align: center
  }
    table.cards-for-small td.class-name {
      font-size:125%;
    }

  table.cards-for-small > tbody > tr > td:last-child {
    border-bottom: 0;
  }

  table.cards-for-small > tbody > tr > td::before {
    content: attr(data-label);
    display:block;
    font-weight: bold;
    font-size: 0.8rem;
    color: #808080;
    margin-bottom: 0;
    line-height: 1.1em;
  }
    table.cards-for-small.label-left > tbody > tr > td::before{
      /* TODO: vertical align label to bottom */
      float:left;
      padding-right:0.5rem;
      padding-top:3px;
/*      min-width:25%;*/
      text-align:left;
    }
    table.cards-for-small.label-left > tbody > tr > td {
      text-align: right;
    }
    table.cards-for-small.label-left > tbody > tr > td.text-center {
      text-align: center;
    }
  
  table.cards-for-small.class-list .button{
    padding:0.5rem 1rem;
  }
  
  table.cards-for-small > tbody > tr > td.data-is-empty{
    display: none;
  }
 
  .card-text-large{
    font-size:1.2em;
  }
}

/***** Customer-Generated Html Reset *****************************************/
.cust-html *{
/*  font-family: Roboto,'Arial','Helvetica',sans-serif !important;*/
  font-size: 1em !important;
  width: 100% !important;
  height: 100% !important;
  /*color: var(--black) !important;*/
}

/*****************************************************************************/

p.tight{
  line-height:1.2;
}
.card .card-divider.v-tight{
  padding-top:0.5rem;
  padding-bottom:0.5rem;
}
.card .card-section.v-tight{
  padding-top:0.5rem;
  padding-bottom:0.5rem;
}
.card .card-divider.h-tight{
  padding-left:0.5rem;
  padding-right:0.5rem;
}
.card .card-section.h-tight{
  padding-left:0.5rem;
  padding-right:0.5rem;
}
.card .card-divider.tight{
  padding:0.5rem;
}
.card .card-section.tight{
  padding:0.5rem;
}
.card.dashboard .card-title {
  padding: 0.5rem 1rem 0 1rem;
  font-weight: 600;
  font-size: 1.125rem;
}

.card.dashboard {
  border-radius: 6px;
  box-shadow: #ccc 0 0 6px 2px;
}
.menu-card{
  box-shadow: 0 2px 3px #999;
  cursor: pointer;
}
.menu-card:hover{
    background-color:#ededed;
    box-shadow: 0 2px 6px #444;
  }
  .menu-card.inactive:hover{
    background-color:#f4f5f7;
  }
.menu-card.inactive *{
  cursor:not-allowed;
}  
.card-panel{
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px;
  border:none;
}
.card-panel .card-divider{
  padding-top:0.5rem;
  padding-bottom:0.5rem;
  color:var(--white);
  font-weight: 600;
  font-size: 0.9375rem;
}
.card-panel .card-section{
  border-top:none;
  border-right:1px solid #ddd;
  border-bottom:1px solid #ddd;
  border-left:1px solid #ddd;
  transition: background-color .2s ease-in;
}
.card-panel .card-section:not(:last-of-type){
  border-top:none;
  border-bottom:none;
}
.card-panel.can-click:hover{
  box-shadow: 0 0 8px #aaa;
  cursor:pointer;
  transition: box-shadow .2s ease-in;
}
.card-panel.can-click:hover .card-section{
  background-color: var(--x-light-gray);
  transition: background-color .2s ease-in;
}
.card-panel.can-click:hover > .bg-cust-a ~ .card-section{
  background-color: var(--panel-bg-cust-a-10);
}
.card-panel.can-click:hover > .bg-cust-b ~ .card-section{
  background-color: var(--panel-bg-cust-b-10);
}
.card-panel.can-click:hover > .bg-cust-c ~ .card-section{
  background-color: var(--panel-bg-cust-c-10);
}
.card-panel.can-click:hover > .bg-cust-d ~ .card-section{
  background-color: var(--panel-bg-cust-d-10);
}
.card-panel.can-click:hover > .bg-cust-e ~ .card-section{
  background-color: var(--panel-bg-cust-e-10);
}
.card-panel.can-click:hover > .bg-cust-f ~ .card-section{
  background-color: var(--panel-bg-cust-f-10);
}
.card-panel.can-click:hover > .bg-cust-f ~ .card-section{
  background-color: var(--panel-bg-cust-f-10);
}
.card-panel.can-click:hover > .bg-cust-g ~ .card-section{
  background-color: var(--panel-bg-cust-g-10);
}
.card-panel.can-click:hover > .bg-cust-x ~ .card-section{
  background-color: var(--panel-bg-cust-x-10);
}
.card-panel.can-click .card-hover-icon{
  margin:0;
  padding:0;
  font-size:18px;
  color:transparent;
  transition: color .2s ease-in;
}
.card-panel.can-click:hover .card-hover-icon{
  color:inherit;
}
.keylines{
  border-top: 1px solid var(--gray);
  border-bottom: 1px solid var(--gray);
  line-height: 1;
  padding-top:0.562em;
  padding-bottom:0.5em;
}
.pre-badge{
  margin-right:0.5em;
}
.badge.rectangle{
  border-radius: 3px;
  background: var(--accent-color);
  color: var(--accent-color-text);
  margin-right:0;
  margin-left:0.5rem;
  padding-left:0.375em;
  padding-right:0.375em;
}
.badge{
  font-weight: 500;
  margin-right:0.25rem;
  padding: 1px 4px;
  font-size:0.6875rem;
  letter-spacing: 0.2px;
  margin-right:0.25rem;
  min-width: 1.1em;
  border-radius: 3px;
  cursor: default;
}
.badge.info{
  background: var(--badge-info-bg);
  color: var(--badge-info-color);
  border: 1px solid var(--badge-info-border);
  
}
.badge.ebs{
  background: var(--badge-ebs-bg);
  color: var(--badge-ebs-color);
  border: 1px solid var(--badge-ebs-border);
  margin-left:0.5rem;
  margin-right:0;
/*  padding-left:4px;
  padding-right:0.375em;*/
  cursor: default;
}
.badge.red{
  background: var(--badge-red-bg);
  color: var(--badge-red-color);
  border: 1px solid var(--badge-red-border);
}
.badge:last-of-type{
  margin-right: 0;
}
.badge.gray{
  background: var(--dark-gray);
  color: var(--white);
}
.badge.badge-a
,.badge.tag-a{
  border:1px solid var(--badge-a-border);
  background-color:var(--badge-a-bg);
  color:var(--badge-a-color);
}
.badge.badge-c
,.badge.tag-c{
  border:1px solid var(--badge-c-border);
  background-color:var(--badge-c-bg);
  color:var(--badge-c-color);
}
.badge.badge-e
,.badge.tag-e{
  border:1px solid var(--badge-e-border);
  background-color:var(--badge-e-bg);
  color:var(--badge-e-color);
}
.badge.badge-gold
,.badge.tag-gold{
  border:1px solid #ccac00;
  background-color:#f1e9be;
  color:#7f6b00;
}
  
/*** MENUS *******************************************************************/
.menu.stacked-data:last-of-type{
  margin-bottom: 0.25rem;
}
  .menu.stacked-data li{
    margin-bottom:0.75rem;
  }
  .menu.stacked-data li:not(:last-of-type){
    padding-right:1.75rem;
  }
  .menu.stacked-data .data-lbl, .menu.stacked-data .data-det{
    display:block;
  }
  .menu.stacked-data .data-lbl{
    margin-bottom:0.1875rem;
  }
.menu.inline-data:last-of-type{
  margin-bottom: 0.25rem;
}
  .menu.inline-data li{
    margin-bottom:0.75rem;
  }
  .menu.inline-data li:not(:last-of-type){
    padding-right:1.75rem;
  }
  .menu.inline-data .data-lbl{
    padding-right:0.5em;
  }
  
  
/*** FORMS *******************************************************************/  
select.disabled,input.disabled,textarea.disabled{
  color:var(--dark-gray);
  background-color: var(--light-gray);
  cursor: not-allowed;
}
select.small {
  height: 2rem;
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  font-size: 0.875rem;
}
textarea{
  resize: vertical;
}
textarea.fixed{
  resize:none;
}
input[type=number].show-spinner::-webkit-inner-spin-button, 
input[type=number].show-spinner::-webkit-outer-spin-button { 
  -webkit-appearance: inner-spin-button !important;
}
input[type=number]::-webkit-outer-spin-button, 
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none; 
  margin: 0; 
}
input.show-cal{
  background: url('/img/studioworks/calendar-medgray.png') no-repeat right;
  background-origin: content-box;
}
.input-group-label.plain{
  padding-left:0;
  padding-right:1rem;
}
.input-group-label.plain + input.input-group-field{
  border-radius: 3px;
}
.input-group.text-between > .input-group-label{
  background-color:transparent;
  border:none;
  padding-left:0.75rem;
  padding-right:0.75rem;
}
.input-group.text-after > .input-group-label{
  background-color:transparent;
  border:none;
  padding-left:0.75rem;
  padding-right:0;
}
.input-group.text-between > .input-group-field
,.input-group.text-after > .input-group-field{
  border-radius: 3px;
}
.input-group .input-group-label.cozy{
  padding: 0 0.5rem;
}
.input-group .input-group-label.tight{
  padding: 0 0.375rem;
}

input[type=checkbox] {
  margin: 0;
  padding: 0;
  line-height: initial;
  border-width: 1px;
  border-style: solid;
  outline: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  -ms-flex: none;
  flex: none;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border-color: rgba(0,0,0,.25);
  background-color: #fff;
  border-radius: 3px;
}
input[type=checkbox]:focus
,input[type=radio]:focus{
  border: 1px solid var(--prog-primary);
  box-shadow: 0 0 0 2px rgb(92 123 203 / 20%);
}
input[type=checkbox].checked, input[type=checkbox]:checked {
  border-color: #5c7bcb;
  color: #fff;
  background-color: #5c7bcb;
}
input[type=checkbox].k-checked, input[type=checkbox]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='white' stroke-linecap='square' stroke-linejoin='square' stroke-width='2' d='M3,8 l3,3 l7-7'/%3e%3c/svg%3e");
}
input[type=checkbox]:checked:focus {
  box-shadow: 0 0 0 2px rgb(92 123 203 / 30%);
}
input[type=checkbox] + label{
  margin: 0;
  padding: 0;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 6px;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
}
input[type=checkbox] + label{
  display: inline;
  -webkit-margin-start: 6px;
  margin-inline-start: 6px;
}



input[type=radio].checked, input[type=radio]:checked {
  border-color: #5c7bcb;
  color: #fff;
  background-color: #5c7bcb;
}
input[type=radio].checked, input[type=radio]:checked {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3e%3ccircle cx='50%25' cy='50%25' r='4' fill='white'/%3e%3c/svg%3e");
}
.k-radio.k-checked.k-focus, .k-radio:checked:focus {
  box-shadow: 0 0 0 2px rgb(92 123 203 / 30%);
}
input[type=radio] {
  border-color: rgba(0,0,0,.25);
  background-color: #fff;
}
input[type=radio] {
  border-radius: 50%;
  margin: 0;
  padding: 0;
  line-height: initial;
  border-width: 1px;
  border-style: solid;
  outline: 0;
  box-sizing: border-box;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: inline-block;
  -ms-flex: none;
  flex: none;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
}
input[type=radio] + label{
  margin: 0;
  padding: 0;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 4px;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
}
input[type=radio] + label{
  display: inline;
  -webkit-margin-start: 4px;
  margin-inline-start: 4px;
}






/*** SHAPES *****************************************************************/
.arrow-up {
  width: 0; 
  height: 0; 
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid var(--black);
}
.arrow-up.inactive {
  border-bottom: 6px solid var(--gray);
}
.arrow-down {
  width: 0; 
  height: 0; 
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid var(--black);
}
.arrow-down.inactive {
  border-top: 6px solid var(--gray);
}
.arrow-right {
  width: 0; 
  height: 0; 
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 6px solid var(--black);
}
.arrow-right.inactive {
  border-left: 6px solid var(--gray);
}
.arrow-left {
  width: 0; 
  height: 0; 
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent; 
  border-right:6px solid var(--black); 
}
.arrow-left.inactive {
  border-right:6px solid var(--gray); 
}

/*** DROPDOWN PANE **********************************************************/
.dropdown-pane{
  box-shadow: #cccccc 0px 2px 4px;
}
.dropdown-pane p:last-of-type{
  margin-bottom:0;
}

/*** QUICKLINKS & CARD OPTS MENU **********************************************************/
ul.menu.quick-links {
  border: 1px solid var(--gray);
  margin-bottom: 0.5em;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  border-radius:3px;
}
ul.quick-links li{
  font-size: 0.875em;
}
ul.quick-links li.ql-title {
  font-weight: bold;
  font-weight: 500;
  background: var(--light-gray);
  padding:0.25em 0.75em;
}
ul.quick-links li a {
  padding: 0.5em 1em;
}
ul.quick-links li a:hover
,ul.quick-links li a:focus{
  text-decoration: underline;
}
ul.menu.card-opts li {
  padding: 0.7rem 1rem;
  font-size: 0.9175rem;
}
ul.card-opts li span.as-link {
  padding: 0;
}
ul.menu.card-opts li:first-of-type {
  padding-left: 0;
}
.card-opts:last-child {
  margin-bottom: -0.2rem;
}
/*** GRIDS **********************************************************/
table td.grid-thumb{
  padding-top:4px;
  padding-bottom:4px
}
td.grid-thumb img{
  height:28px;
  width:28px;
  object-fit:contain;
}
.k-editable tr.k-master-row td.aa-grid-chkbx{
  text-align:center;vertical-align:middle;line-height:15px
}

/*** TAGS **********************************************************/
.tag{
  border-radius:80px;
  margin-right:8px;
  margin-bottom:10px;
  background-color: #ededed;
  color: #646464;
  display:inline-block;
  line-height: 20px;
  padding:3px 8px 3px 9px;
  font-size:13px;
  font-weight: normal;
}
.tag.has-tip{
  position: relative;
  display: inline-block;
  border-bottom: none;
  font-weight: normal;
  cursor: default;
}
.tag i{
  display: inline-block;
  margin-right: 5px;
  line-height: 20px;
}
.tag .title{
  font-weight: 600;
  margin-right: 5px;
  line-height: 20px;
}
.tooltip.tag-tooltip{
  padding:0.5em;
  z-index:999999
}
.tag a
,.tag a:visited
,.tag .as-link{
  color:inherit;
  text-decoration: none;
}
.tag a:hover
,.tag a:focus
,.tag .as-link:hover{
  color:var(--link-color);
  text-decoration: underline;
}
.tag i.fa-check.pad-rt{
  padding-right:0;
}
.tag-nobo{
  border-bottom:none !important;
}
/*.page-header-panel div.tag i{
  font-size:1.2em;
}*/


/*** TEXT VARIATIONS **********************************************************/
.button
,a
,.can-click {
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
/*    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;*/
}
.button:focus
,a:focus
,.can-click:focus {
    outline: none !important;
}
/*** TEXT VARIATIONS **********************************************************/
.content-ph{
  font-size: 125%;
  line-height: 1.6;
  font-weight: 300;
  margin-top:2em;
  text-align:center;
}



.k-grid table tbody tr td a
,.k-grid table tbody tr td .as-link{
    font-weight: 500;
    letter-spacing: 0;
    font-size: 14px;
}


.aa-btn-group
,.aa-button-group{
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
}
.aa-btn-group .button
,.aa-btn-group button
,.aa-button-group .button
,.aa-button-group button{
  margin-right:0.75rem;
  margin-bottom:0.5rem;
}
.aa-btn-group .button:last-child
,.aa-btn-group button:last-child
,.aa-button-group .button:last-child
,.aa-button-group button:last-child{
  margin-right: 0;
}

.k-grid td .aa-button-group .button
,.k-grid td .aa-button-group button
,.k-grid td .aa-btn-group .button
,.k-grid td .aa-btn-group button{
  margin-bottom:0;
}
.k-grid td .aa-grid-list-item {
  margin-top: 4px;
}
.k-grid td .aa-grid-list-item:first-of-type {
  margin-top: 0;
}
.k-notification-wrap>.k-icon {
  margin-top:2px;
}

.img-upload-preview img{
  max-height:100px;
  max-width:300px;
  /*border:1px solid var(--dark-gray);*/
  margin-bottom:1.5rem;
}
/* **** Header Panel **************************************************************************************************/
.title-group{
  margin-bottom:12px;
}
.title-group h1
,.title-group h2
,.title-group h3{
  display:inline-block;
  margin-bottom:0;
  vertical-align:top;
  color:#6e6e6e;
  font-size: 1.3125rem;
  line-height: normal;
}
.reveal .title-group h1, .reveal .title-group h2, .reveal .title-group h3 {
  display: inline-block;
  margin-bottom: 0;
  vertical-align: top;
  color: #444444;
  font-size: 1.4375rem;
  line-height: normal;
}
.title-group h1{
  font-weight: 600;
  color:#555;
}
.title-group h2{
  font-weight: 500;
}
.title-group h3{
  font-weight: 400;
}
.title-group > h1
,.title-group > h2
,.title-group > h3{
  padding:0 0.5rem !important;
  border-right: 1px solid #bbb;
}
.title-group > *:last-child
,.title-group > h3{
  border-right: none;
}
.title-group > *:first-child{
  padding-left:0 !important;
}

/* **** Header Panel Buttons ******************************************************************************************/
.header-btn
,.page-header-panel .btn-note
,.page-header-panel .btn-msg{
  font-size:0.875rem;
  padding:0.5rem 0.75rem;
  margin: 0 0.75rem 0.75rem 0;
  font-weight:500;
  border-width:2px;
}
.header-btn
,.header-btn[disabled]
,.header-btn[disabled]:hover
,.header-btn[disabled]:focus
,.btn-default[disabled]
,.btn-default[disabled]:hover
,.btn-default[disabled]:focus{
  background-color: var(--header-btn-bg);
  color: var(--header-btn-color);
}
.header-btn:hover
,.header-btn:focus
,.btn-default:hover
,.btn-default:focus{
  background-color: var(--header-btn-bg-hover);
  color: var(--header-btn-color-hover);
}
.header-btn:disabled
,.header-btn.disabled
,.btn-default[disabled]
,.btn-default.disabled{
  opacity:65%;
  cursor:not-allowed;
}
/*.header-btn.has-tip {
  border-bottom-style: solid;
  border-bottom-color: transparent;
}*/
.button.action-btn{
  border-width:2px;
  padding: 0.5rem 0.6rem;
  text-align: left;
  margin-bottom:1rem;
  width:100%;
  border: 2px solid var(--button-bg-color);
  background-color: var(--button-bg-color-light);
  color: var(--button-bg-color);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.button.action-btn.aa-has-dropdown::after{
  content: "\f0d7";
  font: var(--fa-font-solid);
  font-size: 1.25rem;
  margin-left: auto;
  padding-right: 0.25rem;
  padding-left: 0.75rem;
}
.action-btn-pane {
  width: 200px;
}
.action-btn-pane ul li + li {
  border-top: 1px solid var(--gray);
}
.action-btn-pane ul li .as-link, .action-btn-pane ul li a {
  font-size: 0.875rem;
  font-weight: 500;
}
.action-btn-pane ul li .as-link:hover, .action-btn-pane ul li a:hover {
    background-color: var(--prog-primary-light);
    /*background-color: var(--light-gray);*/
}
.button.action-btn:visited{
  background-color: var(--button-bg-color-light);
  color: var(--button-bg-color);
}
.button.action-btn:hover, .button.action-btn:focus {
  background-color: var(--button-bg-color-light-hover);
  color: var(--button-color);
}
.button.action-btn.delete{
  background-color: var(--delete-light);
  color: var(--delete);
  border-color: var(--delete);
}
.button.action-btn.delete:hover
,.button.action-btn.delete:focus{
  background-color: var(--delete-light-hover);
  color: var(--white);
  border-color: var(--delete);
}
.button.action-btn > i{
  font-size: 1.25rem;
  font-weight: 700;
  padding-right:0;
}
.button.action-btn > .action-btn-text{
  padding-left:0.5rem;
}
#EmailAddrList-list .k-no-data{
  padding:0;
  min-height:16px;
}
#EmailAddrList-list #btnAddCustomEmail{
  padding:3px 6px;
  width:100%;
  background-color:white;
  text-align:left;
  line-height: 1.3
  /*border:2px solid lightgray;*/
}
#EmailAddrList-list #btnAddCustomEmail:hover
,#EmailAddrList-list #btnAddCustomEmail:focus{
  background-color:var(--light-gray);
}
#EmailAddrList-list li.k-list-item.k-focus{
  background-color:cornsilk;
  /*border-color:transparent;*/
  box-shadow: none;
}
.page-header-panel .aa-btn-group
,.page-header-panel .aa-button-group{
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.page-header-panel .aa-btn-group .button
,.page-header-panel .aa-btn-group button
,.page-header-panel .aa-button-group .button
,.page-header-panel .aa-button-group button{
  margin-left:0.75rem;
  margin-right: 0;
  margin-bottom:0.5rem;
}
.page-header-panel .aa-btn-group .button:first-child
,.page-header-panel .aa-btn-group button:first-child
,.page-header-panel .aa-button-group .button:first-child
,.page-header-panel .aa-button-group button:first-child{
  margin-left: 0;
}
.page-header-panel .aa-button-group .header-btn{
  margin-bottom: 0.75rem;
}
.grid-filter .panel-header .aa-button-group .header-btn{
  margin-bottom:0;
}
.btn-cancel
,.btn-delete
,.header-btn.btn-delete
,.btn-cancel-red{
  border-width: 2px;
  border-style: solid;
}
.button.btn-delete:hover
,.button.btn-delete:focus
,.button.hollow.btn-delete:focus{
  background-color: var(--error);
  border-color: var(--error);
  color: var(--white);
}
.btn-delete,.btn-delete.disabled,.btn-delete[disabled],.btn-delete[disabled]:hover,.btn-delete[disabled]:focus{
  border-color: var(--error);
  background-color: transparent;
  color: var(--error);
}
/*.header-btn.btn-delete::before
,.header-btn.btn-cancel::before{*/
.btn-cancel::before
,.btn-cancel-red::before{
  content:"\f00d";
  padding-right:6px;
  font:var(--fa-font-solid);
}
.btn-delete::before{
  content:"\f1f8";
  padding-right:6px;
  font:var(--fa-font-solid);
}

/*.header-btn.btn-accent
,.header-btn.btn-continue
,.header-btn.btn-save{*/
.btn-accent,.btn-accent.disabled,.btn-accent[disabled],.btn-accent[disabled]:hover,.btn-accent[disabled]:focus
,.btn-continue,.btn-continue.disabled,.btn-continue[disabled],.btn-continue[disabled]:hover,.btn-continue[disabled]:focus
,.btn-download,.btn-download.disabled,.btn-download[disabled],.btn-download[disabled]:hover,.btn-download[disabled]:focus
,.btn-upload,.btn-upload.disabled,.btn-upload[disabled],.btn-upload[disabled]:hover,.btn-upload[disabled]:focus
,.btn-save,.btn-save.disabled,.btn-save[disabled],.btn-save[disabled]:hover,.btn-save[disabled]:focus
,.btn-print-accent,.btn-print-accent.disabled,.btn-print-accent[disabled],.btn-print-accent[disabled]:hover,.btn-print-accent[disabled]:focus{
  background-color: var(--prog-accent);
  color: #ffffff;
}
/*.header-btn.btn-continue::after{*/
.btn-continue::after
,.btn-continue-secondary::after{
  content:"\f054";
  /*content:"\f324";*/
  padding-left:6px;
  font:var(--fa-font-solid);
}
.btn-download::before
,.btn-download-secondary::before{
  content:"\f56d";
  padding-right:6px;
  font:var(--fa-font-solid);
}
.btn-upload::before
,.btn-upload-secondary::before{
  content:"\f093";
  padding-right:6px;
  font:var(--fa-font-solid);
}
.btn-save::before{
  content:"\f00c";
  padding-right:6px;
  font:var(--fa-font-solid);
}
.button.btn-save:hover
,main .button.btn-save:focus
,.button.btn-continue:hover
,main .button.btn-continue:focus
,.button.btn-download:hover
,main .button.btn-download:focus
,.button.btn-upload:hover
,main .button.btn-upload:focus
,.button.btn-accent:hover
,main .button.btn-accent:focus
,.button.btn-print-accent:hover
,main .button.btn-print-accent:focus{
  background-color: var(--prog-accent-hover);
}

.header-btn.btn-task::before{
  content:"\f14a";
  padding-right:6px;
  font:var(--fa-font-regular);
}

/*.header-btn.btn-add::before{*/
.btn-add::before{
  content:"\2b";
  padding-right:6px;
  font:var(--fa-font-solid);
}

/*.header-btn.btn-edit::before{*/
.btn-edit::before
,.btn-edit-secondary::before{
  content:"\f303";
  padding-right:6px;
  font:var(--fa-font-solid);
}

/*.header-btn.btn-external::before{*/
.btn-external::before{
  content:"\f08e";
  padding-right:6px;
  font:var(--fa-font-solid);
}

/*.header-btn.btn-refresh::before{*/
.btn-refresh::before{
  content:"\f01e";
  padding-right:6px;
  font:var(--fa-font-solid);
}

/*.header-btn.btn-print::before{*/
.btn-print::before
,.btn-print-accent::before{
  content:"\f02f";
  padding-right:6px;
  font:var(--fa-font-solid);
}

button.button.btn-note::before{
  content: '\e1da';
  padding-right:6px;
  font:var(--fa-font-regular);
}
button.button.btn-msg::before{
  content: '\f4b6';
  padding-right:6px;
  font:var(--fa-font-solid);
}

button.button.btn-note{
  color: #6e5609;
  background-color: #fff0b3;
  border: 2px solid #f3d986;
}

button.button.btn-note:hover
,button.button.btn-note:focus{
  background-color:#f3d986;
  border-color: #d7bf75;
}

button.button.btn-note:disabled
,button.button.btn-note:disabled:hover{
  opacity: 0.6;
  background-color:#f3d986;
  color:initial;
}

button.button.btn-msg{
  /*color: #2a5924;*/
  color: #21441c;
  background-color: #dde8dc;
  border: 2px solid #90b58b;
}

button.button.btn-msg:hover
,button.button.btn-msg:focus{
  background-color:#b9d0b6;
}

button.button.btn-msg:disabled
,button.button.btn-msg:disabled:hover{
  opacity: 0.6;
  background-color:#dde8dc;
  border-color: #90b58b;
  color:initial;
}

/*.header-btn.btn-secondary
,.header-btn.btn-task
,.header-btn.btn-cancel
,.header-btn.btn-print
,.header-btn.btn-refresh
,.header-btn.btn-external{*/
.btn-secondary
,.btn-edit-secondary
,.btn-continue-secondary
,.btn-download-secondary
,.btn-upload-secondary
,.btn-task
,.btn-cancel
,.btn-cancel-red
,.btn-print
,.btn-refresh
,.btn-external{
  border: 2px solid var(--header-btn-bg);
  background: transparent;
  color: var(--header-btn-bg);
}
.btn-secondary[disabled]
,.btn-task[disabled]
,.btn-cancel[disabled]
,.btn-cancel-red[disabled]
,.btn-edit-secondary[disabled]
,.btn-continue-secondary[disabled]
,.btn-download-secondary[disabled]
,.btn-upload-secondary[disabled]
,.btn-print[disabled]
,.btn-refresh[disabled]
,.btn-external[disabled]{
  background: transparent;
  color: var(--header-btn-bg);
}
/*.header-btn.has-tip{*/
.has-tip{
  cursor: pointer;
}
/*.header-btn.btn-secondary:hover
,main .header-btn.btn-secondary:focus
,.header-btn.btn-task:hover
,main .header-btn.btn-task:focus
,.header-btn.btn-cancel:hover
,main .header-btn.btn-cancel:focus
,.header-btn.btn-print:hover
,main .header-btn.btn-print:focus
,.header-btn.btn-refresh:hover
,main .header-btn.btn-refresh:focus
,.header-btn.btn-external:hover
,main .header-btn.btn-external:focus{*/
.header-btn.btn-secondary:hover
,main .header-btn.btn-secondary:focus
,.header-btn.btn-task:hover
,main .header-btn.btn-task:focus
,.header-btn.btn-edit-secondary:hover
,main .header-btn.btn-edit-secondary:focus
,.header-btn.btn-continue-secondary:hover
,main .header-btn.btn-continue-secondary:focus
,.header-btn.btn-download-secondary:hover
,main .header-btn.btn-download-secondary:focus
,.header-btn.btn-upload-secondary:hover
,main .header-btn.btn-upload-secondary:focus
,.header-btn.btn-cancel:hover
,main .header-btn.btn-cancel:focus
,.header-btn.btn-print:hover
,main .header-btn.btn-print:focus
,.header-btn.btn-refresh:hover
,main .header-btn.btn-refresh:focus
,.header-btn.btn-external:hover
,main .header-btn.btn-external:focus{
  border: 2px solid var(--header-btn-bg);
  /*background: var(--header-btn-bg);*/
  background: var(--header-btn-secondary-bg-hover);
  color: #ffffff;
}
.btn-task[disabled]{
  background: var(--header-btn-secondary-bg-hover);
}
.btn-kill-before::before{
  content:"" !important;
  padding-right:0 !important;
}
/*.page-header-panel .button.btn-delete{
  border-width: 2px;
}
.page-header-panel .button
,.panel.grid-filter .filter-action-btn-wrapper .button{
  margin-bottom:0.5rem;
  padding:0.5rem 0.75rem;
}
.page-header-panel .button.hollow{
  border-width: 2px;
}
.page-header-panel .button.primary{
  background: var(--prog-accent);
}
.page-header-panel .button.primary:hover
,.page-header-panel .button.primary:focus{
  background: var(--prog-accent-hover);
}*/
.grid-filter .panel-header i.title-icon.has-tip
,.page-header-panel i.title-icon.has-tip {
  border-bottom: none;
}
.grid-filter .panel-header i.title-icon
,.page-header-panel i.title-icon {
  font-size: 1.25rem;
}
.grid-filter .panel-header .title-group
,.page-header-panel .title-group{
  margin-bottom:0;
}
.page-header-panel .header-left-bottom{
  margin-top:0.75rem;
}
.page-header-panel .title-group .header-title-link.as-link{
  font-size: 0.875rem;
  padding-left:0.5rem;
}
.page-header-panel .page-header-wrapper{
  min-height:46px;
}
body.large-font .page-header-panel .header-tag-wrapper .tag {
    font-size: 0.9375rem;
}
.k-grid table button.button.order-line-note
,.k-grid table a.button.order-line-note
,.k-grid table button.button.aa-clear{
  background-color: transparent;
  color: var(--primary-color);
  font-size: 1rem;
  padding: 0.25rem;
  border-radius: 3px;
}
.k-grid table button.button.aa-clear{
  font-size:0.875rem;
}
.k-grid table button.button.order-line-note > i
,.k-grid table .button.order-line-note > i
,.k-grid table button.button.aa-clear > i{
  margin:0;
  padding:0;
}
.k-grid table button.button.aa-clear:hover > i
,.k-grid table a.button.aa-clear:hover > i{
  font-weight:bold;
}
.k-grid table button.button.order-line-note:hover
,.k-grid table a.button.order-line-note:hover
,.k-grid table button.button.aa-clear:hover{
  background-color: rgba(49,79,142,0.15);
}

.disc-markup{
  color: var(--stat-increase-color);
}
.disc-markdown{
  color: var(--error);
}
.k-grid .k-master-row .button.as-link{
  padding:0;
}

.info-dropdown-header{
  background-color: var(--workspace-bg-color);
}
.info-dropdown-header a{
  color: var(--white) !important;
}
/* == Order/Invoice context menu ==================================================================================== */
.context-dropdown-panel{
  font-size:0.875rem;
  padding-top:0;
  padding-bottom:0;
  box-sizing:content-box;
  text-align:left;
}
.context-dropdown-panel .info-dropdown-header{
  background-color:var(--workspace-bg-color);
  margin-bottom:1rem;
}
.context-dropdown-panel.aa-note-panel .info-dropdown-header{
  margin-bottom:0.5rem;
}
.aa-note-panel .note-text{
  max-height:120px;
  overflow-y: auto;
  margin-bottom:1rem !important;
}
.context-dropdown-panel .info-dropdown-header button {
  color: var(--white);
  padding: 0.375rem 0.5rem;
  margin:0 0.125rem;
  /*border-radius: 0;*/
  cursor:pointer;
}
.context-dropdown-panel .info-dropdown-header button:hover{
  background-color: rgba(255,255,255,0.18);
  color: #ffffff;
}
.context-dropdown-panel .info-dropdown-header button:last-of-type {
  margin-right:-0.5rem;
}
.context-dropdown-panel .data-lbl{
  font-weight: 500;
  font-size: 0.75rem;
  display: block;
  margin-bottom:4px;
  /*letter-spacing: 0.3px;*/
}
.context-dropdown-panel .data-det{
  font-size: 0.875rem;
  margin-bottom:12px;
  display: block;
}
.context-dropdown-panel .data-det a{
  font-weight: normal;
}

@media screen and (min-width: 93.75em) {
  #panel-invoicetotals .stat-wrapper.stat-small.aa-shrink h1{
    font-size:1.375rem;
  }
}
@media screen and (min-width: 64em) and (max-width: 93.75em) {
  #panel-invoicetotals .stat-wrapper.stat-small.aa-shrink h1{
    font-size:1.1rem;
  }
}

/* Grid Option Context Menu ========================================================================================= */
.grid-opt-context-menu{
  padding:0;
  width:200px;
  background:rgb(250,250,250);
}
.grid-opt-context-menu table{
  width:100%;
}
.grid-opt-context-menu table tbody tr.header{
  /*background:var(--gray-text);*/
  background:var(--workspace-bg-color);
}
.grid-opt-context-menu table tbody tr.header > td{
  color: var(--white);
  text-align: center;
  font-size:0.875rem;
  font-weight: 600;
  padding:3px 0.5rem;
}
.grid-opt-context-menu table tbody tr.can-click:hover
,.grid-opt-context-menu table tbody tr.can-click:focus{
  background-color:var(--med-gray);
}
.grid-opt-context-menu table tbody tr td:first-child{
  padding-right:0.375rem;
  padding-left:0.5rem;
  width:1px;
  white-space:nowrap;
}

/* Grid add form =============================================================================================== */
form.aa-grid-form-add .input-group-label {
  padding: 0 0.5rem;
}
form.aa-grid-form-add .k-dropdownlist {
  height: 2.4375rem;
  border: 1px solid #cacaca;
  background-color: #fefefe;
}
/*form.aa-grid-form-add input{
  font-size:0.875rem
}*/
form.aa-grid-form-add .k-combobox.k-focus{
  border: 1px solid #8a8a8a !important;
  box-shadow: 0 0 5px #cacaca;
}
form.aa-grid-form-add .k-combobox.k-focus .k-input-inner{
  border: none;
}
form.aa-grid-form-add .k-combobox .k-input-inner{
  box-shadow:none;
}

.panel-body .aa-grid-form-add input[type=text]
,.panel-body .aa-grid-form-add input[type=number]
,.panel-body .aa-grid-form-add input[type=email]
,.panel-body .aa-grid-form-add input[type=date]
,.panel-body .aa-grid-form-add .k-dropdownlist
,.panel-body .aa-grid-form-add .k-combobox

,form.aa-cozy input[type=text]
,form.aa-cozy input[type=number]
,form.aa-cozy input[type=email]
,form.aa-cozy input[type=date]
,form.aa-cozy .k-dropdownlist
,form.aa-cozy .k-combobox{
  height: 32px;
  font-size:0.875rem;
}
.panel-body .aa-grid-form-add .button
,form.aa-cozy .button{
  height:36px;
  margin-bottom:1rem;
  padding-top:0.5rem;
  padding-bottom:0.5rem;
}
.panel-body .aa-grid-form-add input[type=radio]
,.panel-body .aa-grid-form-add input[type=checkbox]
,form.aa-cozy input[type=radio]
,form.aa-cozy input[type=checkbox]{
  margin-top:6px
}
.panel-body .aa-grid-form-add span.input-group-label{
  padding-left:8px;
  padding-right:8px;
}



/* CalcTape Dropdown Pane =========================================================================================== */
.aa-calcTape {
  max-width:125px;
  box-shadow: #808080 0px 3px 6px;
}
.aa-calcTape textarea{
  margin-bottom:0;
  text-align:right;
  box-shadow: none;
  border-color:var(--gray);
  font-size:0.875rem;
  max-height:8rem;
  min-height:4rem;
  resize:none;
  /*transition: height 0.5s ease-in-out;*/
}
.aa-calcTape .dp-header {
  background-color: var(--gray-text);
  margin-left:-1rem;
  margin-right:-1rem;
  padding:3px 0;
}
.aa-calcTape .dp-header p {
  color:var(--white);
  margin:0;
  font-weight: 500;
}

/* Dropdown Pane Menu =============================================================================================== */
.aa-dropdown-menu{
  padding:0;
}
.aa-dropdown-menu > table{
  width:100%;
  margin:0
    
}
.aa-dropdown-menu > table tbody tr.header > td{
  color: var(--white);
  text-align: center;
  /*font-size:0.875rem;*/
  font-weight: 600;
  padding:3px 0.5rem;
}
.aa-dropdown-menu > table tbody tr:hover
,.aa-dropdown-menu > table tbody tr:focus{
  /*background-color:var(--med-gray);*/
  background-color:var(--prog-primary-light);
  cursor:pointer;
}
.aa-dropdown-menu tbody tr td:first-child{
  padding-left:1rem;
}
.aa-dropdown-menu > table tbody tr td.aa-dropdown-menu-icon{
  padding-right:0.375rem;
  width:1px;
  white-space:nowrap;
}
/* ================================================================================================================== */

.aa-scrollable{
  overflow-y: auto;
  height:7rem;
  border:1px solid var(--gray);
}
.aa-scrollable .scroll-content{
  padding:0.5rem;
}

.aa-radio-btn {
  padding: 0.5rem 1rem;
  border: 1px solid var(--gray);
}
.aa-radio-btn ~ .aa-radio-btn{
  border-top: none;
}
.aa-radio-btn.aa-selected{
  border:1px solid var(--prog-primary);
  background-color: var(--prog-primary-light)
}
.aa-radio-btn p {
  margin-bottom: 0;
  margin-left: 25px;
}
.aa-radio-btn input[type=radio] + label {
  margin-inline-start: 8px;
  font-size: 1rem;
}
.aa-radio-btn.aa-selected input[type=radio] + label {
  font-weight: 500;
}
.aa-radio-btn:first-of-type {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
.aa-radio-btn:last-of-type {
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}

.aa-radio-btn.aa-before-sel{
  border-bottom: none;
}

.task-ctrl-pane ul li a
,.k-grid tr td .task-ctrl-pane ul li a{
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  color: var(--black);
  font-weight: normal;
  text-align: left;
}
.task-ctrl-pane ul li
,.k-grid tr td .task-ctrl-pane ul li{
  border-bottom:1px solid var(--med-gray);
}

/* Logic in process, do not delete  =======================================================================
.fh-wrapper
,.do-fh{
  height:100%;
  // overflow-y:hidden;
}
.fh-wrapper .panel.do-fh .panel-body{
  height: calc(100% - 46px);
  // overflow-y:hidden;
}
*/