/* styles.css 
   Project: 
   Author: 
   Date: 
	
*/

/*google font*/

@import url('https://fonts.googleapis.com/css2?family=Bitcount+Single:wght@100..900&family=Rubik+80s+Fade&display=swap');

/*main css*/

* {
  box-sizing: border-box;
  scroll-behavior: smooth;
}

img, video {
  width: 100%;
  display: block;
}

audio {
  display: block;
}

.think::-webkit-media-controls-panel {
  background-color: #9bc9cf;

}



/*link style*/

a {
  text-decoration: none;
  color: rebeccapurple;
}

a:visited {
  color: maroon;
}

a:hover, a:active {
  color: turquoise;
} 

body, html {
  font-family: 'Lato', sans-serif; 
}

h1, h2, h3, .pullquote {
  font-family: 'Open Sans', sans-serif;
  font-family: "Bitcount Single", system-ui;

}

header {
  width: 100%;
  position: sticky;
  top: 0;
  z-index: -1;
  background-color: black;
  height: 100vh;
  /*max-height: 600px;*/
}

header img {
  /* this opacity makes the header image dark so you can read the headline text more easily. remove the opacity if you do not have your headline on top of the image.*/
  opacity: 0.6;
}

header video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.title1 {
  position: absolute;
  width: 100%;
  top: 20%;
  color: white;
  text-align: center;
  padding: 3%;
  animation: shrink 5s ease;
  opacity: 0;
  
}

@keyframes shrink {

  0% {
    transform:scale(1);
    opacity: 1;
  }


  40% {
    transform:scale(1);
    opacity: 1;
  }

  99% {
    transform:scale(0);
    opacity: 1;
  }

  100% {
    transform:scale(0);
    opacity: 0;
  }

}


.title1 h1 {
  font-size: 8em;
  margin-bottom: -4px;
  text-shadow: 10px 5px 0px red;
}


.title1 h2 {
  font-size: 3em;
}

.title1 h3 {
  margin-top: 10%;
  font-size: 1.2em;
  font-style: italic;
}

.title2 {
  width: 70%;
  color: darkslategray;
  text-align: center;
  padding: 3% 1%;
  margin: auto;
}

.title2 h1 {
  font-size: 4.7em;
  margin-bottom: -4px;
}

.title2 h2 {
  font-size: 2em;
}

.title2 h3 {
  margin-top: 10%;
  margin-bottom: 0;
  font-size: 1.1em;
  font-style: italic;
}

/* menu bar styling */

.menu {
    position: sticky;
    top: 0px;
    background-color: white;
    width: 100%;
    z-index: 5;
}

.menu .inner {
    width: 70%;
    margin: auto;
    border-bottom: 3px solid indigo;
    padding: 1% 2%;
    display: grid;
    grid-auto-flow: column;
    align-items: center;
}

.menu li {
    list-style-type: none;
    margin: 0;
    padding: 3%;
    display: inline-block;
    text-align: center;
}

.content {
  width: 100%;
  background-color: white;

}

.maintext {
  max-width: 640px;
  margin: auto;
  color: darkslategray;
  font-size: 1.2em;
  line-height: 1.7em;
  text-align: justify;
  padding: 1%;
}

.pullquote {
  width: 50%;
  font-size: 1.4em;
  line-height: 1.6em;
  font-style: italic;
  text-align: left;
  color: darkred;
}

.name {
  font-size: 0.7em;
  text-align: center;
  line-height: 0.1em;
  padding-bottom: 30px;
  color: mediumturquoise;
}

.left {
  float: left;
  padding-right: 20px;
  margin-left: -40px;
}

.right {
  float: right;
  padding-left: 20px;
  margin-right: -40px;
}

.floatingpic {
  width: 50%;
}

.floatingpic audio {
  width: 100%;
  margin-top: 5px;
}

.floatingcap {
  margin-top: 0px;
  font-size:  1.2em;
  text-align: center;
  color: darkred;
  font-style: italic;
}

