/* 

VT Weather component
May 2024
Lee Hawkins - lehawkin@vt.edu

*/
.vt-weather-reader {
	padding: 1em;
	background-color: white;
	border-radius: 15px;
}

.vt-weather-info {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.vt-weather-content {
	line-height: 1.7;
	flex-grow: 1;
	flex: 1;
}
.vt-current-temperature,
.vt-weather-obs-time {
	text-wrap: nowrap;
}
.vt-weather-img {
	border-radius: 15px;
	max-width: 125px;
	width: 100%;
}
.vt-weather-icon {
	margin: auto;
}

.vt-weather-location {
	font-family: 'gineso-condensed';
	font-weight: 600;
	font-size: 1.2em;
}

.vt-current-weather,
.vt-current-temperature,
.vt-weather-obs-time {
	display: block;
}
@media screen and (max-width: 429px) {
	.vt-weather-img {
		max-width: unset;
	}
}
@media screen and (min-width: 768px) {
	.vt-current-temperature {
		display: inline-block;
		margin: 0 10px 0 0;
	}
	.vt-weather-obs-time {
		display: inline-block;
	}
}


/* CMS COMPONENTS ACCORDION STYLES */

.vt-accordion-group,
.vt-tab-group {
    margin: 10px 0px 10px 0px
}

.vt-accordion {
    margin: 0;
    padding: 0;
    width: 100%;
    overflow: hidden;
  }

  .vt-accordion .vt-hide {
    display: none;
  }
  .vt-accordion button {
    display: flex;
    justify-content: space-between;
    border-style: none;
    z-index: 2;
  }

  .vt-accordion .vt-accordion-trigger svg {
    display: block;
    min-width: 1.25em;
    height: 1.25em;
    transition: transform 0.2s;
    transform: rotate(-45deg);
  }

  .vt-accordion .vt-accordion-trigger {
    display: flex;
    align-items: center;
    margin: 0.5em 0px 0px 0px;
    padding: 10px 15px;
    position: relative;
    text-align: left;
    width: 100%;
    outline: none;
    border-radius: 10px;
    border: 1px solid black;
  }
  
  .vt-accordion .vt-accordion-trigger[aria-expanded=true] {
    background-color: rgb(255, 255, 255);
    border-bottom: 0px;
    margin-bottom: 0px;
    border-radius: 10px 10px 0px 0px;
    transition-property: background-color;
    transition-duration: 300ms;
    transition-timing-function: ease-in-out;
  }
  
  .vt-accordion .vt-accordion-trigger[aria-expanded=true] svg {
    transform: rotate(0deg);
  }

  .vt-accordion .vt-accordion-panel {
    position: relative;
    margin: 0;
    border: 1px solid rgb(0, 0, 0);
    border-radius: 0px 0px 10px 10px;
    border-top: 0px;
    padding: 12px;
  }

  .vt-accordion h2, .vt-accordion h3, .vt-accordion h4, .vt-accordion h5, .vt-accordion h6 {
    margin: 0px;
  }

  .vt-accordion .vt-text p,
  .vt-accordion .vt-rawhtml p {
    margin-block-start: 0px;
  }

/* TAB STYLES */

@media screen and (min-width: 768px) {
    .vt-tab-group .vt-tab-list,
  .vt-tab-group .vt-tab,
  .vt-tab-group .vt-tab-content {
      display: flex;
    }
    .vt-tab-group .vt-mobile-tab-accordion .vt-accordion-trigger {
      display: none;
    }
  }

  .vt-tab-list {
    display: none;
  }

  .vt-tab-list [role=tab] {
    position: relative;
    z-index: 2;
    top: 2px;
    margin-bottom: 15px;
    border: 1px solid rgb(0, 0, 0);
    outline: none;
    font-weight: 500;
    font-size: 1.125rem;
    font-family: "gineso-condensed", sans-serif;
    overflow: hidden;
    text-align: left;
    cursor: pointer;
    align-items: start;
    min-width: 50px;
  }
  
  .vt-tab-list [role=tab][aria-selected=true] {
    margin-top: 0;
    margin-bottom: 10px;
    border-bottom-color: rgb(255, 255, 255);
    background-color: rgb(255, 255, 255);
  }
  
  .vt-tab-content {
    display: none;
    position: relative;
    top: -9px;
    padding: 10px;
    border: 1px solid rgb(0, 0, 0);
    border-radius: 0 0 5px 5px;
    width: 100%;
    overflow: auto;
  }
  
  .vt-tab-content .vt-hide {
    display: none;
  }
.vt-editor-component-outline{
    border: 1px solid #000; 
    padding: 5px;
}

.vtctalink{
    word-wrap: break-word;
    overflow-wrap: break-word;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    hyphens: auto;
}
.vtctalink.inline{
    display: inline-block;
}

.vtctalink .d-flex{
    display: flex;
}
.vtctalink .d-flex.justify-content-start{
    justify-content: start;
}

.vt-ctaLink{
    display: block;
    text-decoration: none;
    margin: 1em 3px 0 3px;
}



.vtctalink > .justify-content-end{
    justify-content: flex-end;
}

.vtctalink > .justify-content-center{
    justify-content: center;
}

.vt-ctaLink{
    padding: 0.875rem 4.375rem;
    text-align: center;
}

.vt-ctaLink.btn-shadow{
    box-shadow: 0 0 10px rgba(102, 102, 102, 0.7);
}

.vt-ctaLink.uppercase{
    text-transform: uppercase;
}

.vt-ctaLink.w-100{
    width: 100%;
}

.vt-ctaLink.maroon{
    background: rgba(134, 31, 65, 1);
    border: 2px solid rgba(134, 31, 65, 1);
    color: rgba(255, 255, 255, 1);
}
.vt-ctaLink.maroon:hover{
    background: rgba(165, 38, 80, 1);
    border-color: rgba(165, 38, 80, 1);
}
.vt-ctaLink.outline.maroon{
    background: rgba(255, 255, 255, 1);
    border: 2px solid rgba(134, 31, 65, 1);
    color: rgba(134, 31, 65, 1);
}
.vt-ctaLink.outline.maroon:hover{
    background: rgba(134, 31, 65, 1);
    color: rgba(255, 255, 255, 1);
}

.vt-ctaLink.orange{
    background: rgba(198, 70, 0, 1);
    border: 2px solid rgba(198, 70, 0, 1);
    color: rgba(255, 255, 255, 1);
}
.vt-ctaLink.orange:hover{
    background: rgba(208, 74, 0, 1);
    border-color: rgba(208, 74, 0, 1);
}
.vt-ctaLink.outline.orange{
    background: rgba(255, 255, 255, 1);
    border: 2px solid rgba(198, 70, 0, 1);
    color: rgba(198, 70, 0, 1);
}
.vt-ctaLink.outline.orange:hover{
    background: rgba(198, 70, 0, 1);
    color: rgba(255, 255, 255, 1);
}

.vt-ctaLink.dark{
    background: rgba(0, 0, 0, 1);
    border: 2px solid rgba(0, 0, 0, 1);
    color: rgba(255, 255, 255, 1);
}
.vt-ctaLink.dark:hover{
    background: rgba(255, 255, 255, 1);
    color: rgba(0, 0, 0, 1);
}
.vt-ctaLink.outline.dark{
    background: rgba(255, 255, 255, 1);
    border: 2px solid rgba(0, 0, 0, 1);
    color: rgba(0, 0, 0, 1);
}
.vt-ctaLink.outline.dark:hover{
    background: rgba(0, 0, 0, 1);
    border: 2px solid rgba(0, 0, 0, 1);
    color: rgba(255, 255, 255, 1);
}

.vt-ctaLink.light{
    background: rgba(255, 255, 255, 1);
    border: 2px solid rgba(132, 114, 137, 1);
    color: rgba(134, 31, 65, 1);
}
.vt-ctaLink.light:hover{
    color: rgba(0, 0, 0, 1);
}
.vt-ctaLink.outline.light:hover{
    background: rgba(165, 38, 80, 1);
    color: rgba(255, 255, 255, 1);
}

.vt-multicolumn .vtctalink .vt-ctaLink.w-100{
    padding-left: 0.5em;
    padding-right: 0.5em;
}

.vtctalink .vt-ctaLink
{
    user-select: auto;
}

@media screen and (min-width: 992px) and (max-width: 1099px) {
    .vtctalink .vt-ctaLink
    {
        padding: 1vw 1.65vw;
    } 
}
@media screen and (min-width: 1100px) and (max-width: 1599px) {
    .vtctalink .vt-ctaLink
    {
        padding: 0.75vw 1.5vw;
    } 
}
@media screen and (min-width: 1600px) {
    .vtctalink .vt-ctaLink
    {
        padding: 0.5vw 1vw;
    } 
} 

.vt-callToAction-message{
    min-width: 50%;
}

.vt-callToAction{
    width: 100%;
}

.vt-callToAction .vt-ctalink{
    white-space: nowrap;
}

@media screen and (max-width: 991px){
/* @media screen and (max-width: 1199px){ */

    .vt-callToAction-supplement-fig-container{
        display: none!important;
    }

}

.vtcta-hide{
    display: none;
}
.vt-full-width{
	width: 100vw;
    position: relative;
    margin-left: -50vw;
    left: 50%;
    padding:10px;
}

.vt-editor-component-outline{
    border: 1px solid #000; 
    padding: 5px;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BEGIN Modal Search Component */
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-search-label-sort-wrapper {
  display: none;
  background: unset;
  padding: 1em 2em 1em;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-search-label-sort-wrapper .vt-search-result-label-text,
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-search-label-sort-wrapper .vt-search-result-query,
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-search-label-sort-wrapper .vt-search-result-time {
  font-family: "rubik";
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-search-label-sort-wrapper.active {
  display: flex;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list {
  display: none;
  line-height: 1.25;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list.active {
  display: block;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-desc-wrapper {
  display: flex;
  flex-direction: row;
}
@media screen and (min-width: 992px) {
  #vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-desc-wrapper {
    flex-direction: row;
  }
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-datelink {
  margin-bottom: 1em;
  color: var(--vt-maroon);
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-datelink .vt-result-small-link {
  display: inline-block;
  word-break: break-all;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-image-wrapper {
  display: none;
  padding-right: 1em;
}
@media screen and (min-width: 768px) {
  #vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-image-wrapper {
    display: block;
  }
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-image-wrapper > img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-image-wrapper > img {
    max-width: 320px;
  }
}
@media screen and (min-width: 1440px) {
  #vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-image-wrapper > img {
    width: 480px;
  }
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-image-wrapper > img[src$=".svg"] {
  padding: 0.5em 2em 0.5em 0;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-pubdate {
  text-transform: uppercase;
  font-style: italic;
  font-weight: 600;
  margin-top: 0.67em;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-desc {
  width: 100%;
  font-weight: 400;
  font-size: 1em;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-title {
  text-decoration: none;
  margin-bottom: 0.25em;
  font-size: 1.5em;
  font-weight: 600;
  font-family: "rubik", sans-serif;
}
@media screen and (min-width: 992px) {
  #vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-title {
    font-size: 1.5em;
  }
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-result-title .vt-result-title-link {
  color: var(--vt-maroon);
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list [class*=-category-link] {
  color: #fff;
  background: #000;
  border-radius: 5px;
  display: inline-block;
  padding: 0.5em 1em;
  font-size: 0.85em;
  margin-bottom: 1em;
  text-transform: uppercase;
  font-family: "gineso-condensed";
  font-weight: 600;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list [class*=-category-link]:empty {
  display: none;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-results-list-item {
  padding: 1em 2em;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-list .vt-results-list-item:nth-child(even) {
  background-color: var(--vt-smoke-7t);
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-pagination-row .vt-pagination-link.previous,
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-pagination-row .vt-pagination-link.next {
  align-self: center;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-pagination-row .vt-search-paginationWrapper {
  display: none;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-pagination-row .vt-search-paginationWrapper.active {
  display: flex;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-pagination-label {
  display: none;
  padding-bottom: 2em;
  width: 100%;
  text-align: center;
  order: 4;
  align-self: center;
  font-size: 1.3em;
  font-style: italic;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-pagination-label.active {
  display: block;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-zero {
  display: none;
  background-color: unset;
  padding: 2em;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-results-zero.active {
  display: block;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-refinement-btn,
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-pagination-link,
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-result-small-link,
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-result-desc,
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-pagination-label {
  font-family: "rubik" !important;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-search-refinements {
  display: unset !important;
  padding: unset;
  background: unset;
  margin-top: unset;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-search-refinements .vt-refinement-menu .vt-refinement-btn {
  padding: 1em;
  flex: none;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-search-refinements .vt-refinement-menu .vt-refinement-btn:not(.active):focus {
  background-color: var(--vt-burntOrangeWeb);
  color: white;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  #vt_main .vt-search-googlesearch .vt-dialog-search .vt-search-refinements .vt-refinement-menu .vt-refinement-btn {
    padding: 0.5em 0.75em;
    font-size: 1.15em;
  }
}
@media screen and (min-width: 992px) {
  #vt_main .vt-search-googlesearch .vt-dialog-search .vt-search-refinements .vt-refinement-menu .vt-refinement-btn {
    padding: 1em;
    font-size: 1.15em;
  }
}
@media screen and (min-width: 1200px) {
  #vt_main .vt-search-googlesearch .vt-dialog-search .vt-search-refinements .vt-refinement-menu .vt-refinement-btn {
    padding: 1em 1.25em;
    font-size: 1.25em;
  }
}
#vt_main .vt-search-googlesearch .vt-dialog-search.active {
  display: contents;
}
#vt_main .vt-search-googlesearch .vt-dialog-search.active .vt-refinement-btn {
  border-top-left-radius: 15px;
  border-top-right-radius: 15px;
}
#vt_main .vt-search-googlesearch .vt-dialog-search.active .vt-modal-close {
  display: none;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions {
  display: none;
  list-style-type: none;
  padding: 1em 0 0;
  border-bottom: 2px solid var(--vt-smoke);
  background-color: var(--vt-smoke-7t);
  gap: 1em;
  margin-bottom: 0;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  #vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions {
    flex-direction: column;
  }
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions.active {
  display: flex;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions .vt-search-promotion-title {
  text-decoration: none;
  margin-bottom: 0.25em;
  font-size: 1.2em;
  font-weight: 600;
  font-family: "rubik", sans-serif;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions .vt-search-promotion-title-link {
  color: var(--vt-maroon);
  text-decoration: underline;
  font-weight: 600;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions .vt-search-promotion-title-link:visited {
  color: var(--vt-maroon);
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions .vt-search-promotion-title-link:hover {
  color: var(--vt-burntOrangeWeb);
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions .vt-search-promotion-item:last-child {
  padding-bottom: 0;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions .vt-search-promotion-image-wrapper {
  display: none;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions .vt-search-promotion-content-wrapper {
  display: flex;
  flex-direction: column;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions .vt-search-promotion-desc {
  margin-bottom: 0.5em;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions.horizontal {
  padding: 1em 2em;
}
@media screen and (min-width: 1400px) {
  #vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions.horizontal {
    flex-direction: row;
  }
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions .vt-search-promotion-content-wrapper > div {
  margin-bottom: 7px;
}
#vt_main .vt-search-googlesearch .vt-dialog-search .vt-seach-promotions .vt-search-promotion-content-wrapper > div:last-child {
  margin-bottom: 0;
}
#vt_main .vt-results-modal-open {
  display: none;
  justify-self: right;
  padding: 0 2em;
}
#vt_main .vt-results-modal-open.active {
  display: flex;
}
#vt_main .vt-json-script:has(dialog.active) {
  margin-top: 2em;
}
#vt_main .vt-search-googlesearch .vt-dialog-search:modal {
  max-width: 75%;
  width: auto;
  padding: 0;
  background-color: white;
  color: black;
  height: auto;
}
#vt_main .vt-search-googlesearch .vt-dialog-search:modal :focus {
  outline-color: black;
}
#vt_main .vt-search-googlesearch .vt-dialog-search:modal .vt-modal-close {
  width: 1.5em;
  top: 0;
  right: 0;
  background-color: var(--vt-smoke);
  color: var(--vt-maroon-3t);
  border-radius: 0;
  border-bottom-left-radius: 5px;
  position: absolute;
  border: 0;
}
#vt_main .vt-search-googlesearch .vt-dialog-search:modal .vt-modal-close:hover, #vt_main .vt-search-googlesearch .vt-dialog-search:modal .vt-modal-close:focus {
  background-color: var(--vt-maroon-3t);
  color: white;
}
#vt_main .vt-search-googlesearch .vt-dialog-search:modal .vt-modal-close > svg {
  height: 1.5em;
}

/*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ END Modal Search Component */
/* BEGIN Internal Media Component Styles ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */
#vt_main .media .vt-media {
  padding: 1.5em;
  background-color: white;
  width: 100%;
  box-shadow: 2px 2px 15px var(--vt-hokieStone-7t);
  border-radius: 15px;
  overflow: hidden;
}
#vt_main .media .vt-media.vt-audio .vt-media-poster {
  display: block;
}
#vt_main .media .vt-media.vt-video .vt-media-banner {
  margin-top: 1rem;
  margin-bottom: 1rem;
}
#vt_main .media .vt-media.vt-video .vt-media-transcript {
  margin-top: 0.5em;
}
#vt_main .media .vt-media-banner {
  background-color: transparent;
  flex-direction: column;
}
#vt_main .media .vt-media-poster {
  display: none;
  margin-bottom: 1rem;
}
#vt_main .media .vt-media-poster img {
  display: block;
  border-radius: 10px;
  border: 0;
  width: 100%;
}
#vt_main .media .vt-media-poster .vt-poster-default img {
  box-shadow: none;
}
#vt_main .media .vt-media-title {
  margin-bottom: 1rem;
}
#vt_main .media .vt-media-title .vt-media-title-heading {
  font-weight: 400;
  font-size: 1.667rem;
  margin-bottom: 0;
  font-family: inherit;
}
#vt_main .media .vt-media-details {
  display: flex;
  flex-wrap: wrap;
  line-height: 2;
  align-items: center;
  border-top: 2px solid #000;
  -moz-column-gap: 1vw;
       column-gap: 1vw;
}
#vt_main .media .vt-media-details .vt-media-date,
#vt_main .media .vt-media-details .vt-media-caption {
  font-weight: 300;
  font-style: italic;
}
#vt_main .media .vt-media-details .vt-media-caption {
  flex-grow: 1;
  width: 300px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
#vt_main .media .vt-media-details .vt-media-month {
  text-transform: uppercase;
  font-weight: 600;
}
#vt_main .media .vt-media-details .vt-media-contact:empty {
  display: none;
}
#vt_main .media .vt-media-transcript {
  display: flex;
  flex-direction: column;
  padding-top: 0;
  margin-top: 0;
  margin-bottom: 0;
  border: 0;
}
#vt_main .media .vt-media-transcript:before {
  content: "";
  color: black;
  background: black;
  width: 100%;
  height: 1px;
  position: relative;
  top: 1em;
}
#vt_main .media .vt-media-transcript .vt-media-transcript-toggle {
  top: unset;
  font-family: "rubik";
  position: relative;
  left: unset;
  margin-top: unset;
  margin-bottom: 1em;
  background: white;
  color: black;
  border: 1px solid black;
  border-radius: 40px;
  padding: 0.5em 1em;
  line-height: 1;
  text-transform: uppercase;
  z-index: 999;
  font-size: 0.85em;
  align-self: center;
}
#vt_main .media .vt-media-transcript .vt-media-transcript-toggle:hover {
  text-decoration: underline;
}
#vt_main .media .vt-media-transcript .vt-media-transcript-content {
  display: none;
  color: black;
  background-color: var(--vt-smoke);
  margin: unset;
  padding: 1rem 1.5rem;
}
#vt_main .media .vt-media-transcript .vt-media-transcript-content::after {
  content: none;
}
#vt_main .media .vt-media-transcript .vt-media-transcript-content[aria-expanded=true] {
  display: block;
}
#vt_main .media .vt-media-transcript .vt-media-transcript-content p {
  margin-bottom: 0;
}
#vt_main .vt-full-width .media:has(> .vt-media-full-width) .vt-media-transcript .vt-media-transcript-toggle {
  align-self: inherit !important;
  font-weight: 600 !important;
  border: 2px solid var(--vt-smoke) !important;
  color: var(--vt-smoke-6s) !important;
  margin-top: 1em;
}

