/* General. */
.paragraph-bg-black {
  background-color: #2e2d29;
}
.paragraph-bg-fog {
  background-color: #f4f4f4;
}
.paragraph-bg-sandstone {
  background-color: #d2c295;
}
.content_right {
  text-align: right;
}
.content_left {
  text-align: left;
}
.content_center {
  text-align: center;
}
/* Hero Video. */
.hero-video {
  position: relative;
}
.video .youtube-container--responsive {
  height: 450px;
  padding: 0;
  background: black;
  position: relative;
}
.video .youtube-container--responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.video .youtube__background {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 260%;
  height: 0;
  padding-bottom: 196.25%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}
.video .youtube__video-overlay {
  position: absolute;
  min-width: 1000px;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transition: opacity 0.5s cubic-bezier(0.250, 0.460, 0.450, 0.940), visibility 0.5s linear;
}
.video .youtube__video-overlay--fadeOut {
  opacity: 0;
  visibility: hidden;
}
.hero-video--description {
  position: absolute;
  top: 35%;
  width: 100%;
  z-index: 9;
}

.hero-video--description .paragraph-container {
  text-align: right;
  color: white;
  padding-right: 30px;
}
.hero-video--description .paragraph-container.content_left {
  text-align: left;
  padding-left: 30px;
}
.hero-video--description .paragraph-container.content_middle {
  text-align: center;
}
.hero-video--description .field-name-field-vhero-title {
  font-size: 2.375rem;
  font-family: 'Crimson Text Semi Bold';
}
.hero-video--description .field-name-field-vhero-subtitle {
  font-size: 1rem;
  font-weight: bold;
  font-family: 'Source Sans Pro bold';
}
.hero-video--description .field-name-field-vhero-link a {
  display: inline-block;
  padding: 5px 40px;
  color: white;
  text-decoration: none !important;
  border: 2px solid white;
  font-weight: 800;
  font-family: 'Source Sans Pro bold';
}
.hero-video--description .field-name-field-vhero-link a:hover {
  background: #a80532;
  border: 2px solid #a80532;
}
/* Video with text overlay and background box. */
.video-text-overlay {
  position: relative;
  overflow: hidden;
}
.video-text-overlay--description {
  position: absolute;
  bottom: 10%;
  width: 100%;
  z-index: 9;
}
.video-text-overlay--header {
  width: auto;
  display: inline-block;
  position: relative;
  color: white;
  padding: 20px;
  font-size: 1.2rem;
  max-width: 260px;
  font-family: 'Source Sans Pro Bold';
  line-height: 2;
}
.video-text-overlay--description.box_position_left .bg-color {
  position: absolute;
  height: 100%;
  width: 1200%;
  left: -1200%;
  top: 0px;
}
.video-text-overlay--description.box_position_right {
  text-align: right;
}
.video-text-overlay--description.box_position_right .bg-color {
  position: absolute;
  height: 100%;
  width: 1200%;
  right: -1200%;
  top: 0px;
}
.video-text-overlay--description.box_position_center {
  text-align: center;
}
/* Video Text. */
.video-text {
  position: relative;
}
.video-text--description{
  padding: 30px 30px 60px 30px;
}
.video-text--description .field-name-field-vtext-title {
  font-size: 2rem;
  font-family: 'Crimson Text Regular';
  font-weight: bold;
  width: 100%;
}
.video-text--description .field-name-field-vtext-content {
  font-size: 18px;
  line-height: 2;
  margin-bottom: 10px;
  width: 100%;
}
.video-text--description a {
  font-size: 18px;
  font-weight: bold;
  position: relative;
}
.video-text--description .field-name-field-vtext-button,
.video-text--description .field-name-field-vtext-link {
  width: 100%;
}
.video-text--description .field-name-field-vtext-link a {
  margin-bottom: 20px;
  display: inline-block;
  text-decoration: none !important;
  border-bottom: 1px solid;
  padding-bottom: 5px;
  margin-right: 25px;
}
.video-text--description .field-name-field-vtext-link a::after {
  content: "";
  background: url("../images/double-arrow-right.png") no-repeat 0 0;
  position: absolute;
  top: 8px;
  right: -25px;
  height: 16px;
  width: 16px;
}
.video-text--description.paragraph-bg-black .field-name-field-vtext-link a::after,
.video-text--description.paragraph-bg-cool-grey .field-name-field-vtext-link a::after,
.video-text--description.paragraph-bg-cardinal-red .field-name-field-vtext-link a::after {
  background: url("../images/double-arrow-right-white.png") no-repeat 0 0;
}
.video-text--description .field-name-field-vtext-button a {
  text-decoration: none !important;
  border: 2px solid black;
  padding: 5px 30px;
  display: inline-block;
  margin-top: 1rem;
}
.video-text--description .field-name-field-vtext-button a:hover {
  background: #000000;
  border-color: #000000;
  color: white;
}
.video-text--description.paragraph-bg-black .field-name-field-vtext-button a,
.video-text--description.paragraph-bg-cool-grey .field-name-field-vtext-button a,
.video-text--description.paragraph-bg-cardinal-red .field-name-field-vtext-button a {
  border: 2px solid white;
}
.video-text--description.paragraph-bg-black .field-name-field-vtext-button a:hover,
.video-text--description.paragraph-bg-cool-grey .field-name-field-vtext-button a:hover,
.video-text--description.paragraph-bg-cardinal-red .field-name-field-vtext-button a:hover {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: #000000;
}
.video-text--description.paragraph-bg-black,
.video-text--description.paragraph-bg-cool-grey,
.video-text--description.paragraph-bg-cardinal-red,
.video-text--description.paragraph-bg-black a,
.video-text--description.paragraph-bg-cool-grey a,
.video-text--description.paragraph-bg-cardinal-red a {
  color: #FFFFFF;
}
.video-text--description.paragraph-bg-fog a,
.video-text--description.paragraph-bg-white a,
.video-text--description.paragraph-bg-sandstone a {
  color: #000000;
}
/* Video Grid. */
.video-grid {
  padding-top: 1.5rem;
}
.video-grid .paragraph-container {
  padding: 0 15px;
}
.video-grid--header .field-name-field-vg-header {
  font-size: 2em;
  font-family: 'Crimson Text Bold';
}
.video-grid--header .field-name-field-vg-subheader {
  font-size: 1.5625rem;
  font-weight: bold;
  margin-bottom: 2rem;
  font-family: 'Source Sans Pro Bold';
}
.video-grid.paragraph-bg-black,
.video-grid.paragraph-bg-cool-grey,
.video-grid.paragraph-bg-cardinal-red {
  color: #FFFFFF;
}
.video-grid-content {
  padding-bottom: 3rem;
}
.video-grid-content--description {
  margin-top: 1rem;
}
.video-grid-content--description .field-name-field-vgc-title {
  font-family: 'Source Sans Pro Bold';
  font-size: 1.375rem;
  margin-bottom: 8px;
}
.video-grid-content--description .field-name-field-vgc-subtitle {
  font-size: 1.125rem;
  line-height: 2;
}
.video-grid-content--description .field-name-field-vgc-button a {
  color: black;
  text-decoration: none !important;
  font-family: 'Source Sans Pro Bold';
  margin-top: 2rem;
  display: inline-block;
  border: 2px solid;
  padding: 5px 0px;
  width: 100%;
  text-align: center;
}
.video-grid-content--description .field-name-field-vgc-button a:hover {
  color: #FFFFFF;
  background: #000000;
  border-color: #000000;
}
.paragraph-bg-black .video-grid-content--description,
.paragraph-bg-cool-grey .video-grid-content--description,
.paragraph-bg-cardinal-red .video-grid-content--description,
.paragraph-bg-black .video-grid-content--description a,
.paragraph-bg-cool-grey .video-grid-content--description a,
.paragraph-bg-cardinal-red .video-grid-content--description a {
  color: #FFFFFF;
}
.paragraph-bg-black .field-name-field-vgc-button a,
.paragraph-bg-cool-grey .field-name-field-vgc-button a,
.paragraph-bg-cardinal-red .field-name-field-vgc-button a {
  color: #FFFFFF;
}
.paragraph-bg-black .field-name-field-vgc-button a:hover,
.paragraph-bg-cool-grey .field-name-field-vgc-button a:hover,
.paragraph-bg-cardinal-red .field-name-field-vgc-button a:hover {
  color: #000000;
  border-color: #FFFFFF;
  background: #FFFFFF;
}

