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

/*google font*/

@import url('https://fonts.googleapis.com/css2?family=Lato&family=Montserrat&family=Open+Sans&family=Raleway&family=Roboto&display=swap');

/*main css*/

@font-face {
  font-family: 'ESP';
  src: url('../fonts/esp_ital.ttf');
}


* {
  box-sizing: border-box;
}

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

audio {
  display: block;
}

/*link style*/

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

a:visited {
  color: gray;
}

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

body, html {
  font-family: 'Times New Roman', serif; 
}

h1, h2 {
  font-family: 'ESP', sans-serif;

}


header {
  width: 100%;
  position: sticky;
  top: 0;
  z-index: -1;
  background-color: black;
  /*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;
}

a:link {
  color: blue; /* Unvisited link */
}

a:visited {
  color: tan; /* Visited link */
}

a:hover {
  color: red; /* On mouse-over */
}

a:active {
  color: red; /* On click */
}

.title1 {
  position: fixed;
  width: 100%;
  top: 20%;
  color: white;
  text-align: center;
  padding: 3%;
  text-shadow: 3px 3px 5px black; /* Horizontal offset, vertical offset, blur radius, color */

}

.title1 h1 {
  font-size: 3.1em;
  margin-bottom: -4px;

}

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

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


.openingtext {
  position: fixed;
  top: 20%;
  left: 0px;
  width: 100%;
  color: white;
  text-align: center;
  text-shadow: 3px 3px 5px black;
}


.openingnarrow {
  display: none;
}


.title2 {
  width: 100%;
  color: charcoal;
  text-align: center;
  /*padding: 3% 10%;*/
}

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

/*.gradient {
  color: transparent;
  -webkit-text-fill-color: transparent; 
  background-size: 100%;
  background-repeat: repeat;  
  background-image: linear-gradient(90deg,rgba(0, 0, 0, 1) 24%, rgba(212, 175, 55, 1) 100%); 
  -webkit-background-clip: text;
  -webkit-text-stroke-width: 0.1px;
  -webkit-text-stroke-color: black; 
  text-shadow: none; 
}*/

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

  /* Repeating gradient with smooth shimmer bands */
  background-image: repeating-linear-gradient(
    90deg,
    #1a1a1a 0,
    #1a1a1a 15%,
    #8b6c1f 20%,
    #d4af37 30%,
    #fff8dc 40%,   /* narrow bright shimmer */
    #d4af37 50%,
    #8b6c1f 60%,
    #1a1a1a 65%,
    #1a1a1a 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%;
  }
}

.title2 h2 {
  font-size: 2em;
  line-height: 1.5em;

}

.title2 h3 {
  margin-top: 12%;
  margin-bottom: 0;
  font-size: 1.1em;
  font-style: italic;
  line-height: 1.5em ;
}

.content {
  width: 100%;
  background-color: white;
  padding-top: 15%;
  position: relative;
 
}

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

.tweet-float-right {
  float: right;
  margin: 0 0 1em 2em; /* top, right, bottom, left */
  max-width: 300px;     /* optional: keeps it from stretching too wide */
}


.pullquote {
  width: 50%;
  font-size: 1em;
  line-height: 1.6em;
  font-style: italic;
  text-align: left;
  font-family: 'ESP', sans-serif;
  color: charcoal;
}

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

.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:  0.8em;
  text-align: center;
}

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

.bigphoto {
  position: relative;
}

.photocaption {
  position: absolute;
  bottom: 0px;
  width: 100%;
  padding-left: 1%;
  color: white;
  background-color: rgba(0,0,0,0.4);
}

.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;
}

.relatedstory {
  display: grid;
  grid-template-columns: 1fr 5fr;
  grid-gap: 20px;
  align-items: center;
}

.relatedstory p {
  line-height: 1em;
}


.photogrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 20px;
  background-color: black;
  padding: 20px;
}

.gridpic {
  position: relative;
}

.gridpic .photocaption {
  display: none;
}

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

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

.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;
}

.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: charcoal;  
  padding: 20px;
}

.googlemap {
  overflow:hidden;
  padding-bottom:56.25%;
  position:relative;
  height:0;
  max-width: 700px;
  margin: auto;
}

.googlemap iframe {
  left:0;
  top:0;
  height:100%;
  width:100%;
  position:absolute;
}

.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: 700px;
  margin: center;
}

.voxgrid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-gap: 10px;
}

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

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

.headshot {
  position: relative;
  text-align: center;

}

.popup {
  cursor: pointer;
}

.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: black;
  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;
}

.modal h1 {
  text-align: center;
  font-size: 30px;
}

.modal h2 {
  font-family: 'Times New Roman', serif; 
  text-align: center;
  font-size: 23px;
}

.modal h3 {
  font-size: 16px;
  margin-top: 35px;
}

.modal p {
  font-size: 16px;
}

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

/*media query for responsive design */


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

  .openingnarrow {
    display: block;

  }
  .openingtext {
    display: none;
  }

  .content {
    padding-top: 3%;
  }

}

@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;
  }

}


@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;
  }  

}


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


  .tweet-float-right {
    margin: auto; /* top, right, bottom, left */
    max-width: 640px;     /* optional: keeps it from stretching too wide */
  }

  .title1 {
    top: 1%;
  }

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

  .title1 h2 {
    /*display: none;*/
    line-height: 1em;
    font-size: 1em;
  }

  .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.1em;
    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;
  }

}