#vt_main .media .vt-media-dark .vt-media-transcript:before {
  background: white;
  color: white;
}
#vt_main .media .vt-media-dark .vt-media-transcript .vt-media-transcript-toggle {
  border-color: white;
  color: white;
  background-color: var(--vt-hokieStone-5s);
}
#vt_main .media .vt-media-dark .vt-media-transcript .vt-media-transcript-content {
  color: black;
}
#vt_main .media .vt-media-purple .vt-media-transcript:before {
  background: white;
  color: white;
}
#vt_main .media .vt-media-purple .vt-media-transcript .vt-media-transcript-toggle {
  border-color: white;
  color: white;
  background-color: var(--vt-purple);
}
#vt_main .media .vt-media-purple .vt-media-transcript .vt-media-transcript-content {
  color: black;
}

#vt_main .media .vt-media-maroon .vt-media-transcript:before {
  background: white;
  color: white;
}
#vt_main .media .vt-media-maroon .vt-media-transcript .vt-media-transcript-toggle {
  border-color: white;
  color: white;
  background-color: var(--vt-maroon);
}
#vt_main .media .vt-media-maroon .vt-media-transcript .vt-media-transcript-content {
  color: black;
}

#vt_main .media .vt-media-orange .vt-media-transcript:before {
  background: white;
  color: white;
}
#vt_main .media .vt-media-orange .vt-media-transcript .vt-media-transcript-toggle {
  border-color: white;
  color: white;
  background-color: var(--vt-burntOrangeWeb);
}
#vt_main .media .vt-media-orange .vt-media-transcript .vt-media-transcript-content {
  color: black;
}
#vt_main .media .no-title > * {
  overflow-wrap: anywhere;
}
#vt_main .media:not(.vt-col > div) .vt-media-contact {
  flex: 1;
}
@media screen and (min-width: 768px) {
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner {
    display: grid;
    grid-template: "vtPoster vtTitle" "vtDetails vtDetails"/auto auto;
    grid-column-gap: 1em;
    grid-row-gap: 1em;
  }
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner .vt-media-poster {
    grid-area: vtPoster;
  }
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner .vt-media-title {
    grid-area: vtTitle;
  }
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner .vt-media-details {
    grid-area: vtDetails;
  }
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner .vt-media-poster {
    max-width: 200px;
    margin-bottom: 0;
  }
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner .vt-media-title {
    margin-bottom: 0;
  }
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner .vt-media-title-heading {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 992px) {
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner .vt-media-title-heading {
    font-size: 1.667rem;
  }
}
@media screen and (min-width: 1200px) {
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner {
    display: grid;
    grid-template: "vtPoster vtTitle" 1fr "vtPoster vtDetails" auto/auto 1fr;
    grid-column-gap: 1em;
    grid-row-gap: 1em;
  }
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner .vt-media-poster {
    grid-area: vtPoster;
  }
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner .vt-media-title {
    grid-area: vtTitle;
  }
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner .vt-media-details {
    grid-area: vtDetails;
  }
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner .vt-media-poster {
    max-width: 225px;
  }
}
@media screen and (min-width: 1440px) {
  #vt_main .media:not(.vt-col > div) .vt-audio .vt-media-banner .vt-media-title-heading {
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  #vt_main .vt-multicolumn .vt-num-col-2 .vt-audio .vt-media-banner {
    grid-template: "vtPoster" "vtTitle" "vtDetails"/auto;
  }
  #vt_main .vt-multicolumn .vt-num-col-2 .vt-media-title-heading {
    font-size: 1.334rem;
  }
}
@media screen and (min-width: 1600px) {
  #vt_main .vt-multicolumn .vt-num-col-2 .vt-audio .vt-media-banner {
    display: grid;
    grid-template: "vtPoster vtTitle" "vtDetails vtDetails"/auto auto;
    grid-column-gap: 1em;
    grid-row-gap: 1em;
  }
  #vt_main .vt-multicolumn .vt-num-col-2 .vt-audio .vt-media-banner .vt-media-poster {
    grid-area: vtPoster;
  }
  #vt_main .vt-multicolumn .vt-num-col-2 .vt-audio .vt-media-banner .vt-media-title {
    grid-area: vtTitle;
  }
  #vt_main .vt-multicolumn .vt-num-col-2 .vt-audio .vt-media-banner .vt-media-details {
    grid-area: vtDetails;
  }
  #vt_main .vt-multicolumn .vt-num-col-2 .vt-audio .vt-media-banner .vt-media-poster {
    max-width: 6vw;
    margin-bottom: 0;
  }
  #vt_main .vt-multicolumn .vt-num-col-2 .vt-audio .vt-media-banner .vt-media-title {
    margin-bottom: 0;
  }
  #vt_main .vt-multicolumn .vt-num-col-2 .vt-media-title-heading {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 2160px) {
  #vt_main .vt-multicolumn .vt-num-col-2 .vt-media-title-heading {
    font-size: 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  #vt_main .vt-multicolumn .vt-num-col-3 .vt-audio .vt-media-banner {
    display: flex;
  }
  #vt_main .vt-multicolumn .vt-num-col-3 .vt-media-title-heading {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 1920px) {
  #vt_main .vt-multicolumn .vt-num-col-3 .vt-media-title-heading {
    font-size: 1.2rem;
  }
}
@media screen and (min-width: 2160px) {
  #vt_main .vt-multicolumn .vt-num-col-3 .vt-audio .vt-media-banner {
    display: grid;
    grid-template: "vtPoster vtTitle" "vtDetails vtDetails"/auto auto;
    grid-column-gap: 1em;
    grid-row-gap: 1em;
  }
  #vt_main .vt-multicolumn .vt-num-col-3 .vt-audio .vt-media-banner .vt-media-poster {
    grid-area: vtPoster;
  }
  #vt_main .vt-multicolumn .vt-num-col-3 .vt-audio .vt-media-banner .vt-media-title {
    grid-area: vtTitle;
  }
  #vt_main .vt-multicolumn .vt-num-col-3 .vt-audio .vt-media-banner .vt-media-details {
    grid-area: vtDetails;
  }
  #vt_main .vt-multicolumn .vt-num-col-3 .vt-audio .vt-media-banner .vt-media-poster {
    max-width: 6vw;
    margin-bottom: 0;
  }
  #vt_main .vt-multicolumn .vt-num-col-3 .vt-audio .vt-media-banner .vt-media-title {
    margin-bottom: 0;
  }
}
#vt_main #vt_right_col .media .vt-audio .vt-media-banner {
  display: flex;
}
#vt_main #vt_right_col .media .vt-media-title-heading {
  font-size: 1.2rem;
}
#vt_main #vt_right_col .media .vt-media-poster {
  max-width: 100%;
}