.hero-video--description {
  top: 46%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.hero-video--description .field-name-field-vhero-overlay-image .field-items figure img {
  width: 40%;
}

.hero-video--description .paragraph-container.content_left .field-name-field-vhero-overlay-image .field-items figure img {
  float: left;
}

.hero-video--description .paragraph-container.content_right .field-name-field-vhero-overlay-image .field-items figure img {
  float: right;
}

/* Media Querys */
@media only screen and (max-width: 535px) {
  .youtube-container--responsive {
    padding-bottom: 70.25%;
  }
  .youtube-container--responsive iframe {
    height: 140%;
    margin-top: -15%;
  }
  .video .youtube__background {
    top: 77%;
    width: 190%;
  }
  .hero-video--video .field-name-field-vhero-overlay-image .field-items{
    width: 100%;
  }
}
@media only screen and (max-width: 768px) {
  #content .block .hero-video--description .field-name-field-vhero-overlay-image .field-items figure img {
    width: 50% !important;
    margin: 0 auto !important;
  }
}
@media only screen and (max-width: 600px) {
  #content .block .hero-video--description .field-name-field-vhero-overlay-image .field-items figure img {
    width: 75% !important;
  }
}
@media only screen and (max-width: 428px) {
  .youtube-container--responsive {
    padding-bottom: 94.25%;
  }
  .youtube-container--responsive iframe {
    margin-top: -18%;
  }
  .video .youtube__background {
    top: 85%;
    width: 300%;
  }
  #content .block .hero-video--description .field-name-field-vhero-overlay-image .field-items figure img {
    width: 95% !important;
  }

}
@media only screen and (min-width: 678px) {
  .video .youtube__background {
    width: 120%;
    padding-bottom: 66.25%;
  }
  /* Video with text overlay and background box. */
  .video-text-overlay--header {
    font-size: 1.5625rem;
    max-width: 550px;
  }
  .video-text-overlay--header .field-name-field-vto-header {
    padding: 0 20px
  }
  .video-grid-content--description .field-name-field-vgc-button a {
    padding: 5px 40px;
    width: auto;
  }

}