.sectionhead {
  text-align: center;
  color: darkred;
}

.bigphoto {
  position: relative;
}

.photocaption {
  position: absolute;
  bottom: 0px;
  width: 100%;
  padding-left: 1%;
  color: white;
  background-color: #ff7478;
  /*font-size: .5em;*/
}

.photocaption h1 {
  font-size: 1.0em;
}

.photocaption p {
  font-size: .7em;
}

.sidebyside {
  display: flex;
}

.photoleft {
    flex-direction: row;
}

.photoright {
    flex-direction: row-reverse;
}

.sidephoto {
  flex: 2;
}

.sidecaption {
  flex: 1;
  background-color: black;
  color: white;
  font-size: 1.2em;
  display: grid;
  align-items: center;
  text-align: center;
  padding: 20px 40px;
}

.photogrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 5px;
}

.gridpic {
  position: relative;
}

.gridpic .photocaption {
  display: none;
}

.cycle-slideshow {
  max-width: 700px;
  margin: auto;
}

.knightlab {
  max-width: 1200px;
  margin: auto;
  /*border: 2px solid red;*/
}

.slidewrapper {
  position: relative;

}

.slides {
  position: sticky;
  position: -webkit-sticky;
  top: 0px;
  z-index: -1;
}

.bottomcredit {
  position: absolute;
  right: 0px;
  bottom: 0px;
  background-color: rgba(255, 255, 255, 0.2);
  padding: 10px;
  color: white;
}

.gap {
  height: 20px;
  background-color: white;

}

.flourish-credit {
  display: none;

}




.backgroundimage {
  height: 100vh;
  position: sticky;
  position: -webkit-sticky;
  top: 0px;
  z-index: -1;
}

.backgroundimage img {
  height: 100%;
  object-fit: cover;
}

.textbox {
  max-width: 640px;
  margin: 100vh auto;
  background-color: white;
  color: darkslategray;  
  padding: 20px;
}

.textbox h2 {
  font-size: 1.2em;
}

.x {
  border: 2px solid darkred;
}

.youtube {
  max-width: 700px;
  margin: auto;
}

.responsivecontainer {
  position: relative; 
  padding-bottom: 56.25%; 
  padding-top: 30px; 
  height: 0; 
  overflow: hidden;
}

.responsivecontainer iframe, .responsivecontainer object, .responsivecontainer embed { 
  position: absolute; 
  top: 0; 
  left: 0; 
  width: 100%; 
  height: 100%;
}

.clickhere {
  font-style: italic;
  font-size: 0.7em;
  text-align: right;
  padding-right: 1%;
}

.voxpop {
  max-width: 1400px;
  margin: auto;
 
}

.voxpop h2 {
  color: #ff7478;
  padding-bottom: 2%; 

}


.voxgrid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  grid-gap: 10px;
  padding-bottom: 2%;

}

.person {
  border-radius: 5px;
  box-shadow: 2px 3px 3px lightslategrey;
  overflow: hidden;
 
}

.person audio {
  width: 100%;
  display: block;
}

.headshot {
  position: relative;
  text-align: center;
  cursor: url('../media/mic.png'), auto;
}

.headshot img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;

}

.popup {
  cursor: pointer;

}




.popup img {
  border: 6px solid darkgrey;  

  /*border-bottom: 6px solid darkgray;
  border-right: 6px solid darkgray;*/
}

/*.popup p {
  animation: lookatme 1s infinite;
}
*/



.gradient {
  color: transparent;
  -webkit-text-fill-color: transparent;

  /* Repeating gradient with smooth shimmer bands */
  background-image: repeating-linear-gradient(
    90deg,
    #3ad4e8 0,
    #54def0 15%,
    #79e4f2 20%,
    #91e7f2 30%,
    #abecf5 40%,   /* narrow bright shimmer */
    #bfeef5 50%,
    #d0eef2 60%,
    #e6f5f7 65%,
    #f0f4f5 100%
  );

  background-size: 200% 100%;
  background-position: 0% 0%;
  -webkit-background-clip: text;
  -webkit-text-stroke-width: 0.1px;
  -webkit-text-stroke-color: black;
  text-shadow: none;

  animation: shimmer 1s linear infinite;
}