#vt_main .vt-full-width .media:has(> .vt-media-full-width) .vt-media-banner {
  grid-template-rows: auto auto !important;
  grid-template-columns: auto 78% !important;
  grid-row-gap: unset !important;
  grid-column-gap: 2em !important;
  align-items: end !important;
}
#vt_main .vt-full-width .media:has(> .vt-media-full-width) .vt-media-banner .vt-media-poster {
  max-width: 500px !important;
  max-width: -webkit-fill-available !important;
  max-width: -moz-available !important;
  max-width: stretch !important;
  align-self: center;
}
#vt_main .vt-full-width .media:has(> .vt-media-full-width) .vt-media-banner .vt-media-poster .vt-media-poster-img {
  -webkit-clip-path: circle(50%);
          clip-path: circle(50%);
}
#vt_main .vt-full-width .media:has(> .vt-media-full-width) .vt-media-banner .vt-media-title-heading {
  font-size: 3vmin !important;
  font-weight: 600;
  font-style: italic;
}
@media screen and (min-width: 1920px) {
  #vt_main .vt-full-width .media:has(> .vt-media-full-width) .vt-media-banner .vt-media-title-heading {
    font-size: 3.5vmin !important;
  }
}
#vt_main .vt-full-width .media:has(> .vt-media-full-width) .vt-media-banner .vt-media-title {
  align-self: center !important;
  padding-bottom: 1em;
}
@media screen and (min-width: 1200px) {
  #vt_main .vt-full-width .media:has(> .vt-media-full-width) .vt-media-banner .vt-media-title {
    align-self: end !important;
  }
}
#vt_main .vt-full-width .media:has(> .vt-media-full-width) .vt-media-banner .vt-media-details {
  align-self: start !important;
}
#vt_main .vt-full-width .media:has(> .vt-media-full-width) .vt-media-banner .vt-media-details + .video-js {
  grid-area: vtAudio;
  position: relative;
  right: 2rem;
}
#vt_main .vt-full-width .media:has(> .vt-media-full-width) .vt-media-banner:has(> .video-js) {
  grid-template-areas: "vtPoster vtTitle" "vtPoster vtDetails" "vtPoster vtAudio" !important;
  grid-template-rows: auto auto !important;
  grid-template-columns: auto 78% !important;
}
#vt_main .vt-full-width .media:has(> .vt-media-full-width) .vt-media-transcript .vt-media-transcript-toggle {
  align-self: inherit !important;
  font-weight: 600 !important;
  border: 2px solid var(--vt-smoke) !important;
  color: var(--vt-smoke-6s) !important;
  margin-top: 1em;
}

