/* 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*/

* {
  box-sizing: border-box;
}

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

audio {
  display: block;
  justify-self: center;
  margin-bottom: 5%;
}

/*link style*/

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

a:visited {
  color: gray;
}

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

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

h1, h2, h3, .pullquote {
  font-family: 'Open Sans', sans-serif;

}


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

.overlay.start {
  display: block;
  /*display: none;*/
  /*remove display none later!!*/
}

.overlaycontent {
  color: seashell;
  width: 90%;
  margin: 10vh auto;
  background-color: black;
  padding: 2%;
  text-align: center;
}

.closer {
  position: absolute;
  right: 6vh;
  top:  6vh;
  width: 30px;
  cursor: pointer;
}


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



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

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



.title1 {
  position: absolute;
  width: 100%;
  max-height: 700px;
  bottom: 0%;
  justify-self: center;
  ui-widget-shadow: 2px 2px 4px black;
  color: seashell;
  text-shadow: 4px 4px 4px black;
  /*text-align: left;*/
  /*border: 2px solid yellow;*/
  pointer-events: none;
}

.title1 img {
  /*border: 2px solid orange;*/
}

.title1 h1 {
  font-family: 'Impact', sans-serif;
  font-syle: bold;
  font-size: 6em;
  margin-bottom: 3px;
  justify-self: center;
  text-align: center;
}


.title1 h2 {
  font-family: 'Impact', sans-serif;
  font-size: 2.5em;
  justify-self: center;
  text-align: center;
}

/*.titleline{
  width: 50%;
  margin: auto;
  color: seashell;
}*/

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

.title2 {
  width: 100%;
  color: seashell;
  text-align: center;
  padding: 4% 10%;
}

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

.title2 h2 {
  font-size: 1.6em;
  /*max-width: 800px;*/
  width: 100%;
  margin: auto;
  color: seashell;
  text-align: center;
}

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

.line {
  margin-top: 50px!important;
  width: 60%;
  color: seashell;
}

.title3 {
  width: 100%;
  color: seashell;
  text-align: center;
  padding: 0%;
}

.title3 h1 {
  width: 100%;
  color: cornflowerblue;
  text-align: center;
  padding: 0%;
  font-size: 1.5em;
  font-style: italic;
  font-family: 'Arial', sans-serif;
  font-style: bold;
}

.title4 {
  width: 100%;
  color: seashell;
  text-align: center;
  padding: 0%;
}

.title4 h1 {
  width: 100%;
  color: cornflowerblue;
  text-align: center;
  padding: 0%;
  font-size: 1.5em;
  font-style: italic;
  font-family: 'Arial', sans-serif;
  font-style: bold;
}

.title5 h1 {
  width: 100%;
  color: cornflowerblue;
  text-align: center;
  padding: 0%;
  font-size: 1.5em;
  font-style: italic;
  font-family: 'Arial', sans-serif;
  font-style: bold;
}

.title5 h2 {
  width: 720px;
  color: cornflowerblue;
  text-align: center;
  justify-self: center;
  font-size: 1em;
  font-style: italic;
  font-family: 'Arial' sans-serif;
}

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

}

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

.soundwrapper {
  background-color: rgba(100, 149, 237, 0.45);
}

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

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

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

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

.floatingpic {
  width: 80%;
}

.clickcontainer {
  position: relative;
  border: 2px solid seashell;
}


.headersound {
  position: absolute;
  right: 30px;
  top: 30px;
  width: 50px;
  border-radius: 20%;
  /*border: 5px solid black;*/
  cursor: pointer;
  /*border: 2px solid pink;*/
}




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

.floatingcap {
  margin-top: 0px;
  font-size:  0.8em;
  text-align: center;
  margin: auto;
  line-height: 20px;
  padding-bottom: 15px;
}

.john {
  width: 40%;
}

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

.bigphoto {
  position: relative;
}

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

.sidebyside {
  display: flex;
  border: 2px solid seashell;
}

.photoleft {
  flex-direction: row;
}

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

.sidephoto {
  flex: 2;
}

.sidecaption {
  flex: 1;
  background-color: black;
  color: seashell;
  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: 900px;
  margin: auto;
}

/*.debrisdashboard {
  width: 900px;
  height: 700px;
  margin-left: 15%;
}*/

.slidewrapper {
  position: relative;
  height: 900px;
}

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

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

.bottomcredit {
  position: absolute;
  right: 0px;
  bottom: 0px;
  background-color: rgba(255, 255, 255, 0.2);
  padding: 10px;
  color: seashell;
  text-shadow: 8px 8px 8px black;
}

.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: black;
  color: seashell;  
  padding: 20px;
}

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

.dinsmap iframe {
  left:0;
  top: 3%;
  bottom:0;
  height:90%;
  width:100%;
  position:absolute;
  justify-content: center;
}

.interactivecredit {
  position: absolute;
  bottom: -10px;
  color: seashell;
  text-align: center;
  margin-bottom: 20px;
  margin-top: 5px;
  width: 100%;

}

.topcaption {
  color: seashell;
  text-align: center;
  margin-bottom: 20px;
  font-size: 1.1em;
  font-style: italic;
}

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

.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%;
    justify-self: center;
}

.spotifylist{
  margin: auto;
  max-width: 640px;
  border: 8px solid seashell;
  /*z-index: -1;*/
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: seashell;
  font-weight: bold;
  font-size: 30px;
  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: 16px;
  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: seashell;
  padding: 1%;
  text-align: right;
}

/*popup modal*/

.modal, .carolyndayportrait{
  border: 2px solid black;
  width: 100%;
  max-height: 900px;
  margin: auto;
}
/*
.modal .kozlowskidonations{
  border: 2px solid black;
  width: 80%;
  max-height: 400px;
  margin: auto;
}*/

.modal > img {
  height: 100vh;
  object-fit: contain;
}


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

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

/*media query for responsive design */

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


  .pullquote {
    display: none;
  }


  .floatingpic {
    width:  100%;
    margin: 0px;
    padding:  0px;
    justify-self: center;
  }


  .sidebyside {
    display: block;
  }

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

  }

}


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


  .title1 {
    top: 5%;
  }

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

  .title1 h2 {
    font-size: 1.1em
  }

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

}


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

  .dinsmap {
    margin-bottom: 20px;
  }


  .interactivecredit {
    bottom: -40px;
  }

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


  .popup {
    margin-bottom: 15px;
  }

  .popup .floatingcap {
    /*display: none;*/
  }  

}


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




  .title1 {
    top: 20%;
    /*bottom: 6%;*/
    /*right: -23%;*/

  }

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

  .title1 h2 {
  }

  .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.2em;
    line-height: 1.6em;
    text-align: left;
    margin: 0px 15px;
  }

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

  .person audio {
    background-color: black;  
  }

  .title3 h1{
    font-size: 0.9em;
    text-align: center;
  }

  .title4 h1{
    font-size: 0.9em;
    text-align: center;
  }

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

/*  .sidebyside {
    display: block;
  }

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

  .textbox {
    margin: 100vh 20px;
  }

}