@keyframes shimmer {
  0% {
    background-position: 0% 0%;
  }
  100% {
    background-position: 200% 0%;
  }
}

.popup img:hover {
   border: 6px solid firebrick;
/*  border-bottom: 6px solid firebrick;
  border-right: 6px solid firebrick;*/
}

.infographic {
  max-width: 700px;
  margin: auto;
}

/* Slideshow container */
.slideshow-container {
  max-width: 1000px;
  position: relative;
  margin: auto;
}

/* Hide the images by default */
.mySlides {
    display: none;
}

.mySlides img {
    width: 100%;
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

/* Caption text */
.slidetext {
  color: #f2f2f2;
  font-size: 15px;
  padding: 12px;
  position: absolute;
  bottom: 0px;
  width: 100%;
  text-align: center;
  background-color: rgba(0, 0, 0, 0.7);
}

/* Number text (1/3 etc) */
.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* The dots/bullets/indicators */
.dots {
  margin-top: 10px;
  width: 100%;
  display: flex;
  justify-content: center;
}

.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
  text-align: center;
}

.active, .dot:hover {
  background-color: #717171;
}

 
.fade {
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1.5s;
  animation-name: fade;
  animation-duration: 1.5s;
}

@-webkit-keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}

@keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}


/*footer */

footer {
  background-color: #ff7478;
  color: white;
  padding: 1%;
  text-align: right;
}

/*popup modal*/

.overlay {
  position: fixed;
  top: 0px;
  left: 0px;
  height: 100%;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.9);
  overflow-y: scroll;
  display: none;
  z-index:  10;
}

.modal {
  width: 70%;
  margin: 2% auto;
  background-color: white;
  padding: 20px;

}

.closer {
  position: absolute;
  right: 1vh;
  top:  1vh;
  width: 10%;
  cursor: pointer;
}

/*media query for responsive design */

@media only screen and (max-width: 900px) {

  .title1 {
    top: 5%;
  }

  .title1 h1 {
    font-size: 3.5em;
  }

  .title1 h2 {
    font-size: 1.5em
  }

  .title1 h3 {
    font-size: 1.1em;
  }

  .menu .inner {
    width: 100%;
  }

}


@media only screen and (max-width: 800px) {

  .pullquote {
    width: 100%;
    margin: 0px;
    padding: 0px;
    text-align: center;
    display: none; /* remove this line if you want the pullquotes to display on mobile*/ 
  }

  .left, .right {
    margin: 0px;
    padding: 10px;
  }

  .floatingpic {
    width:  100%;
    margin: 0px;
    padding:  0px;
  }

  .popup {
    margin-bottom: 15px;
  }

  .popup .floatingcap {
    /*display: none;*/
    font-size: 1em;
  }  

}


@media only screen and (max-width: 640px) {

  .menu {
    display: none;
  }

  .title1 {
    top: 33%;
  }

  .title1 h1 {
    font-size: 3em;
  }

  .title1 h2 {
    display: none;
  }

  .title1 h3 {
    font-size: 0.9em;
  }

  .title2 h1 {
    font-size: 2em;
  }

  .title2 h2 {
    font-size: 1.3em;
  }

  .title2 h3 {
    font-size: 1em;
  }

  .maintext {
    font-size: 1.4em;
    line-height: 1.6em;
    text-align: left;
    margin: 0px 15px;
  }

  .voxgrid {
    grid-template-columns: 1fr 1fr;
  }

  .person audio {
    background-color: black;  
  }

  .modal {
    width: 97%;
    margin: 10% auto;
  }

  .sidebyside {
    display: block;
  }

  .sidecaption {
    font-size: 1em;
    padding: 10px 20px;
  }

  .textbox {
    margin: 100vh 20px;
  }



}