#vt_main .media .vt-media-dark {
  background-color: var(--vt-hokieStone-5s);
  box-shadow: none;
}
#vt_main .media .vt-media-dark.vt-video .video-js .vjs-progress-holder {
  background-color: white;
}
#vt_main .media .vt-media-dark.vt-video .video-js .vjs-progress-holder:focus {
  outline-color: white;
}
#vt_main .media .vt-media-dark.vt-audio .video-js {
  color: white;
}
#vt_main .media .vt-media-dark.vt-audio .video-js .vjs-progress-holder {
  background-color: var(--vt-hokieStone-5t);
}
#vt_main .media .vt-media-dark.vt-audio .video-js .vjs-progress-holder:focus {
  outline-color: white;
}
#vt_main .media .vt-media-dark .vt-poster-default img {
  content: url("../../../global_assets/images/mediaicons/audio-default.svg");
}
#vt_main .media .vt-media-dark :focus {
  outline-color: white;
}
#vt_main .media .vt-media-dark .vt-media-details {
  border-top-color: white;
}
#vt_main .media .vt-media-dark .vt-media-transcript:before {
  background: white;
  color: white;
}
#vt_main .media .vt-media-dark .vt-media-transcript .vt-media-transcript-toggle {
  border-color: white;
  color: white;
  background-color: var(--vt-hokieStone-5s);
}
#vt_main .media .vt-media-dark .vt-media-transcript .vt-media-transcript-content {
  color: black;
}
#vt_main .media .vt-media-dark .vt-media-banner {
  color: white;
}
#vt_main .media .vt-media-dark.vt-media-highlight .vt-media-details, #vt_main .media .vt-media-dark.vt-media-highlight-details .vt-media-details {
  background-color: var(--vt-hokieStone-6s);
  padding: 0 0.75em;
  line-height: 2;
  align-items: center;
  border-bottom-right-radius: 7px;
  border-bottom-left-radius: 7px;
}
#vt_main .media .vt-media-purple {
  background-color: var(--vt-purple);
  box-shadow: none;
}
#vt_main .media .vt-media-purple.vt-video .video-js .vjs-progress-holder {
  background-color: white;
}
#vt_main .media .vt-media-purple.vt-video .video-js .vjs-progress-holder:focus {
  outline-color: white;
}
#vt_main .media .vt-media-purple.vt-audio .video-js {
  color: white;
}
#vt_main .media .vt-media-purple.vt-audio .video-js .vjs-progress-holder {
  background-color: var(--vt-hokieStone-5t);
}
#vt_main .media .vt-media-purple.vt-audio .video-js .vjs-progress-holder:focus {
  outline-color: white;
}
#vt_main .media .vt-media-purple .vt-poster-default img {
  content: url("../../../global_assets/images/mediaicons/audio-default.svg");
}
#vt_main .media .vt-media-purple :focus {
  outline-color: white;
}
#vt_main .media .vt-media-purple .vt-media-details {
  border-top-color: white;
}
#vt_main .media .vt-media-purple .vt-media-transcript:before {
  background: white;
  color: white;
}
#vt_main .media .vt-media-purple .vt-media-transcript .vt-media-transcript-toggle {
  border-color: white;
  color: white;
  background-color: var(--vt-purple);
}
#vt_main .media .vt-media-purple .vt-media-transcript .vt-media-transcript-content {
  color: black;
}
#vt_main .media .vt-media-purple .vt-media-banner {
  color: white;
}
#vt_main .media .vt-media-purple.vt-media-highlight .vt-media-details, #vt_main .media .vt-media-purple.vt-media-highlight-details .vt-media-details {
  background-color: var(--vt-purple-1t);
  padding: 0 0.75em;
  line-height: 2;
  align-items: center;
  border-bottom-right-radius: 7px;
  border-bottom-left-radius: 7px;
}
#vt_main .media .vt-media-maroon {
  background-color: var(--vt-maroon);
  box-shadow: none;
}
#vt_main .media .vt-media-maroon.vt-video .video-js .vjs-progress-holder {
  background-color: white;
}
#vt_main .media .vt-media-maroon.vt-video .video-js .vjs-progress-holder:focus {
  outline-color: white;
}
#vt_main .media .vt-media-maroon.vt-audio .video-js {
  color: white;
}
#vt_main .media .vt-media-maroon.vt-audio .video-js .vjs-progress-holder {
  background-color: var(--vt-hokieStone-5t);
}
#vt_main .media .vt-media-maroon.vt-audio .video-js .vjs-progress-holder:focus {
  outline-color: white;
}
#vt_main .media .vt-media-maroon .vt-poster-default img {
  content: url("../../../global_assets/images/mediaicons/audio-maroon.svg");
}
#vt_main .media .vt-media-maroon :focus {
  outline-color: white;
}
#vt_main .media .vt-media-maroon .vt-media-details {
  border-top-color: white;
}
#vt_main .media .vt-media-maroon .vt-media-transcript:before {
  background: white;
  color: white;
}
#vt_main .media .vt-media-maroon .vt-media-transcript .vt-media-transcript-toggle {
  border-color: white;
  color: white;
  background-color: var(--vt-maroon);
}
#vt_main .media .vt-media-maroon .vt-media-transcript .vt-media-transcript-content {
  color: black;
}
#vt_main .media .vt-media-maroon .vt-media-banner {
  color: white;
}
#vt_main .media .vt-media-maroon.vt-media-highlight .vt-media-details, #vt_main .media .vt-media-maroon.vt-media-highlight-details .vt-media-details {
  background-color: var(--vt-maroon-1t);
  padding: 0 0.75em;
  line-height: 2;
  align-items: center;
  border-bottom-right-radius: 7px;
  border-bottom-left-radius: 7px;
}
#vt_main .media .vt-media-orange {
  background-color: var(--vt-burntOrangeWeb);
  box-shadow: none;
}
#vt_main .media .vt-media-orange.vt-video .video-js .vjs-progress-holder {
  background-color: white;
}
#vt_main .media .vt-media-orange.vt-video .video-js .vjs-progress-holder:focus {
  outline-color: white;
}
#vt_main .media .vt-media-orange.vt-audio .video-js {
  color: white;
}
#vt_main .media .vt-media-orange.vt-audio .video-js .vjs-progress-holder {
  background-color: var(--vt-hokieStone-5t);
}
#vt_main .media .vt-media-orange.vt-audio .video-js .vjs-progress-holder:focus {
  outline-color: white;
}
#vt_main .media .vt-media-orange .vt-poster-default img {
  content: url("../../../global_assets/images/mediaicons/audio-orange.svg");
}
#vt_main .media .vt-media-orange :focus {
  outline-color: white;
}
#vt_main .media .vt-media-orange .vt-media-details {
  border-top-color: white;
}
#vt_main .media .vt-media-orange .vt-media-transcript:before {
  background: white;
  color: white;
}
#vt_main .media .vt-media-orange .vt-media-transcript .vt-media-transcript-toggle {
  border-color: white;
  color: white;
  background-color: var(--vt-burntOrangeWeb);
}
#vt_main .media .vt-media-orange .vt-media-transcript .vt-media-transcript-content {
  color: black;
}
#vt_main .media .vt-media-orange .vt-media-banner {
  color: white;
}
#vt_main .media .vt-media-orange.vt-media-highlight .vt-media-details, #vt_main .media .vt-media-orange.vt-media-highlight-details .vt-media-details {
  background-color: var(--vt-burntOrangeWeb-1t);
  padding: 0 0.75em;
  line-height: 2;
  align-items: center;
  border-bottom-right-radius: 7px;
  border-bottom-left-radius: 7px;
}
#vt_main .media .vt-media-highlight .vt-media-details,
#vt_main .media .vt-media-highlight-details .vt-media-details {
  background-color: var(--vt-grey-6t);
  padding: 0 0.75em;
  line-height: 2;
  align-items: center;
  border-bottom-right-radius: 7px;
  border-bottom-left-radius: 7px;
}

