/* ==========================================================================
   TEXT/HTML LAYOUT
========================================================================== */
@media (min-width: 768px) {
    .directory {
        gap: 2rem;
    }
    .directory-item {
        display: grid;
        grid-template-columns: 33.3% 66.6%;
        gap: 1rem;
    }
}
.directory-item__name {
    line-height: 1.5;
}
.directory-item__img, 
.directory-item__name {
    padding-top: 0;
}
.directory-item__name, 
.directory-item__title-primary, 
.directory-item__email {
    margin-bottom: 0;
}
.directory-item__research-list {
    padding-top: 1rem;
    font-size: smaller;
    max-height: 6rem;
    display: -webkit-box;
    line-height: 1.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}
@media (min-width: 1024px) {
    .directory-item__research-list {
        -webkit-line-clamp: 2;
    }
}
@media (min-width: 1200px) {
    .directory-item__research-list {
        -webkit-line-clamp: 3;
    }
}
/* Email */
.directory-item__email:before {
    font-family: "Font Awesome 6 Free";
    content: "\f0e0";
    margin-right: 0.25rem;
    font-weight: 900;
    color: var(--vcu-gold);
}
/* Search, Filter, Toggle, and Button Controls */
.controls {
    margin-bottom: 4rem;
}
@media (min-width: 1024px) {
    .controls {
        --cwf-grid--grid-template-columns: 1fr 1fr auto auto;
        margin-bottom: 2rem;
    }
}
/* Search box and filter by department */
.directory-search input, 
select.cwf-form__input {
    font-size: .8rem;
}
/* Faculty Only toggle switch */
.gui-switch {
    --thumb-size: 2rem;
    --thumb: hsl(0 0% 100%);
    --thumb-highlight: hsl(0 0% 0% / 25%);
    --track-size: calc(var(--thumb-size) * 2);
    --track-padding: 2px;
    --track-inactive: hsl(80 0% 80%);
    --track-active: var(--vcu-blue);
    --thumb-color: var(--thumb);
    --thumb-color-highlight: var(--thumb-highlight);
    --track-color-inactive: var(--track-inactive);
    --track-color-active: var(--track-active);
    --isLTR: 1;
    display: flex;
    align-items: center;
    gap: 2ch;
    justify-content: space-between;
    margin-top: 1rem;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}
