@font-face {
    font-family: 'SouthwestSans-Bold';
    src: url('/s/sfsites/c/resource/Southwest_Sans/SouthwestSans-Bold.otf');
}
@font-face {
    font-family: 'SouthwestSans-Light';
    src: url('/s/sfsites/c/resource/Southwest_Sans/SouthwestSans-Light.otf');
}
@font-face {
    font-family: 'SouthwestSans-Medium';
    src: url('/s/sfsites/c/resource/Southwest_Sans/SouthwestSans-Medium.otf');
}
@font-face {
    font-family: 'SouthwestSans-Regular';
    src: url('/s/sfsites/c/resource/Southwest_Sans/SouthwestSans-Regular.otf');
}

/* ********  BUTTONS *********** */
.base-button{
    padding:4px 16px;
}
.button-primary{
    font-family: 'SouthwestSans-Bold';
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    border-radius: 4px;
    background-color: #F6C04D;
    border: 1px solid #F6C04D;
    color: #111B40;
}
.button-primary:hover{
    border:1px solid #111B40;
}
.button-primary:focus{
    filter: drop-shadow(0px 0px 3px #0070D2);
}
.button-primary:disabled{
    background-color: #CCCCCC;
    color:white;
    border: 1px solid #CCCCCC;
}
.button-secondary{
    font-family: 'SouthwestSans-Bold';
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    border: 1px solid #111B40;
    border-radius: 4px;
    background-color: #FFFFFF;
    color: #111B40;
}
.button-secondary:hover{
    background: rgba(17, 27, 64, 0.2);
}
.button-secondary:focus{
    filter: drop-shadow(0px 0px 3px #0070D2);
}
.button-secondary:disabled{
    border: 1px solid #CCCCCC;
    color: #CCCCCC;
}
.button-secondary-dark{
    font-family: 'SouthwestSans-Bold';
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    border: none;
    border-radius: 4px;
    border: 1px solid #111B40;
    background-color: #111B40;
    color: white;
}
.button-secondary-dark:focus{
    filter: drop-shadow(0px 0px 3px #0070D2);
}
.button-secondary-dark:disabled{
    color: #CCCCCC;
}
.button-inverse{
    font-family: 'SouthwestSans-Bold';
    font-weight: 700;
    font-size: 16px;
    line-height: 24px;
    border: 1px solid white;
    border-radius: 4px;
    background-color: transparent;
    color: white;
}
.button-inverse:hover{
    color: #111B40;
    background-color: white;
}
.button-inverse:focus{
    color: #111B40;
    background-color: white;
    filter: drop-shadow(0px 0px 3px #0070D2);
}
.button-inverse:disabled{
    color: #CCCCCC;
}
.hyperlink-button{
    border: none;
    color: #344EAC;
    font-family: 'SouthwestSans-Bold';
    font-size: 16px;
    background: transparent;
}
.hyperlink-button:hover,
.hyperlink-button:hover .button-icon{
    color:#111b40;
    --sds-c-icon-color-foreground-default: #111b40;
}
.hyperlink-button:disabled,
.hyperlink-button:disabled .button-icon{
    color:#CCCCCC;
    --sds-c-icon-color-foreground-default: #CCCCCC;
}
.hyperlink-button .button-icon{
    --sds-c-icon-color-foreground-default: #344EAC;
}
button.button-with-left-icon lightning-icon{
    margin-right:4px;
}
button.button-with-right-icon lightning-icon{
    margin-left:4px;
}
.black-icon{
    --sds-c-icon-color-foreground-default: black;
}
.darkblue-icon{
    --sds-c-icon-color-foreground-default:  #0B142D;
}
.white-icon{
    --sds-c-icon-color-foreground-default:  white;
}
button.button-inverse:hover .white-icon{
    --sds-c-icon-color-foreground-default:  #0B142D;
}
.button-primary lightning-icon,
.button-secondary lightning-icon,
.button-secondary-dark lightning-icon,
.button-inverse lightning-icon{
    transform: translateY(-2px);
}
/* ********  END OF BUTTONS  *********** */

/* ********  Inputs  *********** */
label.input-text-default-label{
    font-family: 'SouthwestSans-Bold';
    font-size: 12px;
    line-height: 16px;
    color: #3E3E3C;
}
input.input-text-default{
    height: 32px;
    background-color: #FFFFFF;
    border: 1px solid #111B40;
    color: #111B40;
    font-family: 'SouthwestSans-Regular';
    font-size: 16px;
    line-height: 24px;
    border-radius: 4px;
}
input.input-text-default:focus{
    outline: none;
    box-shadow: 0px 0px 3px #0070D2;
}
input.input-text-default:focus-visible{
    outline: none;
    box-shadow: 0px 0px 3px #0070D2;
}
input.input-text-default:disabled{
	background-color: #E5E5E5;
	border: 1px solid #CCCCCC;
}
input.input-text-default:invalid{
	border: 1px solid #C43036;
}
.input-icon-left{
    position: absolute;
    transform: translate(20px, 46px);
}
.input-icon-right{
    float: right;
    transform: translate(-12px, 46px);
    cursor: pointer;
}
.slds-file-selector__button.slds-button{
    color:#344EAC;
}
.slds-file-selector__button.slds-button:hover{
    color:#111B40;
    background-color:#E5E5E5;
    cursor: pointer;
}
/* ********  End of Inputs  *********** */

/* ********  Scrollbar  *********** */
.scrollable-area::-webkit-scrollbar {
    width: 14px;               /* width of the entire scrollbar */
}

.scrollable-area::-webkit-scrollbar-track {
    background: #FFFFFF;       /* color of the tracking area */
    border-radius: 4px;
}

.scrollable-area::-webkit-scrollbar-thumb {
    background-color: #C4C4C4;    /* color of the scroll thumb */
    border-radius: 100px;       /* roundness of the scroll thumb */
    border: 4px solid white;  /* creates padding around scroll thumb */
}
/* ********  End of Scrollbar  *********** */


/* Cards and reports */
div.report-card{
    background: white;
    height: 170px;
    border: 1px solid #DDDBDA;
    box-sizing: border-box;
    border-radius: 4px;
    align-content: space-between;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1rem;
    /*margin: 0.5rem;*/
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
}
div.report-card.report-card-short{
    height: 150px;
}
.report-card.report-card-double-height{
    height: 356px;
}

div.report-card div.report-card-title,
div.chart-card div.report-card-title,
div.table-card div.report-card-title{
    align-items: center;
    display:inline-flex;
    font-family: 'SouthwestSans-Regular';
    font-style: normal;
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
}
.report-card-title.chart-title-row{
    width: 100%;
    display: inline-flex;
    justify-content: space-between;
}

div.report-card div.report-card-title p,
div.chart-card div.report-card-title p{
    padding-top: 0.25rem;
    color: black;
}

div.report-card p.report-card-value{
    text-align: center;
    font-family: 'SouthwestSans-Regular';
    font-style: normal;
    font-weight: normal;
    font-size: 48px;
    line-height: 60px;
    align-self: center;
    color: black;
}
div.report-card p.report-card-value.report-card-value-green{
    color: #377D2F;
}

div.report-card p.report-card-value.report-card-value-red{
    color: #C43036;
}

div.report-card div.report-card-link{
    font-family: 'SouthwestSans-Bold';
    font-style: normal;
    font-weight: bold;
    font-size: 16px;
    line-height: 24px;
    cursor: pointer;
    align-self: center;
    color: #344EAC;
}

div.report-card div.link-group{
    margin-left: 0.5rem;    
}

div.report-card div.link-group div.report-card-link{
    padding-bottom: 0.5rem;    
}

.progress-bar-graph{
    width: 100%;
}
.progress-percent{
    font-family: 'SouthwestSans-Regular';
    font-style: normal;
    font-weight: normal;
    font-size: 12px;
    line-height: 16px;
    color: black;
    padding-top: 12px;
}
.progress-x-of-y{
    font-family: 'SouthwestSans-Bold';
    font-style: normal;
    font-weight: bold;
    font-size: 12px;
    line-height: 16px;
    color: black;
    text-align: right;
    padding-top: 12px;
}
.slds-progress-bar__value{
    background-color: #529EE0;
}

div.report-card .chart-area{    
    height: 60vh;
}

div.chart-card{
    background: white;
    height: 325px;
    border: 1px solid #DDDBDA;
    box-sizing: border-box;
    border-radius: 4px;
    align-content: space-between;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1rem;
   /* margin: 0.5rem;*/
    position: relative;
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
}
div.chart-card.chart-card-short{
    height: 270px;
}
div.table-card{
    background: white;
    border: 1px solid #DDDBDA;
    box-sizing: border-box;
    border-radius: 4px;
    align-content: space-between;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    padding: 1rem;
    /*margin: 0.5rem;*/
    box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1);
}
/* Waivers & Favors tiles */
div.waivers-card{
    display:flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    padding: 0.5rem;
    height: 200px;
}

div.waivers-card div.waivers-card-title{
    font-family: 'SouthwestSans-Bold';
    font-style: normal;
    font-weight: bold;
    font-size: 16px;
    line-height: 24px;
    color: white;
    padding-top: 0.75rem;
    text-align: center;
}

div.waivers-card div p.waivers-card-available-amount{
    font-family: 'SouthwestSans-Bold';
    font-style: normal;
    font-weight: bold;
    font-size: 36px;
    line-height: 36px;
    color: white;
    text-align: center;
}

div.waivers-card div p.waivers-card-available-text{
    font-family: 'SouthwestSans-Regular';
    font-style: normal;
    font-weight: normal;
    font-size: 20px;
    line-height: 24px;
    color: white;
    text-align: center;
}

div.waivers-card div p.waivers-card-date-range{
    font-family: 'SouthwestSans-Bold';
    font-style: normal;
    font-weight: bold;
    font-size: 24px;
    line-height: 32px;
    color: white;
    text-align: center;
}

/* Tables */
th, td{
    padding: 1rem;
    font-family: 'SouthwestSans-Regular';    
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    color: #5F5F5F;
}
tr{     
    box-shadow: 0px 1px 0px #DDDBDA;
}
tr.header-row{    
    background: #F4F4F4;
}
tbody>tr{
    height: 50px;
}
td a, th a{
    font-family: 'SouthwestSans-Bold';
    font-style: normal;
    font-weight: bold;
    color: #344EAC;
}
th.slds-text-title_bold lightning-base-formatted-text{
    font-family: 'SouthwestSans-Bold';
    font-style: normal;
    font-weight: bold;
}
.slds-table_header-fixed_container{
    padding-top:3rem;
}
.table-wrapper .slds-table_header-fixed_container.slds-scrollable_x{
    overflow-x: hidden;
}
.slds-cell-fixed{
    background-color: #F4F4F4;
    padding: 0.5rem 0;
}
/*.slds-resizable__divider{
    height: 0%;
}*/
a.slds-th__action, span.slds-th__action {
    padding: 0.5rem 1rem;
}
th span.slds-th__action span.slds-truncate{
    font-family: 'SouthwestSans-Bold';
}
.slds-resizable__divider:before{
    background-color: #F4F4F4;
}
.slds-th__action.slds-cell-fixed{ /*this fixes the odd padding around the select all checkboxes on a table header */
    padding: 1.5rem 0.5rem;
}
.slds-resizable__divider:hover:before, 
.slds-resizable__divider:focus:before, 
.slds-resizable__divider:active:before,
.slds-resizable__divider:after {
    background-color: #344EAC;
}
.noLink a { 
    font-family: 'SouthwestSans-Regular';
    font-weight: normal;
    font-size: 16px;
    line-height: 24px;
    color: #5F5F5F;
    cursor: default;
    pointer-events: none;
}
.noLink a:hover, .noLink a:focus{
    text-decoration: none;
}
.tableCellBold{
    font-family: 'SouthwestSans-Bold';
    font-style: normal;
    font-weight: bold;
    font-size: 16px;
}
.avatar-img img{
    border-radius: 50%;
}
td.info-link button.slds-button{
    color: #344EAC;
    font-family: 'SouthwestSans-Bold';
}
td.info-link button.slds-button:hover{
    color: #111B40 !important;
    text-decoration: underline;
}
td .slds-cell-wrap .slds-hyphenate{
    overflow-wrap: anywhere;
}

.badge-gray{
    background-color: #F4F4F4;
    color: #111B40;
}

.badge-green{
    background-color: #377D2F;
    color:white;
}

.badge-yellow{
    background-color: #F6C04D;
    color: #111B40;
}

.badge-red{
    background-color: #C44036;
    color:white;
}

.pagination-container{
    display:flex;
    justify-content: center;
    margin-top: 2rem;
    font-size: 16px;
    gap:8px;
    color: #111B40;
}

.pagination-container input.pagination-current-page-input{
    width:35px;
    font-family: 'SouthwestSans-Bold';
    text-align: center;
}
div.pagination-container .pagination-buttons.active-state{
    --slds-c-icon-color-foreground: #344EAC;
}

div.pagination-container .pagination-buttons.disabled-state{
    --slds-c-icon-color-foreground: #5f5f5f;
}
div.pagination-container .pagination-buttons.disabled-state button:hover,
div.pagination-container .pagination-buttons.disabled-state button:focus{
    --slds-c-icon-color-foreground: #5f5f5f;
    color: #5f5f5f;
}
.table-wrapper{ 
    width: 100%;
}
.thin-table .slds-table_header-fixed_container{ 
    padding-top: 2rem;
}
.thin-table .slds-cell-fixed{ 
    padding: 0;
}
.thin-table tbody>tr{ 
    height: 30px;
}
.thin-table tbody tr th, .thin-table tbody tr td{
    padding: 0.5rem !important;
}

.slds-dropdown-trigger_click.slds-is-open .slds-dropdown,
.slds-dropdown-trigger--click.slds-is-open .slds-dropdow{
    overflow: auto;
}

/*  Modals */
.slds-modal__footer{
    border-top-width: 1px;
    border-color: #DDDBDA;
    Background-color: #F4F4F4;
    padding: 1.5rem 2rem;
}
.slds-modal__header{
    border-bottom-width: 1px;
    border-color: #DDDBDA;
}

/* input on-hover and focus state */
.slds-listbox_vertical .slds-listbox__option:focus, 
.slds-listbox_vertical .slds-listbox__option:hover, 
.slds-listbox_vertical .slds-listbox__option.slds-has-focus, 
.slds-listbox--vertical .slds-listbox__option:focus, 
.slds-listbox--vertical .slds-listbox__option:hover, 
.slds-listbox--vertical .slds-listbox__option.slds-has-focus{
    background-color: rgba(17, 27, 64, 0.05);
}

/* tabs and tabsets */
lightning-tab-bar li{
    font-size: 16px;
    font-family: 'SouthwestSans-Regular';
}

lightning-tab-bar li.slds-is-active{
    color: #111B40;
    font-family: 'SouthwestSans-Bold';
}
lightning-tab-bar li.slds-tabs_default__item.slds-is-active:after,
lightning-tab-bar li.slds-tabs_default__item.slds-is-active:focus:after,
lightning-tab-bar li.slds-tabs_default__item.slds-has-focus:after,
lightning-tab-bar li.slds-tabs_default__item:focus:after{
    background-color: #344EAC;
}