#vt_main .media > .vt-media-no-border {
  box-shadow: none !important;
  padding: 0 !important;
}

#vt_main .media > .vt-media-no-bg {
  background-color: transparent !important;
}

@-webkit-keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  } /* Move by half because content is doubled */
}

@keyframes scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  } /* Move by half because content is doubled */
}

#vt_main .media {
  /* .video-js,
  .vt-media-transcript-content {
  	@supports (content-visibility: auto) {
  		content-visibility: auto;
  		contain-intrinsic-size: auto 500px;
  	}
  } */
}
#vt_main .media .video-js .vjs-control-bar .vjs-play-control {
  width: auto;
}
#vt_main .media .video-js .vjs-control-bar .vjs-volume-bar {
  color: var(--vt-maroon);
}
#vt_main .media .video-js .vjs-time-control {
  align-self: center;
  font-family: Rubik, "gineso-condensed";
  font-style: italic;
  font-size: initial;
}
#vt_main .media .video-js .vjs-remaining-time {
  display: flex;
  justify-content: center;
  align-items: center;
}
#vt_main .media .video-js .vjs-remaining-time-display::after {
  content: " minutes";
}
#vt_main .media .video-js .vjs-menu-button-popup {
  outline-offset: -3px;
}
#vt_main .media .video-js .vjs-control-bar button:focus {
  outline-offset: -3px;
}
#vt_main .media .video-js .vjs-menu-item:focus {
  outline-offset: -3px;
  outline-color: white;
}
#vt_main .media .video-js .vjs-menu-item.vjs-selected:focus {
  outline-color: black;
}
#vt_main .media .video-js .vjs-button > .vjs-icon-placeholder:before {
  position: unset;
}
#vt_main .media .video-js .vjs-play-control .vjs-icon-placeholder::before {
  font-size: 6em;
  line-height: 1;
}
#vt_main .media .vt-video .video-js { /* Video */ }
#vt_main .media .vt-video .video-js .vjs-control-bar {
  /* Changing font size here increases control-bar button size */
  font-size: 1em;
  background-color: rgba(255, 255, 255, 0.7);
  background-color: rgba(255, 255, 255, 0.7);
  color: black;
  height: 100px;
}
#vt_main .media .vt-video .video-js .vjs-volume-control {
  background-color: white;
  background-color: rgba(255, 255, 255, 0.7);
  background-color: rgba(255, 255, 255, 0.7);
}
#vt_main .media .vt-video .video-js .vjs-volume-level {
  background-color: black;
}
#vt_main .media .vt-video .video-js .vjs-big-play-button:focus {
  outline-offset: 3px;
  outline-color: white;
}
#vt_main .media .vt-video .video-js .vjs-volume-bar:focus {
  outline-offset: 3px;
  outline-color: black;
}
#vt_main .media .vt-video .video-js .vjs-big-play-button {
  color: white;
}
#vt_main .media .vt-video .video-js .vjs-playback-rate-value {
  display: flex;
  align-items: center;
  justify-content: center;
}
#vt_main .media .vt-audio .video-js { /* Audio */
  background-color: unset;
  color: var(--vt-hokieStone-5s);
}
#vt_main .media .vt-audio .video-js .vjs-control-bar {
  /* Changing font size here increases control-bar button size */
  font-size: 1.5em;
  background-color: unset;
  height: 100%;
}
#vt_main .media .vt-audio .video-js .vjs-volume-bar:focus {
  outline-offset: 10px;
  outline-color: white;
}
#vt_main .media .vt-audio .video-js .vjs-progress-holder:focus {
  outline-offset: 10px;
  outline-color: black;
}
@media screen and (min-width: 992px) {
  #vt_main .media .vt-audio .video-js .vjs-control-bar {
    font-size: 1.5em;
  }
  #vt_main .media .vt-video .video-js .vjs-control-bar {
    font-size: 1.25em;
  }
  #vt_main .media .vtmulticolumn .vt-audio .video-js .vjs-control-bar {
    font-size: 1.25em;
  }
}
@media screen and (min-width: 1440px) {
  #vt_main .media .vjs-control-bar {
    font-size: 1.5em;
  }
  #vt_main .media .vtmulticolumn .vt-video .video-js .vjs-control-bar {
    font-size: 1em;
  }
}

