@font-face {
  font-family: "Kelvetica";
  src: url("/fonts/Kelvetica.otf");
}

@font-face {
  font-family: "Progress-ORDIN";
  src: url("/fonts/Progress-ORDIN.otf");
}

@keyframes reveal {
  0% {
    opacity: 1;
  }

  45% {
    opacity: 1;
  }

  55% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}

body {
  font-family: "Kelvetica";
}

ul {
  list-style: none;
}

.list {
  margin-top: 10px;
}

.list iframe {
  max-width: 100%;
  height: 250px;
}

.vid-list {
  display: inline-block;
}

.vid-list iframe {
  width: 100%;
  height: 250px;
}

.thumb-link {
  margin: 20px 0;
}

.thumb-wrapper {
  position: relative;
  display: inline-block;
}

.thumb-link img {
  max-width: 100%;
}

.cover-text {
  position: absolute;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  padding: 10px;
  width: 100%;
  border-bottom-left-radius: 0.25rem;
  border-bottom-right-radius: 0.25rem;
}

.cover-text span {
  color: rgba(255, 255, 255, 0.5);
}

.cover-text span:hover {
  color: rgba(255, 255, 255, 0.7);
}

.cover-text span:visited {
  color: rgba(255, 255, 255, 0.5);
}

.about-text {
  font-family: "Progress-ORDIN", sans-serif;
  text-align: justify !important;
  margin: 20px 20px;
  margin-top: 0;
}

.about-contact {
  margin: 20px 20px;
  margin-top: 0;
}

