:root {
--franklin-gothic: franklin-gothic-urw, Arial, sans-serif;
--adobe-caslon-pro: adobe-caslon-pro, Garamond, serif;
--bodoni-urw: bodoni-urw, serif;

/* Brand Color Palate*/
--uvalib-main-rotunda-orange: #E57200;
--uvalib-main-jefferson-blue: #232D4B;
--uvalib-main-white: #FFFFFF;
--uvalib-main-black: #000000;


/*Secondary Brand Colors*/
--uvalib-secondary-web-orange: rgb(235, 95, 12);
--uvalib-secondary-web-blue: #141E3C;
--uvalib-secondary-light-gray: #F1F1F1;
--uvalib-secondary-medium-gray: #DADADA;
--uvalib-text-grey: #595959; /*ADA compliant*/
--uvalib-text-dk-grey: #474747; /*ADA compliant for hover over shaded table rows*/
--uvalib-text-almost-black: #212121; /*ADA compliant*/
--uvalib-secondary-emergency-red: #E00000; /*ADA compliant*/
--uvalib-secondary-cyan: rgb(0, 159, 223);
--uvalib-secondary-yellow: #FDDA24;
--uvalib-secondary-teal: #25CAD3;
--uvalib-secondary-magenta: #EF3F6B;
--uvalib-secondary-green: #008000; /*ADA compliant*/

	/*Custom SLab Colors*/
	--blue-alt-dark:#005679;
	--blue-alt:#007BAC;
	--blue-alt-light:#55C4EC;
	--blue-alt-lighter:#91D8F2;
	--blue-alt-lightest:#BFE7F7;
	--teal-darker:#16777C;
	--teal-dark:#1DA1A8;
	--teal:#25CAD3;
	--teal-light:#5BD7DE;
	--teal-lightest:#C8F2F4;
	--grape:rgb(111, 45, 189);
	--pale-aqua:rgb(184, 208, 235);
	--diamond: rgb(185, 250, 248);
	--darkpastelpurple: rgb(154, 119, 210);
	--medskyblue:rgb(117, 227, 239);
}

* {
    box-sizing: border-box;
}

html {

}

body {

    font-family: var(--franklin-gothic);
    font-weight: 300;
    background-color: #f9f9f9;
}

img {
  max-width: 100%;
  width: auto;
  height: auto;
}

a,:link {
}

#banner {
  display:flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: center;
  width: 100vw;
  z-index: 500000;
  padding: 0.5rem 3rem;
  height: 8vh;
  border-bottom: 1px solid rgba(0,0,0,0.125);
  background: white;
}

#banner span {
  display:flex;
  width: 200px;
  flex-direction:column;
  flex-wrap: nowrap;
  font-family: var(--franklin-gothic);
  line-height:0;
  align-content:center;
  margin:0;
  font-weight:700;
  font-size: 1.5rem;
}

#banner img {
  max-width: 100%;
  max-height:100%;
  width: auto;
}

#slab-logo {
  display:block;
  text-decoration:none;
  width:300px
}

.slide {
    height: 90vh;
}
.slide > div {
    display:flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-content:center;
    height: 100%;
    padding: 3rem;
}

.slide h1 {
  font-size: clamp(2.5rem, 4vw + 1.5rem, 4rem);
  margin:0;
  font-weight: 700;
  color: var(--uvalib-main-rotunda-orange);
}

.slide h2 {
  font-size: clamp(1.5rem, 2vw + 1rem, 2.25rem);
  margin:0;
  font-weight: 700;
  color: var(--blue-alt-dark);
}
.slide p,
.slide li {
  font-size: clamp(1rem, 1vh + 1.25rem, 1.5rem);
}

header.slide > div,
.slide.feature > div {
  justify-content: center;
}

header.slide h1,
.slide.feature h1 {
  font-size: clamp(2.5rem, 10vw + 1.5rem, 10rem);
}

header.slide p {
  font-size: clamp(1rem, 2vh + 1.5rem, 2rem);
}

.gallery {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 800px) {
  .gallery {
    grid-template-columns: repeat(6, 1fr);
  }

  #DH-partners-IATH .gallery {
    grid-template-columns: repeat(4, 1fr);
  }

}

.gallery li {
  font-size: 1rem;
}
.gallery .name {
  font-weight: 400;
}

.gallery .position {
  font-size:.75rem;
}

/* Specifid Slide Decks */
body#about-us,
body#student-work {
  background-color:white !important;
  color: #333;
}

body#about-us .slide,
body#student-work .slide {
  background-image:none !important;
  background-color:white !important;
  color: #333;
}
body#student-work #banner span,
body#about-us #banner span {
  font-weight:400;
  color: var(--uvalib-secondary-web-orange);
}
body#student-work a,
body#student-work a:link,
body#student-work a:visited,
body#about-us a,
body#about-us a:link,
body#about-us a:visited {
  color: var(--uvalib-secondary-cyan);
}
body#student-work a:hover,
body#student-work a:active,
body#about-us a:hover,
body#about-us a:active {
  color: var(--uvalib-secondary-web-blue);
}
/* Specific Slide Styles */
section#praxis-poster-3 {
  background-image: linear-gradient(rgba(35,45,75,0.875),rgba(35,45,75,0.875)),
  url('../images/buysse.png');
}

section#expertise {
  background-image: linear-gradient(rgba(35,45,75,0.875),rgba(35,45,75,0.875)),
  url('../images/map-charlottesville.jpg');
  flex-direction: row !important;
  flex-wrap: nowrap;
  justify-content:space-between;
  align-content: flex-start;
  width: 100vw !important;
}