/* This is set on vt-video already (global assets) but no definition for audio exists. This is just a patch. */
#vt_main #vt_no_rb div[class$=-body] > .vt-bodycol-content > .media > .vt-audio {
  margin: 2em 10%;
}

#vt_main .media .embed-responsive {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  overflow: hidden;
}
#vt_main .media .embed-responsive::before {
  display: block;
  content: "";
}
#vt_main .media .embed-responsive .embed-responsive-item,
#vt_main .media .embed-responsive iframe, #vt_main .media .embed-responsive embed, #vt_main .media .embed-responsive object, #vt_main .media .embed-responsive video {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
#vt_main .media .embed-responsive-21by9::before {
  padding-top: 42.85714286%;
}
#vt_main .media .embed-responsive-16by9::before {
  padding-top: 56.25%;
}
#vt_main .media .embed-responsive-4by3::before {
  padding-top: 75%;
}
#vt_main .media .embed-responsive-1by1::before {
  padding-top: 100%;
}

/* END Internal Media Component Styles ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ */

/*** BEGIN GALLERY CAROUSEL COMPONENT STYLES */

.vt-gallery-carousel-title-head {
    font-size: 1.125em;
    font-family: "rubik", sans-serif;
    margin-bottom: 15px;
    color: #000;
    display: block;
    line-height: 1;

    @media screen and (min-width: 576px) {
      font-size: 2em;
    }
    
    .vt-gallery-carousel-title {
        color: #000;
        text-decoration: underline;
        
        &:visited {
            color: #000;
        }
    }
}

.vt-gallery-carousel-subtitle {
    font-size: 14px;
    color: rgb(59, 60, 62);
    margin: 0 0 10px 0;
    line-height: 1.6;

    @media screen and (min-width: 576px) {
        font-size: 1rem;
        margin: 0 0 30px 0;
    }
}

.vt-gallery-carousel {
    position: relative;
    overflow: hidden;
}

.vt-gallery-carousel-items {
    list-style: none;
    padding: 0;
    margin: 0;
    position: relative;
}

.vt-gallery-carousel-control {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    padding: 10px;
    cursor: pointer;
    z-index: 10;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;

    .vt-gallery-carousel-control-svg {
        width: 30px;
        height: 30px;
    }

    &.vt-gallery-carousel-previous {
        left: 15px;
    }

    &.vt-gallery-carousel-next {
        right: 15px;
    }

    @media screen and (min-width: 576px) {
        .vt-gallery-carousel-control-svg {
            width: 45px;
            height: 45px;
        }
    }
}

.vt-gallery-carousel-slide-header {
    text-align: left;

    .vt-gallery-carousel-title {
        margin: 0 0 6px 0;
    }

    .vt-gallery-carousel-subtitle {
        margin: 0 0 15px 0;
        line-height: 1.4;
    }
}

.vt-carousel-indicator-playPause .vt-indicators-playPausebtn {
    background: none;
    border: none;
    color: rgb(255, 255, 255);
    font-size: 2em;
    padding: 0 12px;
    cursor: pointer;
    vertical-align: text-bottom;
}

.vt-gallery-carousel-item {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    transition: transform 0.6s ease-in-out, opacity 0.6s ease-in-out;
    will-change: transform, opacity;

    &.vt-active {
        display: block;
        position: relative;
        z-index: 2;
        opacity: 1;
    }

    &.in-transition {
        display: block;
        z-index: 1;
        opacity: 0.7;
    }

    &.next.in-transition {
        transform: translateX(100%);
    }

    &.prev.in-transition {
        transform: translateX(-100%);
    }

    .vt-gallery-carousel-item-image-picture {
        display: block;
        position: relative;
        width: 100%;

        .vt-gallery-carousel-item-image-picture-img {
            width: 100%;
            height: auto;
            display: block;
        }
    }

    .vt-gallery-carousel-item-info {
        background: rgb(134, 31, 65);
        color: rgb(255, 255, 255);
        padding: 1em;
        font-size: 0.8em;
        line-height: 1.4;
        position: absolute;
        bottom: -1px;
        width: 100%;


        .vt-gallery-carousel-item-info-heading {
            margin: 0 0 0.3em;
            font-weight: bold;
            font-size: 1em;

            .vt-gallery-carousel-item-info-heading-link {
                color: rgb(255, 255, 255);
                text-decoration: none;
            }
        }

        .vt-gallery-carousel-item-info-description {
            margin: 0;
        }
    }
}

/* Right-to-left animation variant (W3C-style slide) */
.vt-gallery-carousel-animate-slide {
    .vt-gallery-carousel-items {
        position: relative;
        height: 100%;
    }

    .vt-gallery-carousel-item {
        display: block;
        top: 0;
        left: 0;
        opacity: 0;
        transform: translateX(100%);
        transition: transform 0.6s ease-in-out, opacity 0.6s ease-in-out;
        z-index: 0;

        &.vt-active {
            transform: translateX(0%);
            opacity: 1;
            z-index: 1;
        }

        &.slide-out-left {
            transform: translateX(-100%);
            opacity: 0;
            z-index: 0;
        }
    }
}