@media (min-width: 1024px) {
    .dept-directory .gui-switch {
        justify-content: space-evenly;
    }
  	.dept-directory button.cwf-button {
        max-width: 60%;
    }
}
[dir="rtl"] .gui-switch {
    --isLTR: -1;
}
.gui-switch > input {
    --thumb-position: 0%;
    --thumb-transition-duration: 0.25s;
    padding: var(--track-padding);
    background: var(--track-color-inactive);
    inline-size: var(--track-size);
    block-size: var(--thumb-size);
    border-radius: var(--track-size);
    appearance: none;
    pointer-events: none;
    touch-action: pan-y;
    border: none;
    outline-offset: 5px;
    box-sizing: content-box;
    flex-shrink: 0;
    display: grid;
    align-items: center;
    grid: [track] 1fr / [track] 1fr;
    transition: background-color 0.25s ease;
}
.gui-switch > input::before {
    --highlight-size: 0;
    content: "";
    cursor: pointer;
    pointer-events: auto;
    grid-area: track;
    inline-size: var(--thumb-size);
    block-size: var(--thumb-size);
    background: var(--thumb-color);
    box-shadow: 0 0 0 var(--highlight-size) var(--thumb-color-highlight);
    border-radius: 50%;
    transform: translateX(var(--thumb-position));
    transition: transform var(--thumb-transition-duration) ease, box-shadow 0.25s ease;
}
.gui-switch > input:not(:disabled):hover::before {
    --highlight-size: 0.5rem;
}
.gui-switch > input:checked {
    background: var(--track-color-active);
    --thumb-position: calc((var(--track-size) - 100%) * var(--isLTR));
}
.gui-switch > input:focus:not(:checked) {  /* Added 4/17/2024 */
    background: var(--track-color-inactive);
    --thumb-position: 0%;
}
.gui-switch > input:indeterminate {
    --thumb-position: calc((calc(var(--track-size) / 2) - calc(var(--thumb-size) / 2)) * var(--isLTR));
}
.gui-switch > input:disabled {
    cursor: not-allowed;
    --thumb-color: transparent;
}
.gui-switch > input:disabled::before {
    cursor: not-allowed;
    box-shadow: inset 0 0 0 2px hsl(0 0% 100% / 50%);
}
@media (prefers-color-scheme: dark) {
    .gui-switch > input:disabled::before {
        box-shadow: inset 0 0 0 2px hsl(0 0% 0% / 50%);
    }
}
/* ==========================================================================
   TEXT/FULLTEXT LAYOUT
========================================================================== */
/* Basic info */
p.directoryFT__basic-img {
    text-align: center;
}
@media (min-width: 768px) { 
	h1.directoryFT__basic-name {
    	text-align: center;
    }
}
@media (min-width: 1024px) { 
    p.directoryFT__basic-img, 
	h1.directoryFT__basic-name {
    	text-align: initial;
    }
}
.social__linkedIn {
    font-size: 0;
}
.social__linkedIn:before {
    font-size: 2rem;
}
a.social__linkedIn.directoryFT__linkedIn {
      border-bottom: none !important;
      padding-bottom: initial !important;
}
.directoryFT__linkedIn:before {
  	font-family: "Font Awesome 6 Brands";
    content: "\f08c";
    margin-left: 0.33rem;
    color: var(--vcu-gold);
    font-weight: 900;
}
.directoryFT__basic-title {
    padding-top: 0;
    font-weight: 600;
}
.directoryFT__basic-title, 
.directoryFT__basic-officeone, 
.directoryFT__basic-officetwo {
    margin-bottom: 0;
}
/*.directoryFT__basic-officeone:before, 
.directoryFT__basic-officetwo:before {
  	font-family: "Font Awesome 6 Free";
    content: "\f192";
    margin-right: 0.25rem;
    color: var(--vcu-black);
    font-weight: 900;
}*/
.directoryFT__contact-facbox {
    margin-bottom: 1.5rem;
}
/* Black faculty box */
.directoryFT__facbox {
    background: var(--vcu-black);
    padding: 1.5rem;
    /* border-radius: 0 2rem 0 2rem; */
    border-top: .25rem solid var(--vcu-gold);
    margin-top: 1rem;
}
.directoryFT__facbox > *:last-child {
    margin-bottom: 0;
}
.directoryFT__facbox > *:first-child {
    margin-top: 0;
    padding-top: 0;
}
.directoryFT__facbox a {
  	color: var(--vcu-white);
    text-decoration: none;
    border-bottom: 1px solid var(--vcu-gold);
}
.directoryFT__facbox a:hover, 
.directoryFT__facbox a:focus {
  	color: var(--vcu-gold);
    border-bottom: none;
}
.directoryFT__cv, 
.directoryFT__pubslink, 
.directoryFT__accept {
    margin-bottom: 0;
}
.directoryFT__cv a[href$="pdf"]:after, 
.directoryFT__cv a[href$="doc"]:after, 
.directoryFT__cv a[href$="docx"]:after {
    color: var(--vcu-gold);
    font-weight: 400;
    margin-left: .33rem;
}
.directoryFT__accept {
    text-align: center;
    background: var(--vcu-white);
    padding: 0.5rem 0.25rem;
    margin-top: 1rem;
    border-radius: 0 1rem 0 1rem;
}
.directoryFT__cv:before, 
.directoryFT__pubslink:before {
	font-family: "Font Awesome 6 Free";
    content: "\f061";
    margin-right: 0.25rem;
    color: var(--vcu-gold);
    font-weight: 900;
}
.directoryFT__accept--yes, 
.directoryFT__accept--no {
    padding-top: 0.5rem!important;
}
.directoryFT__accept--yes:after {
    font-family: "Font Awesome 6 Free";
    content: "\f164";
    margin-left: 0.25rem;
    color: var(--vcu-black);
    font-weight: 400;
}
@media (min-width: 768px) {
    .directoryFT__contact-facbox {
    	display: grid;
    	grid-template-columns: repeat(2, 1fr);
    	align-items: start;
    	margin-top: 2rem;
        margin-bottom: 0;
    }
  	.directoryFT__facbox {
    	margin-top: 0;
	}
}
@media (min-width: 1024px) {
    .directoryFT__contact-facbox {
    	grid-template-columns: repeat(3, 1fr);
    }
}
/* Tabs */
@media (min-width: 768px) {
    #directoryFT__tabs {
        margin-top: 2rem;
    }
}
#directoryFT__tabs button.cwf-tabs__tab {
    font-size: larger;
}
#directoryFT__tabs .cwf-tabs__tab:focus:before, 
#directoryFT__tabs .cwf-tabs__tab:focus:hover:before, 
#directoryFT__tabs .cwf-tabs__tab[tabindex="0"]:before,
#directoryFT__tabs .cwf-tabs__tab[tabindex="0"]:hover:before {
  	background-color: var(--vcu-gold);
}
#directoryFT__tabs .cwf-tabs__tab[tabindex="-1"]:hover {
    --cwf-tabs__tab--border-color: var(--vcu-gold);
    --cwf-tabs__tab--background-color: var(--vcu-gold);
    --cwf-tabs__tab--color: var(--vcu-black);
}
/* Contact */
p.directoryFT__email, 
p.directoryFT__phone {
    margin-bottom: 0;
}
.directoryFT__email:before {
	font-family: "Font Awesome 6 Free";
    content: "\f0e0";
    margin-right: 0.25rem;
    color: var(--vcu-gold);
    font-weight: 900;
}
.directoryFT__phone:before {
	font-family: "Font Awesome 6 Free";
    content: "\f095";
    margin-right: 0.25rem;
    color: var(--vcu-gold);
    font-weight: 900;
}
.directoryFT__fax:before {
	font-family: "Font Awesome 6 Free";
    content: "\f1ac";
    margin-right: 0.25rem;
    color: var(--vcu-gold);
    font-weight: 900;
}
/* Non-Tab Display for Additional Content */
.directoryFT__additional {
    border: 2px solid #efefef;
    padding: 1rem 2rem;
}
/* Update my page link */
.directoryFT__update {
    margin-top: 1rem;
}
.directoryFT__update:before {
    font-family: "Font Awesome 6 Free";
    content: "\f044";
    margin-right: 0.33rem;
    font-weight: 900;
    color: var(--vcu-rust);
}
/* ==========================================================================
   TEXT/DEPARTMENT LAYOUT
========================================================================== */
.dept-directory .directory-item__name {
  	font-size: 1.1rem;
}
@media (min-width: 1024px) {
    .dept-directory .controls {
        --cwf-grid--grid-template-columns: repeat(3, 1fr);
    }
    .dept-directory .directory-item__research-list {
        -webkit-line-clamp: 3;
    }
}
@media (min-width: 1024px) and (max-width: 1299px) {
    .dept-directory .cwf-grid.cwf-grid--2-columns {
        display: block;
    }
}
@media (min-width: 1100px) {
    .dept-directory .directory-item {
        grid-template-columns: 40% 60%;
    }
}
@media (min-width: 1200px) {
    .dept-directory .directory-item {
        grid-template-columns: 30% 70%;
    }
    .dept-directory .directory-item__research-list {
        -webkit-line-clamp: 3;
    }
}
@media (min-width: 1300px) {
    .dept-directory .directory-item {
        grid-template-columns: 33.3% 66.6%;
    }
  	.dept-directory .directory-item__research-list {
        -webkit-line-clamp: 2;
    }
}
/* ==========================================================================
   TEXT/OFFICE LAYOUT
========================================================================== */
.ofc-directory .directory-item__name {
  	font-size: 1.1rem;
}
@media (min-width: 1024px) and (max-width: 1299px) {
    .ofc-directory .cwf-grid.cwf-grid--2-columns {
        display: block;
    }
}
@media (min-width: 1100px) {
    .ofc-directory .directory-item {
        grid-template-columns: 40% 60%;
    }
}
@media (min-width: 1200px) {
    .ofc-directory .directory-item {
        grid-template-columns: 30% 70%;
    }
}
@media (min-width: 1300px) {
    .ofc-directory .directory-item {
        grid-template-columns: 33.3% 66.6%;
    }
}