@media only screen and (min-width: 992px) {
  /* Video Text. */
  .video-text > .content {
    display: flex;
  }
  .video-text .video-right {
    flex-direction: row-reverse;
  }
  .video-text--description {
    width: 50%;
    padding: 30px 5% 40px 5%;
    min-height: 375px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-line-pack: center;
    align-content: center;
  }
  .video-text .video-right .video-text--description{
    padding: 30px 5% 40px 5%;
  }
  .video-text--video {
    width: 50%;
  }
  .video-text--description .field-name-field-vtext-button a {
    margin-top: 3rem;
  }
  .video-text--video .field-name-field-video-url,
  .video-text--video .field-items,
  .video-text--video .field-item,
  .video-text--video .youtube-container--responsive {
    height: 100%;
    padding: 0;
  }
  /* Video Grid. */
  .video-grid {
    padding-top: 3rem;
  }
  .video-grid--col-2 .field-name-field-vg-item > .field-items {
    display: flex;
  }
  .video-grid--col-2 .field-name-field-vg-item > .field-items > .field-item:first-child {
    width: 45%;
    margin-right: 5%;
  }
  .video-grid--col-2 .field-name-field-vg-item > .field-items > .field-item:last-child {
    width: 45%;
    margin-left: 5%;
  }
  .video-grid--col-3 {
    overflow: hidden;
  }
  .video-grid--col-3 .field-name-field-vg-item > .field-items {
    display: flex;
    margin: 0 -3%;
  }
  .video-grid--col-3 .field-name-field-vg-item > .field-items > .field-item {
    width: 30%;
    margin: 0 3%;
  }
}
@media only screen and (min-width: 1072px) {
  .video .youtube-container--responsive {
    height: 675px;
  }
  .hero-video--description .field-name-field-vhero-title {
    font-size: 3.375rem;
  }
  .hero-video--description .field-name-field-vhero-subtitle {
    font-size: 1.5rem;
  }
  .hero-video--description .field-name-field-vhero-overlay-image .field-items figure img {
    width: 50%;
    margin: 0 auto;
  }
}
@media only screen and (min-width: 1200px) {
  .hero-video--description .paragraph-container {
    padding-right: 0;
  }
  /* Video with text overlay and background box. */
  .video-text-overlay--description.box_position_left .video-text-overlay--header {
    padding: 20px 20px 20px 0px;
  }
  /* Video Grid. */
  .video-grid .paragraph-container {
    padding: 0;
  }
  .hero-video--video .field-name-field-vhero-overlay-image .field-items{
    width: initial;
  }
}

@media only screen and (min-width: 1900px) {
  .video .youtube-container--responsive {
    height: 1000px;
  }
  .hero-video--description .field-name-field-vhero-overlay-image .field-items figure img {
    width: 75%;
  }
}