.vt-carousel-indicators {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #000;
    padding: 0;
    margin: 0;
    list-style: none;

    .vt-carousel-indicator-item {
        display: flex;
        justify-content: center;
        align-items: center;

        .vt-indicators-btn {
            width: 48px;
            height: 48px;
            background: transparent;
            border: none;
            margin: 0 6px;
            padding: 0;
            cursor: pointer;
            position: relative;

            &::before {
                content: "";
                position: absolute;
                top: 50%;
                left: 50%;
                width: 24px;
                height: 24px;
                transform: translate(-50%, -50%);
                border-radius: 50%;
                border: 2px solid #fff;
                background: transparent;
                transition: all 0.3s ease;
                pointer-events: none;
            }

            &.vt-active::before {
                background: rgb(255, 255, 255);
            }
        }
    }
}

/* Variants for layout customization */
.vt-gallery-carousel-title-inside {
    .vt-gallery-carousel-slide-header {
        position: absolute;
        z-index: 1;
        background: rgba(0, 0, 0, 0.6);
        padding: 8px;
        left: 0;
        box-sizing: border-box;
        width: 100%;

        .vt-gallery-carousel-title {
            color: rgb(255, 255, 255);
            text-decoration: none;
        }

        p.vt-gallery-carousel-subtitle {
            color: rgb(255, 255, 255);
        }
    }


    @media (min-width: 576px) {
        .vt-gallery-carousel-slide-header {
            padding: 10px;
        }
    }

    @media (min-width: 768px) {
        .vt-gallery-carousel-slide-header {
            padding: 15px;
        }
    }

    @media (min-width: 992px) {
        .vt-gallery-carousel-slide-header {
            padding: 20px 20px 10px 20px;
        }
    }


}

.vt-gallery-carousel-outside-bg-title {
    margin-top: 50px;

    .vt-gallery-carousel-slide-header {
        background: #000;
        padding: 10px 20px 10px 20px;
        border-bottom: 3px solid rgb(202, 79, 0);

        .vt-gallery-carousel-title {
            color: rgb(255, 255, 255);
            text-decoration: none;
        }

        p.vt-gallery-carousel-subtitle {
            color: rgb(255, 255, 255);
        }
    }

    .vt-gallery-carousel-item-info {
        background: rgb(202, 79, 0);
    }
}

/******************************* Reduced Motion *******************************/
@media (prefers-reduced-motion: reduce) {

    .vt-gallery *,
    .vt-gallery *::before,
    .vt-gallery *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }

    .vt-gallery-carousel-item,
    .vt-gallery-carousel-animate-slide .vt-gallery-carousel-item {
        transition: none !important;
        transform: none !important;
    }

    .vt-carousel-indicator-item .vt-indicators-btn {
        transition: none !important;
    }
}

/******************************* Accessibility fix *******************************/
.vt-gallery-carousel-control,
.vt-carousel-indicators .vt-indicators-btn,
.vt-gallery-carousel-title {

    &.vt-active,
    &:focus {
        outline: 3px solid #ffffff;
        outline-offset: 2px;
        background-color: #333;
        color: #fff;
    }
}

.vt-carousel-indicators .vt-indicators-btn {

    &.vt-active::before,
    &:focus::before {
        background: #ffffff;
        border-color: #ffffff;
    }
}

.vt-gallery-carousel-control:focus-visible,
.vt-carousel-indicators .vt-indicators-btn:focus-visible,
.vt-gallery-carousel-title:focus-visible {
    outline: 3px solid #ffffff;
    outline-offset: 2px;
    background-color: #333;
    color: #fff;
}

/*** END GALLERY CAROUSEL COMPONENT STYLES */
/*** BEGIN GALLERY LIGHTBOX COMPONENT STYLES */

/* Enlarged photo */
.vt-gallery-enlarged {
text-align: center;
margin-bottom: 20px;
position: relative;
}

.vt-gallery-enlarged img{
width: 100%;
}

.vt-gallery-featured-control {
position: absolute;
top: 50%;
transform: translateY(-50%);
border: none;
padding: 10px;
cursor: pointer;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
background: transparent;
}

.vt-gallery-featured-control svg {
width: 45px;
height: 45px;
}

.vt-gallery-featured-control.vt-gallery-featured-previous {
left: 15px;
}

.vt-gallery-featured-control.vt-gallery-featured-next {
right: 15px;
}

/* Additional styles for smaller images */
.vt-gallery-thumbnails {
display: grid;
grid-template-columns: 33.3% 33.3% 33.3%;
gap: 5px;
}

/* Styles for thumnail buttons */
.vt-gallery-thumbnail-button {
display: inline-block; /* Ensure they respect their content size */
overflow: hidden;
background: none;
border: none;
height: 160px;
position: relative;
padding: 0;
}

.vt-gallery-thumbnail-button img{
width: 100%;
height: 100%;
object-fit: cover;
cursor: pointer;
transition: transform 0.3s ease-in-out;
}

.vt-gallery-thumbnail-button img:hover{
transform: scale(1.1);
}

.vt-gallery-lightbox-image-cont {
margin: 0px auto;
}

.vt-gallery-title {
background-color: rgba(59,60, 62,.5);
margin: 0;
color: #fff;
text-align: left;
padding: 5px 5px 5px 10px;
position: absolute;
width: 100%;
}

.vt-gallery-caption {
text-align: start;
font-size: 1rem;
margin: 0;
padding: 5px 15px;
background-color: rgb(134, 31, 65);
font-family: sans-serif;
font-style: italic;
color: #fff;
}

/***** lightbox Version *****/

.vt-lightbox-dialog {
position: fixed;
inset: 0;
background: transparent;
display: flex;
flex-direction: column;
align-items: center;
justify-content: flex-start;
overflow: hidden;
padding: 0;
box-sizing: border-box;
border: none;
margin-bottom: 10em;

--thumbs-h: clamp(72px, 14vw, 120px);
--stage-gap: 12px;
}

.vt-lightbox-dialog::backdrop {
background: rgba(0,0,0,.55);
}

.vt-gallery-lightbox .vt-gallery-lightbox-enlarged {
display: none;
}

.vt-gallery-lightbox-enlarged img {
display: block;
width: auto;
max-width: 100%;
height: auto;
max-height: calc(100vh - var(--thumbs-h) - var(--stage-gap) - 5.5rem);
object-fit: contain;
}

.vt-gallery-lightbox-title {
position: absolute;
top: 0; left: 0; right: 0;
margin: 0;
padding: 0.5rem 0.75rem;
font: 700 1.125rem/1.2 var(--rubik, inherit);
color: #fff;
background: rgba(0,0,0,.50);
box-sizing: border-box;
font-size: 1.75em;
}

.vt-gallery-lightbox-caption {
position: absolute;
left: 0;
right: 0;
bottom: 0;
margin: 0;
padding: 0.6rem 0.75rem;
color: #fff;
font-style:italic;
box-sizing: border-box;
background: rgb(134,31,65);
}

.vt-gallery-lightbox .vt-gallery-lightbox-thumbnails {
display: grid;
grid-template-columns: repeat(3,1fr);
gap: 5px;
position: static;
height: auto;
background: none;
padding: 0;
list-style: none;
}

.vt-gallery-lightbox .vt-gallery-lightbox-thumbnails > li {
flex: 0 0 auto;
position: relative;
}

.vt-gallery-lightbox .vt-gallery-lightbox-thumbnail-button {
display: inline-block;
overflow: hidden;
background: none;
border: none;
height: 9em;
width: 100%;
}

.vt-gallery-lightbox-thumbnail-button img {
width: 100%;
height: 100%;
object-fit: cover;
display: block;
transition: transform 0.2s ease;
}

.vt-gallery-lightbox-thumbnail-button img:hover {
transform: scale(1.05);
}