.cover-img {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

.cover-wrap {
  position: relative;
  margin: 0 auto;
  width: 100%;
  height: 600px;
}

.cover-wrap img {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  transition: opacity 2s ease-in-out;
}

.cover-wrap img.top {
  animation-name: reveal;
  animation-duration: 5s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

.fade-slides {
  animation-name: reveal;
  animation-duration: 3.5s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

.gen-img {
  margin: 20px 0;
  max-width: 80%;
}

.photos {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-content: space-around;
  flex-wrap: wrap;
  width: 100%;
}

.photos .image-wrap {
  position: relative;
  margin: 15px 0;
  padding: 0 10px;
}

.photos img {
  max-width: 100%;
}

.photos video {
  max-width: 100%;
}

.reveal {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: inherit;
}

.reveal:hover {
  color: black;
  text-decoration: none;
}

.reveal-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 1;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  color: transparent;
  transition: 0.5s ease;
}

.reveal-wrap:hover,
.reveal-wrap:active {
  color: black;
  background-color: rgba(255, 255, 255, 0.6);
}

.index-slides {
  display: none;
  transition: all ease-in-out 1s;
}

.qc-logo {
  max-height: 50px;
}

.text-container {
  padding: 10px;
  width: 90%;
  margin: 0 auto;
  font-family: "Times New Roman", Times, serif;
}

.text-container p {
  text-indent: 30pt;
}

.text-container p,
.text-container span {
  text-align: justify;
}

.text-container img {
  display: block;
  max-width: 100%;
}

footer {
  font-size: 0.8em;
  margin: 5px;
}

footer p {
  margin: 0;
}

figure > img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.notice {
  margin: 5px;
  font-size: 0.8em;
}

.article-show {
  padding: 20px;
}

.article-show iframe {
  display: block;
  margin: 0 auto;
}

.pdf-embed {
  height: 500px;
  width: 100%;
}

.teaching-videos-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  column-gap: 30px;
  row-gap: 30px;
  flex-wrap: wrap;
}

.teaching-item {
  display: grid;
  grid-template-rows: auto auto;
  justify-items: center;
}

@media only screen and (min-width: 500px) and (max-width: 990px) {
  .teaching-item {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

@media only screen and (max-width: 990px) {
  .teaching-item {
    width: 100% !important;
  }
}

@media only screen and (min-width: 600px) {
  /* For tablets + desktops */
  .list {
    margin: 50px;
  }

  .list iframe {
    width: 560px;
    height: 315px;
  }

  .vid-list {
    margin: 20px;
  }

  .vid-list iframe {
    display: block;
    margin: 10px;
    width: 560px;
    height: 315px;
  }

  .grid-list {
    margin-top: 20px;
    display: flex;
    /* width: 100%; */
    align-items: center;
    flex-wrap: wrap;
    justify-content: space-around;
    align-content: space-around;
  }

  .thumb-link {
    display: inline-block;
    /* margin: 10px; */
  }

  .thumb-link img {
    max-width: 300px;
  }

  .about-text {
    font-family: "Progress-ORDIN", sans-serif;
    text-align: justify !important;
    margin: 20px 20%;
    margin-top: 0;
  }

  .gen-img {
    height: 500px;
    margin: 20px;
    width: auto;
  }

  .photos {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-content: space-around;
    flex-wrap: wrap;
    width: 100%;
  }

  .photos .image-wrap {
    padding: 5px;
  }

  .photos img {
    max-height: 300px;
  }

  .photos video {
    max-width: 300px;
  }

  .photos iframe {
    margin: 10px !important;
  }

  .text-container {
    padding: 10px 1in;
    width: 100%;
  }

  .text-container img {
    display: block;
  }

  footer {
    position: absolute;
    bottom: 0;
    left: 0;
  }

  .pdf-embed {
    height: 500px;
    width: 80%;
  }

  .teaching-item {
    min-width: 25% !important;
    width: 30%;
  }
}

.media-grid {
  display: grid;
  justify-items: center;
  padding: 2rem;
  gap: 1rem;
  grid-template-columns: repeat(1, minmax(300px, 1fr));
}

.media-grid img {
  display: block;
  width: 100%;
  max-width: 500px;
}

.iframe-wrapper {
  width: 100%;
  max-width: 500px;
  /* padding: 0 1.5rem; */
}

.portfolio-wrapper {
  position: relative;
}

.audio-button {
  position: absolute;
  bottom: 0;
  right: 1.5rem;
  z-index: 10;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  border: none;
  outline: none;
  box-shadow: 0px 10px 15px -3px rgba(0, 0, 0, 0.7);
  display: flex;
  justify-content: center;
  justify-items: center;
  padding: 0.65rem;
}

.audio-button img {
  width: 100%;
}

.portfolio-grid {
  width: 350px;
  display: grid;
  justify-items: center;
  /* padding: 1.5rem; */
  gap: 0.5rem;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: var(33px, 0px) var(33px, 0px);
}

.portfolio-header {
  font-family: Arial, Helvetica, sans-serif;
}

.portfolio-header h3 {
  font-family: "Kelvetica";
}

.portfolio-header p {
  max-width: 500px;
  margin: 0 auto;
  margin-bottom: 1rem;
}

.tile {
  position: relative;
  display: block;
  text-decoration: none;
  padding: 1rem;
  width: 150px;
  height: 150px;
  border-radius: 0.5rem;
  text-align: center;
}

.tile p {
  margin-bottom: 0;
}

.tile-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.slt-color,
.slt-color:hover {
  background-color: #9bca3c;
  color: #000000;
}

.sus-color,
.sus-color:hover {
  background-color: #8d8882;
  color: #000000;
}

.ibp-color,
.ibp-color:hover {
  background-color: #4498d6;
  color: #c93129;
}

.dcc-color,
.dcc-color:hover {
  background-color: #c0a4d5;
  color: #000000;
}

.osl-color,
.osl-color:hover {
  background-color: #70004f;
  color: #ffffff;
}

.cts-color,
.cts-color:hover {
  background-color: #c0271f;
  color: #e53526;
}

.itt-color,
.itt-color:hover {
  background-color: #8047ff;
  color: #ffd633;
}

.mh-color,
.mh-color:hover {
  background-color: #f6abca;
  color: #ffffff;
}

/* @media only screen and (max-width: 1035px) {
    .portfolio-grid {
        grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    }
} */
/* @media only screen and (min-width: 600px) {
    
  } */