section#expertise .content {
  display:flex;
  justify-content: space-between;
}

section#graduate-fellowships > div {
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
}

section#graduate-fellowships h1 {
  width: 100%;
  margin-bottom: 40px;
}
section#graduate-fellowships .summary {
  flex: 1;
}

body.makerspace,
body.research-and-development,
body.spatial-tech-gis {
  background-size: cover;
  background-attachment: fixed;
  background-repeat:no-repeat;
  background-position: bottom left;
}

body.makerspace {
  background-image: url("images/makerspace2.jpg");
}

body.research-and-development {
  background-image: url("images/buysse.png");
}

body.spatial-tech-gis {
  background-image: url("images/map-charlottesville.jpg");
  background-position: top right;
}

body.makerspace #banner,
body.spatial-tech-gis #banner,
body.research-and-development #banner {
  display:none;
}

body.makerspace .slide,
body.spatial-tech-gis .slide,
body.research-and-development .slide {
  width: 50vw;
  float: right;
  margin-top: 2rem;
  margin-right: 2rem;
  padding:2rem;
  background: none !important;
  box-shadow: 10px 10px rgba(0,0,0,0.25);
}

body.spatial-tech-gis .slide {
  float:left;
  margin: 2rem 0 0 2rem;
}

section#our-teaching-philosophy > div {
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-items: center;
    gap: 2rem;
}

section#our-teaching-philosophy > div div {
    flex: 1;
}

section#our-teaching-philosophy .image img {
  width: 1000px;
}

body.prism,
body.your-name-here,
body.connection,
body.saunders,
body.dunkelbarger,
body.morgenstern,
body.buysse {
  background-size: cover;
  background-attachment: fixed;
  background-repeat:no-repeat;
  background-position: bottom left;
}

body.prism #banner,
body.your-name-here #banner,
body.connection #banner,
body.saunders #banner,
body.dunkelbarger #banner,
body.morgenstern #banner,
body.buysse #banner,
body.foy #banner {
  display:none;
}

.small h1 {
  font-size: 2rem !important;
}

.small p,
.small li
{
    font-size: 1.25rem !important;
}


body.prism .slide,
body.your-name-here .slide,
body.connection .slide,
body.saunders .slide,
body.dunkelbarger .slide,
body.morgenstern .slide,
body.buysse .slide,
body.foy .slide {
  width: 50vw;
  float: right;
  margin-top: 2rem;
  margin-right: 2rem;
  padding:2rem;
  background: none !important;
  box-shadow: 10px 10px rgba(0,0,0,0.25);
  font-size:50% !important;
}
body.saunders {
  background-image: url("images/saunders.png");
}
body.dunkelbarger {
  background-image: url("images/dunkelbarger.png");
}
body.buysse {
  background-image: url("images/buysse.png");
}
body.morgenstern {
  background-image: url("images/morgenstern.png");
}
body.foy {
  background-image: url("images/foy.png");
}
body.prism {
  background-image: url("images/prism.png");
}
body.connection {
  background-image: url("images/connection.png");
}
body.your-name-here {
  background-image: url("images/your-name-here.png");
}

/* DH GradCamp Slides */
#dhgradcamp #genres-and-areas > div {
  justify-items: flex-start;
  align-content: flex-start;
  flex-direction: row;
  flex-wrap:wrap;
  gap: 1rem;
}

#dhgradcamp #genres-and-areas > div h1 {
  width: 100%;
  margin-bottom: 2rem;
}

#dhgradcamp #genres-and-areas > div > div {
  flex: 1;
  background: white;
  padding: 1rem;
}

/* Upcoming Events */
#upcoming-events .slide {
  justify-content: space-between;
}

#events {
  list-style:none;
  margin-left:0;
  padding-left:0;
  display:grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}

#events a {
  color: var(--uvalib-text-almost-black) !important;
  text-decoration:none;
}

#events li {
  border: 1px solid var(--blue-alt-light);
  padding: 2rem;
  font-size: clamp(0.8rem, 1vw + 1.25rem, 1.5rem);
  box-shadow: 10px 10px var(--blue-alt-lightest);
}

#events li h2 {
  font-size: clamp(1rem, 1vw + 1.25rem, 2rem);
}




/* Deck.js Styles */
html, body {
    height: 100%;
    padding: 0;
    margin: 0;
  }

  .deck-container {
    position: relative;
    min-height: 100%;
    margin: 0 auto;
    overflow: hidden;
    overflow-y: auto;
  }
  .js .deck-container {
    visibility: hidden;
  }
  .ready .deck-container {
    visibility: visible;
  }
  .touch .deck-container {
    -webkit-text-size-adjust: none;
    -moz-text-size-adjust: none;
  }

  .deck-loading {
    display: none;
  }

  .slide {
    width: auto;
    position: relative;
  }

  .deck-before, .deck-previous, .deck-next, .deck-after {
    position: absolute;
    left: -999em;
    top: -999em;
  }

  .deck-current {
    z-index: 2;
  }

  .slide .slide {
    visibility: hidden;
    position: static;
    min-height: 0;
  }

  .deck-child-current {
    position: static;
    z-index: 2;
  }
  .deck-child-current .slide {
    visibility: hidden;
  }
  .deck-child-current .deck-previous, .deck-child-current .deck-before, .deck-child-current .deck-current {
    visibility: visible;
  }