.vt-gallery-lightbox-thumbnail-button.selected,
.vt-gallery-lightbox-thumbnail-button:focus-visible {
outline: 2px solid purple;
outline-offset: 2px;
}

.vt-gallery-featured-control {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(0,0,0,.50);
border-radius: 25px;
border: 0;
padding: 0.25rem;
cursor: pointer;
z-index: 4;
}

.vt-gallery-featured-previous {
left: -3rem;
}

.vt-gallery-featured-next {
right: -3rem;
}

.vt-gallery-lightbox-close-btn {
align-self:flex-end;
display:flex;
justify-content:center;
align-items:center;
background-color:transparent;
border:1px solid rgba(229,225,230,.5);
border-radius:0;
margin-bottom:.5em;
width:1.25em;
height:1.25em;
position: fixed;
top: 0.75rem;
right: 0.75rem;
font-size: 24px;
cursor: pointer;
padding: 8px 12px;
z-index: 100;
display: none;
}

.vt-gallery-lightbox-close-btn:hover { background-color:transparent; }

.vt-gallery-lightbox-close-btn .vt-gallery-lightbox-close-svg { color: white; }

html.vt-lightbox-open {
overflow: hidden;
}

@media (min-width: 992px) {
.vt-gallery-lightbox-enlarged img {
max-height: calc(100vh - var(--thumbs-h) - var(--stage-gap) - 4.5rem);
}
.vt-gallery-featured-previous {
left: -3.5rem;
}
.vt-gallery-featured-next {
right: -3.5rem;
}
}

@media screen and (min-width: 590px){
.vt-gallery-thumbnails {
grid-template-columns: 20% 20% 20% 20% 20%;
}
.vt-gallery-lightbox .vt-gallery-lightbox-thumbnails {
    grid-template-columns: repeat(5,1fr);
}
}

/* Edit Alert CSS */

.vt-hide-on-publish {
    display: none;
}
  
.aem-AuthorLayer-Edit .vt-image-no-alt {
    display: block;
    position: relative;
    border: 2px rgba(255, 0, 0, 1.0) dashed;
    /* padding-top: 25%; */
}
  
@media screen and (min-width: 992px) {
    .aem-AuthorLayer-Edit .vt-image-no-alt {
      padding-top: 8%;
    }
}
  
.aem-AuthorLayer-Edit .vt-image-no-alt::after {
    position: absolute;
    content: "*** Content Will Not Appear When Published ***";
    font-size: 1.125rem;
    font-weight: 700;
    text-align: center;
    color: rgba(255, 0, 0, 1.0);
    margin: 0;
    top: 8px;
    width: 100%;
}

.vt-content-alert {
    position: absolute;
    opacity: 0.9;
    z-index: 1;
    inset: 0px;
    color:#300b17;
    background-color:#d3aebb;
    border-color:#ad677e;
    padding: 0.6667em;
}

.vt-content-alert-heading {
    font-weight: 500;
    font-size: 1em;
    margin-bottom: 0;
}

.vt-content-alert-message {
    font-size: 0.8333em;
    line-height: 1.1;
}

/*** END GALLERY LIGHTBOX COMPONENT STYLES */
.download::before {
	content: none !important;
}

.download {
	border-radius: 15px;
	margin: 1em 0 20px 0;
}

/************************************** BEGIN NEW DOWNLOAD STYLES */
.download .vt-download {
	display: flex;
	flex-direction: column;
	background-color: var(--vt-hokieStone-6s);
	color: white;
	border-radius: 15px;
	align-items: unset;
	box-shadow: 0 0 10px rgba(23, 24, 25, 0.2);
	padding: 1em 1.25em 1.25em;
	gap: 1em;
	margin-bottom: 0;
}
@media screen and (max-width: 767px) {
	.download .vt-download-toggle {
		padding-top: 0.5em;
		padding-bottom: 0.5em;
	}
	.download .vt-download-filename {
		padding: 0.5em 0;
	}

	.download .vt-download-description {
		padding: 0.5em 0;
	}
	.download .vt-download-filesize {
		padding: 0.5em 0;
	}
}
.download .vt-download-title {
	font-weight: 600;
	font-size: 1.1em;
	line-height: 1;
	word-break: break-word;
}
.download .vt-download-title:empty {
	display: none;
}
.download .vt-download-details {
	background-color: white;
	color: black;
	border-radius: inherit;
}
.download .vt-download-toggle {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	border: 0;
	border-radius: inherit !important;
	transition: outline-color 0.15s;
	font-weight: 600;
	background-color: transparent;
	padding-top: 0.33em;
	padding-bottom: 0.33em;
	padding-right: 1em;
	padding-left: 1em;
}
.download .vt-download-toggle[aria-expanded=true]:focus {
	outline-offset: -4px;
	outline-color: var(--vt-hokieStone-6s);
}
.download .vt-download-toggle[aria-expanded=true] .vt-download-toggle-icon-img {
	transform: rotate(-180deg);
	-webkit-transform: rotate(-180deg);
}
.download .vt-download-toggle-text {
	font-weight: inherit;
}
.download .vt-download-toggle-text .vt-download-toggle-filename {
	font-weight: inherit;
}
.download .vt-download-toggle-icon {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 1em;
	margin-right: 5px;
}
.download .vt-download-toggle-icon .vt-download-toggle-icon-img {
	transition: transform 0.3s;
}
.download .vt-download-info {
	overflow: hidden;
	padding-right: 1em;
	padding-left: 1em;
	padding-bottom: 0.5em;
}
.download .vt-download-info[aria-expanded=false] {
	display: none;
}
.download .vt-download-filename {
	border-top: 2px dotted var(--vt-hokieStone-6s);
	word-break: break-all;
	font-weight: 600;
	padding: 0.5em 0;
}
.download .vt-download-filename:first-child {
	border-top-style: solid;
}
.download .vt-download-filesize {
	border-top: 2px dotted var(--vt-hokieStone-6s);
	font-weight: 600;
	padding: 0.5em 0;
}
.download .vt-download-filesize:empty {
	display: none;
}
.download .vt-download-filesize:first-child {
	border-top-style: solid;
}
.download .vt-download-description {
	border-top: 2px dotted var(--vt-hokieStone-6s);
	font-style: italic;
	font-weight: 600;
	padding: 0.5em 0;
}
.download .vt-download-filename-text {
	font-style: italic;
}
.download .vt-download-filesize-text {
	font-style: italic;
}
.download .vt-download-link {
	display: inherit;
}
.download .vt-download-link a {
	text-decoration: none;
	color: black;
	text-transform: uppercase;
	font-family: gineso-condensed,sans-serif;
	font-weight: 400;
	background-color: white;
	padding: 0.25em 1em;
	border-radius: unset !important;
	border: 1px solid black;
}
.download .vt-download-link a:hover {
	text-decoration: underline;
}
.download .vt-download-dl-img {
	display: inline-block;
	margin-left: 0.25em;
	height: 1em;
	vertical-align: -0.125em;
}
.download a:focus,
.download button:focus {
	outline-offset: 3px;
	outline-style: dashed;
	outline-width: 2px;
	outline-color: white;
}

/************************************** END NEW DOWNLOAD STYLES */

div.adaptiveimage.image {
	display: inline; 
}
img.editor-hasimage{
    border: 0.125rem solid #ddd;
    opacity: 0.5;
}

.editor-hasimage-text{
  position: absolute;
  color: #CCC;
  display:block;
  height: 30px;
  width:100%;
  overflow: hidden;
  text-align:center;
  line-height: 2.875rem;
  font-size: 1.1rem;
  margin-left: -15px;
}
div.image img{
    max-width: 100%;
}

.vt_thumb_img{
    width: 100px;
}
.vt_small_img{
    width: 185px;
}
.vt_medium_img.img240{
    width: 240px;
}
.vt_medium_img.img490{
    width:490px;
}
