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

/*link style*/

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

a:visited {
  color: slategrey;
}

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

body, html {
  font-family: 'Times New Roman', serif;
  color: #111;
  margin: 0;
  padding: 0; 
}

h1, h2, h3, .pullquote {
  font-family: 'Times New Roman', serif;
  color: #111;
  margin: 0;
  padding: 0;
}

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

.title1 {
  position: absolute;
  width: 100%;
  top: 20%;
  color: white;
  text-align: center;
  padding: 3%;
}

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

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

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

.title2 {
  width: 75%;
  margin: 0 auto;
  color: #2a1506;
  padding: 3% 10%;
  text-align: left;
}

.title2 img {
  display: block;
  width: 100%;
  max-height: 300px;
  object-fit: cover;
  margin-bottom: 1.5rem;
}

.title2 h1 {
  font-size: 5rem;
  font-weight: bold;
  text-align: left;
  margin-bottom: 1rem;
}

.title2 h2 {
  font-size: 1.8rem;
  margin: 0;
  line-height: 1.4;
  margin-bottom: -3rem;
}

.byline {
  display: flex;
  align-items: center;
  justify-content: left;
/*  text-align: center;*/
  margin: 1.5rem 0;
  width: 100%;
  font-family: 'Helvetica Neue', Helvetica, sans-serif;
}

.bylinepic {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 0.75rem;
  border: 1px solid #ddd;
}

.bylinepic:hover {
    border-color: gold;
}

.byline-text {
  display: flex;
  flex-direction: column;
  text-align: left;
}

.author-name {
  font-size: 0.95rem;
  font-weight: 600;
  margin: 0;
  color: #111;
}

.date {
  font-size: 0.85rem;
  color: #666;
  margin: 0.2rem 0 0 0;
}

.content {
  width: 100%;
  background-color: whitesmoke;
}

.maintext {
  max-width: 650px;
  margin: 2rem auto;
  color: #111;
  font-size: 1.2em;
  line-height: 1.7em;
  text-align: justify;
  padding: 0 1rem;
}

.pullquote {
  width: 50%;
  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: -40px;
}

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

.floatingpic {
  width: 50%;
}

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

.floatingpic img {
  border: solid #2a1506 1px;
}

.floatingbluesky {
  width: 35%;
}

.floatingbluesky p {
  margin-top: 0px;
  font-size:  0.8em;
  text-align: center;
  line-height: 0.9em;
}

.floatingovrim {
  width: 75%;
}

.floatingovrim p {
  margin-top: 0px;
  font-size:  0.8em;
  text-align: center;
  line-height: 0.9em;
  margin-top: 1%;
}

.floatingovrim img {
    border: solid #111 1px;
}

.floatingori {
  width: 50%;
}

.floatingcap {
  margin-top: 0px;
  font-size:  0.8em;
  text-align: center;
}

.sectionhead {
  text-align: center;
  color: #111;
  font-size: 4em;
  padding-top: 5%;
  padding-bottom: 2%;
}

.bigphoto, .flightmap {
  position: relative;
}
.bigphoto img {
  border: solid #111 1px;
}

.bigvideo {
  width: 40%;
  margin: auto;
  align-content: center;
}

.bigvideo p {
  text-align: center;
  margin-top: 0px;
  font-size:  0.8em;
  line-height: 0.9em;
}

.bigvideo video{
  border: solid #2a1506 1px;
}

.bigphoto, .flightmap p {
  font-size: 0.7em;
  text-align: center;
  line-height: 0.9em;
}

.photo {
  position: relative;
  margin: auto;
}

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

.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 {
  width: 100%;
  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: #2a1506;  
  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;
  border: solid #2a1506 1.5px;
}

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

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

.morestories {
  padding: 20px;
  margin-top: 30px;
  margin-left: 30px;
  margin-right: auto;
  width: 90%;
  max-width: 1200px;
  border-radius: 8px;
}

.morebymatthew p {
  font-size: 24px;
  color: #2a1506;
  margin-bottom: 15px;
  font-weight: bold;
  text-transform: uppercase;
  border-bottom: 2px solid #2a1506;
  padding-bottom: 5px;
}

.storybox {
  display: flex;
  margin-bottom: 20px;
  padding: 10px;
  border-bottom: 1px solid #2a1506;
  transition: background-color 0.3s ease;
}

.storybox:last-child {
  border-bottom: none;
}

.storybox:hover {
  background-color: #f1f1f1;
}

.storybox img {
  max-width: 120px;
  height: auto;
  border-radius: 8px;
  margin-right: 15px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.storybox p {
  font-size: 18px;
  color: #111;
  margin: 0;
  line-height: 1.4;
}

.storybox p a {
  color: #111;
  text-decoration: none;
  font-weight: bold;
}

.storybox p a:hover {
  text-decoration: underline;
}

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

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


/*footer */

footer {
  padding: 1%;
  text-align: right;
  color: #111;
  background-color: whitesmoke;
}

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

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

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

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

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

  .popup {
    margin-bottom: 15px;
  }

  .popup .floatingcap {
    display: none;
  }  

}

@media (max-width: 768px) {
  .title2 {
    width: 90%;
    padding: 5% 5%;
    text-align: center;
  }

  .title2 img {
    max-height: 200px;
    margin-bottom: 1rem;
  }

  .title2 h1 {
    font-size: 2.5rem;
    text-align: center;
  }

  .title2 h2 {
    font-size: 1.2rem;
    text-align: center;
  }

  .byline {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .bylinepic {
    margin: 0 0 0.5rem 0;
  }

  .byline-text {
    align-items: center;
    text-align: center;
  }

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

  .title1 {
    top: 1%;
  }

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

  .title1 h2 {
    display: none;
  }

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

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

  .title2 h2 {
    margin-bottom: -1rem;
    font-size: 1.5rem;
  }
  
  .title2 h3 {
    font-size: 1em;
  }

  .bylinepic {
    width: 16%;
  }

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

  .sectionhead {
    line-height: 1.1em;
  }

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

  .person audio {
    background-color: black;  
  }

  .bigvideo {
    width: 75%;
  }

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

  .sidebyside {
    display: block;
  }

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

  .textbox {
    margin: 100vh 20px;
  }

  .storybox {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .storybox img {
    max-width: 100%;
    margin-bottom: 15px;
  }

  .morestories {
    padding: 15px;
    margin-top: 20px;
    margin-right: auto;
    margin-left: 20px;
  }

  .morebymatthew p {
    font-size: 20px;
    text-align: center;
  }

}

@media screen and (min-width: 1920px) {
  .title2 {
    padding: 2% 15%;
  }

  .title2 img {
    max-height: 400px;
  }
}










