/* Variables
Variables that the other CSS sections depend upon
*/
{% include '../../css/variables/_colors.css' %}

/* ==== DESKTOP ==== */

.bs-blockquote {
  height: 100vh;
  padding: 97px 0 20px 0;
  position: relative;
  margin-bottom: 220px;
}
@media (max-width: 991px) {
  .bs-blockquote {
    display: none !important;
  }
}

.bs-blockquote__inner {
  height: calc(100vh - 117px);
  position: sticky; 
  top: 97px;
}

.bs-blockquote__background {
  background-color: rgba(0,0,0,0);
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
  position: relative;
  background-position: center;
  background-size: cover;
}

.bs-blockquote__mask {
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  position: absolute;
  height: 100%;
  width: 100%;
  z-index: 3;
}

.bs-blockquote__square {
  position: absolute;
  height: 100%;
  width: 100%;
  background: rgba(0,0,0,0.31);
  transform: translateX(-50%);
  left: 50%;
}

.bs-blockquote__square::before {
  content: '';
  background: #fff;
  top: 0;
  right: -200vw;
  width: 200vw;
  position: absolute;
  height: 100%;
  z-index: 2;
}

.bs-blockquote__square::after {
  content: '';
  background: #fff;
  top: 0;
  left: -200vw;
  width: 200vw;
  position: absolute;
  height: 100%;
  z-index: 2;
}


.bs-blockquote__square img {
  display: block;
  height: 100%;
  width: auto;
}

.bs-blockquote__square__inner {
  content: '';
  padding-top: 100%;
  display: block;
}

.bs-blockquote__text {
  width: 1060px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  z-index: 4;
  top: 50%;
  transform: translateY(-50%);
  border: none;
}

.bs-blockquote__text p {
  font-size: 60px;
  color: white;
  line-height: 1.2em;
}

.bs-blockquote__attribution {
  color: #fff;
  /* padding-left: 20px; */
  position: relative;
}

/* .bs-blockquote__attribution::before {
  height: 7px;
  width: 7px;
  border-radius: 9999em;
  background-color: #fff;
  position: absolute;
  content: '';
  top: 12px;
  left: 0;
} */

.bs-blockquote__attribution span {
  display: block;
  letter-spacing: 0.01em;
  line-height: 1.167em;
}

.bs-blockquote__attribution__source {
  font-size: 24px;
  font-weight: 500;
}

.bs-blockquote__attribution__source-subtitle {
  font-size: 24px !important;
}

/* ==== MOBILE ==== */

.bs-blockquote-mobile {
  display: none;
  padding: 97px 0 20px 0;
  position: relative;
  margin-bottom: 100px;
}
@media (max-width: 991px) {
  .bs-blockquote-mobile {
    display: block;
  }
}

.bs-blockquote-mobile__inner {
  height: 100%;
  width: 100%;
  padding: 120px 40px;
  position: relative;
}

.bs-blockquote-mobile__inner::after {
  content: '';
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 1;
}

.bs-blockquote-mobile__inner * {
  color: #fff;
}

.bs-blockquote-mobile__text {
  z-index: 2;
  position: relative;
  border: none;
  padding: 0;
  margin-bottom: 0;
}

.bs-blockquote-mobile__text p {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.01em;
  line-height: 1.16em;
}

.bs-blockquote-mobile__attribution {
  color: #fff;
  position: relative;
}

.bs-blockquote-mobile__attribution span {
  display: block;
  letter-spacing: 0.01em;
  line-height: 1.3em;
}

.bs-blockquote-mobile__attribution__source,
.bs-blockquote-mobile__attribution__source-subtitle {
  font-size: 16px;
  font-weight: 500;
}