.component__link a:hover::before {
  -webkit-animation-name: animated-link;
          animation-name: animated-link;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: cubic-bezier(0.19, 0.84, 0.55, 0.91);
          animation-timing-function: cubic-bezier(0.19, 0.84, 0.55, 0.91);
}

.component__link a:hover::before {
  -webkit-animation-name: animated-link;
          animation-name: animated-link;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-timing-function: cubic-bezier(0.19, 0.84, 0.55, 0.91);
          animation-timing-function: cubic-bezier(0.19, 0.84, 0.55, 0.91);
}

.component__opening-wrapper::after {
  background-color: var(--title-line-bg-color, var(--color-primary));
  content: var(--title-line-content, "");
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: var(--title-line-height, 3px);
  margin-top: var(--title-line-margin-top, 1.067em);
  max-width: var(--title-line-max-width, 2.8em);
  width: 100%;
}

@media (min-width: 992px) {
  .component__opening-wrapper::after {
    margin-top: var(--title-line-margin-top-lg, 1.2em);
  }
}

.component--background-image-viu .component__container {
  margin: 0 auto;
  max-width: var(--layout-container);
  padding: 0 var(--layout-padding);
  width: 100%;
}

.component--background-image-viu .component__container::before, .component--background-image-viu .component__container::after {
  content: none;
}

:root {
  --component-padding-top: 2em;
  --component-padding-bottom: 2em;
  --component-pretitle-color: var(--color-grey-600);
  --component-pretitle-text-transform: uppercase;
  --component-pretitle-font-size: .8em;
  --component-title-color: var(--heading-color);
  --component-title-margin-bottom: .333em;
  --component-subtitle-color: var(--color-grey-800);
  --component-subtitle-font-family: var(--font-primary);
  --component-subtitle-font-size-lg: var(--heading-h4-font-size);
  --component-subtitle-font-size: var(--heading-h4-font-size);
  --component-subtitle-font-weight: 400;
  --component-subtitle-line-height: 1.44;
  --component-subtitle-margin: .444em 0 .889em;
  --component-subtitle-margin-lg: .364em 0 1.091em;
  --component-description-color: var(--base-text-color);
  --component-description-margin: 1.6em 0;
  --component-main-margin-top: 2.133em;
  --component-main-margin-bottom: 2.133em;
  --component-link-icon-size: 1em;
  --component-link-icon: var(--icon-forward);
  --component-link-text-transform: normal;
  --component-bg-badge: url('../../images/sello-viu.svg');
}

@media (min-width: 992px) {
  :root {
    --component-pretitle-font-size: 1em;
    --component-title-margin-bottom: .236em;
    --component-subtitle-line-height: 1.27;
    --component-main-margin-bottom: 3.733em;
    --component-main-margin-top: 3.733em;
  }
}

.component__container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.component__main {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.component__description {
  margin-bottom: 0;
}

.component--in-columns {
  --component-title-color: var(--color-white);
  --component-subtitle-color: var(--color-white);
  --component-subtitle-font-size-lg: 1.2em;
  --title-line-bg-color: white;
}

@media (min-width: 992px) {
  .component--in-columns .component__container {
    display: grid;
    gap: var(--grid-gap);
    grid-template-areas: "opening main" "opening main" "opening main";
    grid-template-columns: 25% minmax(0, 1fr);
    grid-template-rows: 1fr auto auto;
  }
}

.component--in-columns .component__opening-wrapper {
  background-color: var(--color-primary);
  padding: 3.2em 1.6em;
}

@media (min-width: 0) and (max-width: 991px) {
  .component--in-columns .component__opening-wrapper {
    -webkit-transform: translateX(calc(var(--layout-padding) * -1));
            transform: translateX(calc(var(--layout-padding) * -1));
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
  }
}

@media (min-width: 992px) {
  .component--in-columns .component__opening-wrapper {
    grid-area: opening;
    margin: 0;
    padding: 2em 1.6em;
  }
}

@media (min-width: 992px) {
  .component--in-columns .component__main {
    grid-area: main;
    margin: 0;
  }
}

.component--in-columns .component__title {
  -webkit-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  word-break: break-word;
}

@media (min-width: 992px) {
  .component--background-badge {
    padding-bottom: 0;
  }
}

@media (min-width: 992px) {
  .component--background-badge .component__container {
    overflow: hidden;
    padding-bottom: var(--component-padding-bottom);
  }
}

@media (min-width: 992px) {
  .component--background-badge .component__container:before {
    background-image: var(--component-bg-badge);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 500px;
    content: '';
    width: calc(100% - (var(--layout-padding) * 2));
    height: 100%;
    position: absolute;
    bottom: -200px;
    right: 0;
  }
}

.sb-component-form .component__description {
  margin-top: 0;
}

/*# sourceMappingURL=../maps/organisms/component.css.map */
