/**
 * Custom

 * Any custom styles implemented in the Modern Campus environment
 * should go here
 */

/* Copyright direct edit link for CMS */
#de {
	text-decoration: none;
	color: inherit;
}

.accordion__top__icon::before {
	background-image: url('/_resources/icons/arrow-secondary.svg');
}

.info-gallery__top-quote::before {
	background-image: url('/_resources/icons/quote-white-outline.svg');
}

/* Override vid-inline__cover::before when video is not present. This is for the Info Gallery Component. */
.photo-inline__cover {
	padding-top: 64.3%;
    position: relative;
    z-index: 2;
    color: #1a1919;
    opacity: 1;
    transition: 0.3s ease;
}

.photo-inline__cover img {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
}

.info-gallery__top-right .photo-inline__cover {
	padding-top: 70%
}

@media screen and (min-width: 700px) {
	.info-gallery__top-right .photo-inline__cover {
		padding-top: 67.6%
	}
}

@media screen and (min-width: 1025px) {
	.info-gallery__top-right .photo-inline__cover {
		padding-top: 72%
	}
}

/* Intro Block + Date: give some space if there is more than one paragraph. */
.date-intro .page-intro p:not(:first-of-type) {
    margin-top: 0.85em;
}

/* Fluid 3 Columns for multiple cards. */
.gen3col-fluid .column--three {
  display: grid;
  grid-template-columns: 1fr;
}

@media screen and (min-width: 700px) {
  .gen3col-fluid .column--three {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (min-width: 1025px) {
  .gen3col-fluid .column--three {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

/* 50 50 Image - Override
 * Removing right margin to keep image from scaling too big.
 */

@media screen and (min-width: 1600px) {
	.fifty-fifty__image {
		margin-right: 0;
	}
}

/* Table first column indents
 * Remove indent on td that follows a rowspan.
 */

table .--noindent td:first-child {
	padding-left: 10px;
}

table caption {
	font-weight: bold;
	padding: 1rem;
}

table thead {
	z-index: 98;
}

/* Gen 3 Column
 * List item bullets, switch to inherit color. Dark blue doesn't work.
 */
.gen3col .column__body ul>li::before {
	color: inherit;
}

/* Basic Margin Resets - Utility */
.--mt-0 { margin-top: 0; }
.--mb-0 {margin-bottom: 0; }

/* Accordion Header spacing with no intro */
.accordion__header:has(+ .accordion__all) {
	margin-bottom: 20px;
}

.accordion--add-spacing {
	margin: 30px auto;
}

@media screen and (min-width: 700px) {
	.accordion__header:has(+ .accordion__all) {
		margin-bottom: 30px;
	}
	
	.accordion--add-spacing {
		margin: 50px auto;
	}
}

@media screen and (min-width: 1025px) {
	.accordion__header:has(+ .accordion__all) {
		margin-bottom: 50px;
	}
	
	.accordion--add-spacing {
		margin: 100px auto;
	}
}

/* Remove top margin of heading inside accordion if first element. */
/* .accordion__content > h2:first-of-type,
.accordion__content > h3:first-of-type,
.accordion__content > h4:first-of-type {
	margin-top: 0;
} */


.column--three .column__body > *:first-child {
	margin-top: 0;
}

.column--three .column__body ul li,
.column--three .column__body ol li {
	font-size: 0.875rem;
}

@media screen and (min-width: 1025px) {
	.column--three .column__body ul li,
	.column--three .column__body ol li {
		font-size: 1rem;
	}
}

/* Image List - set link color to blue vs. white. */
.genimglist__body a {
  color: #07b;
}

/* Temp side photo card style adjustments */

.side-photo-card::before {
	background-color: transparent;	
}

.side-photo-card__image,
.side-photo-card__content {
	padding-top: 0;
	padding-bottom: 0;
}

/* Callout component margin adjustment */
.callout > *:first-child {
	margin-top: 0;
}

.callout ul>li::before,
.callout ol>li::before {
	color: inherit;
}

.degrees-and-certs__prereqs-body ul li,
.degrees-and-certs__prereqs-body ol li {
	font-size: inherit;
}

/* Link List - Negative Margin Adjustments
 * Setting a modifier to override the negative margins
 * on :first-child when its not needed.
 */

.link-list--no-collapse:first-child {
	margin-top: 30px;
}

@media screen and (min-width: 700px) {
	.link-list--no-collapse:first-child {
		margin-top: 50px;
	}
}

.vid-inline--top-collapse > .vid-inline {
	margin-top: 0;
}


/* Floating CTAs */
.floating-ctas {
  position: fixed;
  right: 0;
  bottom: 2rem;
  z-index: 90;
}

.floating-ctas #ctaBlock {
  padding: 0.5rem 1rem 0.5rem 0.5rem;
  backdrop-filter: blur(10px);
  display: flex;
  flex-direction: column;
  gap: 10px;
  opacity: 1;
  transition-property: opacity, display, transform;
  transition-duration: 0.4s;
  transition-behavior: allow-discrete;

  @starting-style {
    opacity: 0;
    transform: translateY(20px);
  }
}

.floating-ctas #ctaBlock.hideCTA {
  opacity: 0;
  display: none;
  transform: translateY(20px);
}

.floating-ctas a {
  text-decoration: none;
  text-transform: none;
  font-size: 16px;
}

.floating-menu__toggle {
  margin-top: 10px;
  margin-left: auto;
  margin-right: 1rem;
  width: 28px;
  height: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
  padding: 7px;
  border: 0;
  border-radius: 100em;
  background-color: #06a6e0;
  transition: all 0.2s;
}

@media screen and (min-width: 1025px) {
  .floating-menu__toggle {
    width: 38px;
    height: 38px;
  }
}

.floating-menu__toggle[aria-expanded='true'] {
  background-color: rgba(0,0,0,0.4);
  border: 1px solid #06a6e0;

  &:hover {
    background-color: #06a6e0;
  }

  &::after {
    width: 0;
  }
}

.floating-menu__toggle:hover {
  background-color: #f88d2d;
}

.floating-menu__toggle::before,
.floating-menu__toggle::after {
  content: '';
  width: 14px;
  position: absolute;
  border-top: solid 2px #fff;
}

.floating-menu__toggle::after {
  transform: rotate(90deg);
  transition: 0.3s width;
}

#ctaBlock .cta--button {
  background-color: #f88d2d;
}

#ctaBlock .cta--button:hover {
  background-color: #06a6e0;
}

/* Definition List - Default Style */
dt {
	font-weight: bold;
	margin-top: 3rem;
}

dl > dt:first-child {
	margin-top: 0;
}

dd {
	margin-top: 10px;
	margin-left: 0;
}

dd > p {
	margin-top: 0;
}

.cta--breathe {
	text-decoration: none;
	display: block;
	margin-bottom: 1.5em;
}

/*** Veritcal Cards - color contrast fix ***/
.vertical-cards__details {
	background: #07B;
}
