/* Content spacer. */
.vsc-content-spacer {
  height: 25px;
}

/* A paragraph style that is larger than normal. */
.vsc-p-large {
  font-size: 125%;
}

/* Icon Sprite Icons */
svg.vsc-icon {
  width: 24px;
  height: 24px;
}

/* Base Button Styling */

.vsc-button-item-solid a,
.vsc-button-item-solid-light a,
.vsc-button-item-outline a {
  display: inline-block;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-width: 180px;
  color: #ffffff;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  background-color: #475467;
  border: 1px solid #475467;
  padding: 8px 16px;
  margin: 0;
  box-sizing: border-box;
  cursor: pointer;
}

.vsc-button-item-solid a:hover,
.vsc-button-item-solid a:focus,
.vsc-button-item-solid-light a:hover,
.vsc-button-item-solid-light a:focus,
.vsc-button-item-outline a:hover,
.vsc-button-item-outline a:focus {
  color: #ffffff;
  text-decoration: none;
}

.vsc-button-item-solid svg.vsc-icon,
.vsc-button-item-solid svg.vsc-icon path,
.vsc-button-item-solid-light svg.vsc-icon,
.vsc-button-item-solid-light svg.vsc-icon path,
.vsc-button-item-outline svg.vsc-icon,
.vsc-button-item-outline svg.vsc-icon path {
  fill: #ffffff;
}

.vsc-button-item-solid svg.vsc-icon,
.vsc-button-item-solid-light svg.vsc-icon,
.vsc-button-item-outline svg.vsc-icon {
  margin-right: 8px;
}


/* WYSIWYG component. */
.vsc-wysiwyg {
  width: 100%;
}

/* Image component. */
.vsc-image img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Embedded video component. */
.vsc-embedded-video {
  width: 100%;
}

.vsc-embedded-video .vsc-embedded-video--video-wrap {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%; /* To create 16:9 aspect ratio which works for YouTube, but Vimeo embeds don't work as nicely. May need more investigation. */
}

.vsc-embedded-video iframe {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

/* Styled buttons component. */
.vsc-styled-buttons {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
}

.vsc-styled-buttons.vsc-button-layout-oneperline {
  flex-direction: column;
}

/* Content Teaser component. */
.vsc-content-teaser img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* CTA - Global Styles */

.vsc-call-to-action img,
.vsc-call-to-action picture,
.vsc-call-to-action picture img {
  display: block;
  max-width: 100%;
  height: auto;
}

.vsc-cta-buttons {
  margin-top: 24px;
}

/* CTA - Simple Image Layout */

.vsc-cta-simple-image .vsc-cta-content-container {
  margin-top: 16px;
}

/* CTA - Background Image Layout */

.vsc-cta-hero-style {
  width: 100%;
}

.vsc-cta-hero-style > img,
.vsc-cta-hero-style > picture,
.vsc-cta-hero-style > picture img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.vsc-cta-hero-style .vsc-cta-wrapper {
  position: relative;
  max-width: 832px;
  padding: 64px 16px;
  margin: 0 auto;
}

.vsc-cta-hero-style .vsc-cta-content-container {
  padding: 16px;
}

/* Heading component */
.vsc-heading {
  width: 100%;
}

.vsc-heading:last-child h1,
.vsc-heading:last-child h2,
.vsc-heading:last-child h3,
.vsc-heading:last-child h4,
.vsc-heading:last-child h5,
.vsc-heading:last-child h6 {
  margin-bottom: 0;
}

.vsc-heading-align-center {
  text-align: center;
}

.vsc-heading-container--icon {
  display: flex;
  column-gap: 8px;
}

.vsc-heading-container--icon.vsc-heading-align-center {
  display: block;
}

.vsc-heading-icon {
  flex-shrink: 0;
}

.vsc-heading-container--icon.vsc-heading-align-center .vsc-heading-icon {
  margin-bottom: 8px;
}

/* Styled List Component */
ul.styled-list {
  list-style-type: none;
}

ul.styled-list li {
  position: relative;
  min-height: 24px;
  padding-left: 44px;
  margin-bottom: 16px;
}

ul.styled-list li:last-child {
  margin-bottom: 0;
}

/* Icon Wrapper */
.vsc-icon-styled-list {
  position: absolute;
  top: 0;
  left: 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 24px;
  width: 24px;
  background-color: #eee;
  border-radius: 50%;
}

/* Quote Component */
.vsc-quote blockquote {
  border-left: 4px solid #aaa;
  padding: 16px 0 8px 20px;
  margin: 0;
}

.vsc-quote figcaption {
  border-left: 4px solid #aaa;
  padding: 24px 0 16px 16px;
}

/* Content Teaser Card */
.content-teaser-card {
  max-width: 608px;
}

/* Content Teaser Card Image Container */
.content-teaser-card .content-teaser-card-image-container {
  margin-bottom: 32px;
}

.content-teaser-card .content-teaser-card-image-container img {
  display: block;
  width: 100%;
}

/* Content Teaser Card Title */
.content-teaser-card-title {
  margin-bottom: 12px;
}

/* Content Teaser Card Text Container */
.content-teaser-card-text-container {
  margin-bottom: 32px;
}

/* Tables */
.main-content-text table {
  overflow-x: auto;
}

.main-content-text table th {
  text-align: left;
}

@media (min-width: 768px) {

  /* CTA - Simple Image Layout */
  .vsc-cta-simple-image .vsc-cta-wrapper {
    display: flex;
  }

  .vsc-cta-simple-image .vsc-cta-image {
    flex-shrink: 0;
    width: 33%;
  }

  .vsc-cta-simple-image .vsc-cta-content-container {
    padding: 24px 0 24px 24px;
    margin-top: 0;
  }

  /* CTA - Background Image Layout */
  .vsc-cta-hero-style .vsc-cta-wrapper {
    padding: 80px 48px;
  }
}

@media (min-width: 992px) {

  /* CTA - Background Image Layout */
  .vsc-cta-hero-style .vsc-cta-wrapper {
    padding-top: 96px;
    padding-bottom: 96px;
  }

  .vsc-cta-hero-style .vsc-cta-content-container {
    padding: 32px;
  }

  /* Styled List Component */
  ul.styled-list li {
    min-height: 28px;
    padding-left: 56px;
    margin-bottom: 24px;
  }

  /* Icon Wrapper */
  .vsc-icon-styled-list {
    left: 16px;
    height: 28px;
    width: 28px;
  }
}
