/* montserrat-regular - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url("fonts/montserrat-v25-latin-regular.woff2") format("woff2"), url("fonts/montserrat-v25-latin-regular.woff") format("woff"); }
/* montserrat-700 - latin */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 700;
  src: url("fonts/montserrat-v25-latin-700.woff2") format("woff2"), url("fonts/montserrat-v25-latin-700.woff") format("woff"); }
html,
body {
  touch-action: none; }

body {
  font-family: "Montserrat";
  height: 100%;
  min-width: 1024px;
  min-height: 768px;
  padding: 0;
  margin: 0;
  background-color: #f1efea; }

.vfc-loader {
  display: inline-block;
  width: 80px;
  height: 80px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%); }
  .vfc-loader::after {
    content: " ";
    display: block;
    width: 64px;
    height: 64px;
    margin: 8px;
    border-radius: 50%;
    border: 6px solid #fc1921;
    border-color: #fc1921 transparent #fc1921 transparent;
    animation: vfc-loader 1.2s linear infinite; }
@keyframes vfc-loader {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
.vfc #closeIntro {
  opacity: 0;
  visibility: hidden; }
.vfc-intro {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  z-index: 1000; }
  .vfc-intro video {
    display: block;
    width: auto;
    height: 100vh;
    background-color: #808284;
    position: absolute;
    left: 50%;
    transform: translateX(-50%); }
  .vfc-intro--start {
    position: absolute;
    left: 50%;
    bottom: 30vh;
    width: 17%;
    height: auto;
    transform: translateX(-50%); }
    .vfc-intro--start img {
      display: block;
      width: 100%;
      height: auto; }
  .vfc-intro--footer {
    display: block;
    width: 100%;
    height: 12vw;
    background-image: url("../images/intro-footer-bg.svg");
    background-size: cover;
    background-position: top;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0;
    left: 0; }
    .vfc-intro--footer---vfmcrp-logo {
      display: block;
      width: 25%;
      height: auto;
      position: absolute;
      bottom: 4.5vh;
      left: 5.5vw; }
      .vfc-intro--footer---vfmcrp-logo img {
        display: block;
        width: 100%;
        height: auto; }
    .vfc-intro--footer---cls-vifor-logo {
      display: block;
      width: 12%;
      height: auto;
      position: absolute;
      bottom: 4.5vh;
      right: 5.5vw; }
      .vfc-intro--footer---cls-vifor-logo img {
        display: block;
        width: 100%;
        height: auto; }
    .vfc-intro--footer---job-code {
      display: block;
      position: absolute;
      bottom: 4.5vh;
      left: 50%;
      transform: translateX(-50%); }
      .vfc-intro--footer---job-code p {
        margin: 0 0 -2px;
        font-size: 10px; }
        @media only screen and (min-width: 1367px) {
          .vfc-intro--footer---job-code p {
            font-size: 14px; } }

.vfc-brands {
  display: grid;
  position: absolute;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  background-color: #fc1921;
  grid-template-columns: 8vw auto 72vw auto 30px;
  grid-template-rows: 7.5vh auto 7.5vh;
  justify-items: center;
  align-items: center;
  opacity: 0;
  visibility: hidden; }
  @media only screen and (min-width: 1367px) {
    .vfc-brands {
      grid-template-columns: 7vw auto 72vw auto 60px;
      grid-template-rows: 6vh auto 6vh; } }
  .vfc-brands--sp {
    grid-template-rows: 7.5vh auto 14vh; }
    @media only screen and (min-width: 1367px) {
      .vfc-brands--sp {
        grid-template-rows: 6vh auto 13.5vh; } }

.vfc-brands--sidebar {
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-column: 1 / span 1;
  grid-row: 1 / span 3;
  justify-items: center;
  align-items: center;
  align-self: stretch;
  position: relative;
  opacity: 0;
  visibility: hidden; }
  .vfc-brands--sidebar---text {
    display: block;
    width: 2.8vw;
    padding: 2.8vw 0 2vw;
    grid-row: 1 / span 1;
    grid-column: 1 / span 1;
    opacity: 0;
    visibility: hidden; }
    @media only screen and (min-width: 1367px) {
      .vfc-brands--sidebar---text {
        width: 2.2vw; } }
  .vfc-brands--sidebar---line {
    display: grid;
    position: relative;
    width: 1px;
    grid-row: 2 / span 1;
    grid-column: 1 / span 1;
    align-self: stretch; }
    .vfc-brands--sidebar---line----animate {
      position: absolute;
      bottom: 0;
      left: 0;
      width: 1px;
      height: 0;
      background-color: #f1efea; }
  .vfc-brands--sidebar---buttons {
    display: grid;
    grid-template-rows: auto auto; }
    .vfc-brands--sidebar---buttons----contact {
      grid-row: 1 / span 1;
      grid-column: 1 / span 1;
      padding: 2vw 2vw 0; }
      @media only screen and (min-width: 1367px) {
        .vfc-brands--sidebar---buttons----contact {
          padding: 2vw 1.65vw 0; } }
      .vfc-brands--sidebar---buttons----contact svg {
        display: block;
        width: 100%;
        height: auto; }
    .vfc-brands--sidebar---buttons----home {
      grid-row: 2 / span 1;
      grid-column: 1 / span 1;
      padding: 1vw 2vw 1.5vw; }
      @media only screen and (min-width: 1367px) {
        .vfc-brands--sidebar---buttons----home {
          padding: 0.8vw 1.65vw 1.5vw; } }
      .vfc-brands--sidebar---buttons----home svg {
        display: block;
        width: 100%;
        height: auto; }
  .vfc-brands--sidebar---reset {
    position: absolute;
    width: 4vw;
    height: 4vw;
    border-radius: 2vw;
    bottom: 1.5vw;
    left: 8vw;
    background-color: #000000;
    opacity: 0.005; }
    @media only screen and (min-width: 1367px) {
      .vfc-brands--sidebar---reset {
        left: 7vw;
        width: 3.7vw;
        height: 3.7vw; } }

.vfc-brands--gradient {
  display: block;
  width: 100%;
  height: 100vh;
  grid-column: 5 / span 1;
  grid-row: 1 / span 3;
  opacity: 0;
  visibility: hidden; }

/*
@keyframes bounce {
	0%, 100% {
		-webkit-transform: scale(1);
		-ms-transform:     scale(1);
		transform:         scale(1)
	}
	50% {
		-webkit-transform: scale(.98);
		-ms-transform:     scale(.98);
		transform:         scale(.98)
	}
}
*/
.vfc-brands--signposts {
  display: grid;
  gap: 5vw;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-column: 3 / span 1;
  grid-row: 1 / span 3;
  opacity: 0;
  visibility: hidden; }
  @media only screen and (min-width: 1367px) {
    .vfc-brands--signposts {
      grid-column-gap: 4.5vw;
      grid-row-gap: 4vw; } }
  .vfc-brands--signposts---two-cols {
    grid-template-columns: 21vw 21vw; }
    @media only screen and (min-width: 1367px) {
      .vfc-brands--signposts---two-cols {
        grid-template-columns: 18vw 18vw; } }
  .vfc-brands--signposts---signpost {
    display: block;
    width: 100%;
    height: auto;
    background-color: #f1efea;
    -webkit-box-shadow: 0px 10px 25px 0px rgba(0, 0, 0, 0.16);
    box-shadow: 0px 10px 25px 0px rgba(0, 0, 0, 0.16);
    opacity: 0;
    visibility: hidden;
    /*
            -webkit-animation-duration: .25s;
            animation-duration: .25s;
            -webkit-animation-fill-mode: both;
            animation-fill-mode: both;
            -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
            
            &:hover {
              animation-name: bounce;
              -moz-animation-name: bounce;
              backface-visibility: hidden;
            }
    */ }
    .vfc-brands--signposts---signpost img {
      display: block;
      width: 100%;
      height: auto; }
    .vfc-brands--signposts---signpost----copy {
      display: grid;
      justify-items: center;
      align-items: center;
      height: 5vw;
      padding: 0 0.5vw; }
      @media only screen and (min-width: 1367px) {
        .vfc-brands--signposts---signpost----copy {
          height: 4.5vw; } }
      .vfc-brands--signposts---signpost----copy h2 {
        font-weight: 700;
        padding: 0;
        margin: 0;
        text-align: center;
        font-size: 1.5vw;
        line-height: 1.2; }
        @media only screen and (min-width: 1367px) {
          .vfc-brands--signposts---signpost----copy h2 {
            font-size: 1.3vw;
            -webkit-font-smoothing: antialiased; } }
        .vfc-brands--signposts---signpost----copy h2 sup {
          font-size: 0.8vw; }

/*
@keyframes bounce {
	0%, 100% {
		-webkit-transform: scale(1);
		-ms-transform:     scale(1);
		transform:         scale(1)
	}
	50% {
		-webkit-transform: scale(.98);
		-ms-transform:     scale(.98);
		transform:         scale(.98)
	}
}
*/
.vfc-brands--products {
  display: none;
  grid-column-gap: 5vw;
  grid-row-gap: 3vw;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-column: 3 / span 1;
  grid-row: 2 / span 1; }
  @media only screen and (min-width: 1367px) {
    .vfc-brands--products {
      grid-row-gap: 2vw; } }
  .vfc-brands--products---product {
    display: grid;
    width: 100%;
    height: auto;
    grid-template-columns: 1fr;
    grid-template-rows: auto auto;
    opacity: 0;
    visibility: hidden; }
    .vfc-brands--products---product-single-column {
      grid-column: 2 / span 1;
      grid-row: 1 / span 1; }
    .vfc-brands--products---product----image {
      display: grid;
      grid-column: 1 / span 1;
      grid-row: 1 / span 1; }
      .vfc-brands--products---product----image img {
        display: block;
        width: 100%;
        height: auto; }
    .vfc-brands--products---product----video::after {
      grid-column: 1 / span 1;
      grid-row: 1 / span 1;
      content: '';
      display: grid;
      width: 46px;
      height: 46px;
      background-image: url("../images/play-button.svg");
      background-repeat: no-repeat;
      background-size: contain;
      align-self: center;
      justify-self: center; }
    .vfc-brands--products---product----copy {
      display: grid;
      grid-column: 1 / span 1;
      grid-row: 2 / span 1; }
      .vfc-brands--products---product----copy h2 {
        font-weight: 700;
        padding: 0.9vw 0;
        margin: 0;
        font-size: 1.35vw;
        line-height: 1.2; }
        @media only screen and (min-width: 1367px) {
          .vfc-brands--products---product----copy h2 {
            font-size: 1.25vw;
            padding: 0.6vw 0;
            -webkit-font-smoothing: antialiased; } }
        .vfc-brands--products---product----copy h2 sup {
          font-size: 0.8vw; }
      .vfc-brands--products---product----copy p {
        font-size: 1.2vw;
        line-height: 1.2;
        margin: 0;
        padding: 0; }
        @media only screen and (min-width: 1367px) {
          .vfc-brands--products---product----copy p {
            font-size: 0.9vw;
            -webkit-font-smoothing: antialiased; } }
        .vfc-brands--products---product----copy p sup {
          font-size: 0.55vw; }
        .vfc-brands--products---product----copy p strong {
          display: block;
          padding: 0.9vw 0 0; }
          @media only screen and (min-width: 1367px) {
            .vfc-brands--products---product----copy p strong {
              padding: 0.6vw 0 0; } }
  .vfc-brands--products.ferinject-products p strong {
    color: #FC1921; }
  .vfc-brands--products.veltassa-products p strong {
    color: #430098; }

/*
@keyframes bounce {
	0%, 100% {
		-webkit-transform: scale(1);
		-ms-transform:     scale(1);
		transform:         scale(1)
	}
	50% {
		-webkit-transform: scale(.98);
		-ms-transform:     scale(.98);
		transform:         scale(.98)
	}
}
*/
.vfc-brands--modal {
  display: grid;
  grid-column: 1 / span 5;
  grid-row: 1 / span 3;
  background-color: #f1efea;
  align-self: stretch;
  justify-self: stretch;
  grid-template-columns: 8vw 3vw 86vw 3vw;
  grid-template-rows: 1fr 48.4vw 1fr;
  opacity: 0;
  visibility: hidden; }
  @media only screen and (min-width: 1367px) {
    .vfc-brands--modal {
      grid-template-columns: 7vw 3.5vw 86vw 3.5vw; } }
  .vfc-brands--modal---container {
    display: grid;
    grid-column: 3 / span 1;
    grid-row: 2 / span 1;
    align-content: center;
    justify-content: center;
    overflow: hidden;
    grid-template-columns: auto;
    grid-template-rows: 1fr;
    opacity: 0;
    visibility: hidden;
    /*
            &----pdf {
              display: block;
              width: 86vw;
              height: 48.4vw;
              grid-column: 1 / span 1;
              grid-row: 1 / span 1;
              opacity: 0;
              visibility: hidden;
              
              iframe {
                border: none;
                width: 1920px;
                height: 1080px;
                transform: scale(0.459);
                // transform-origin: 0 0;
                
                @media only screen and (min-width : 1112px) {
                  transform: scale(0.498);
                }
                
                @media only screen and (min-width : 1366px) {
                  transform: scale(0.612);
                }
                
                @media only screen and (min-width : 1860px) {
                  transform: scale(0.86);
                }
              }
             
              object {
                border: none;
                width: 1920px;
                height: 1080px;
                transform: scale(0.459);
                transform-origin: 0 0;
                
                @media only screen and (min-width : 1112px) {
                  transform: scale(0.498);
                }
                
                @media only screen and (min-width : 1366px) {
                  transform: scale(0.612);
                }
                
                @media only screen and (min-width : 1860px) {
                  transform: scale(0.86);
                }
              }
            }
    */ }
    .vfc-brands--modal---container----iframe, .vfc-brands--modal---container----pdf {
      display: block;
      grid-column: 1 / span 1;
      grid-row: 1 / span 1;
      opacity: 0;
      visibility: hidden; }
      .vfc-brands--modal---container----iframe iframe, .vfc-brands--modal---container----pdf iframe {
        border: none;
        width: 1920px;
        height: 1080px;
        transform: scale(0.459); }
        @media only screen and (min-width: 1112px) {
          .vfc-brands--modal---container----iframe iframe, .vfc-brands--modal---container----pdf iframe {
            transform: scale(0.498); } }
        @media only screen and (min-width: 1366px) {
          .vfc-brands--modal---container----iframe iframe, .vfc-brands--modal---container----pdf iframe {
            transform: scale(0.612); } }
        @media only screen and (min-width: 1860px) {
          .vfc-brands--modal---container----iframe iframe, .vfc-brands--modal---container----pdf iframe {
            transform: scale(0.86); } }
    .vfc-brands--modal---container----video {
      display: block;
      width: 86vw;
      height: 48.4vw;
      grid-column: 1 / span 1;
      grid-row: 1 / span 1;
      opacity: 0;
      visibility: hidden; }
      .vfc-brands--modal---container----video video {
        display: block;
        width: 100%;
        height: auto; }
  .vfc-brands--modal---sidebar {
    display: grid;
    grid-template-rows: auto;
    grid-column: 1 / span 1;
    grid-row: 1 / span 3;
    justify-items: center;
    align-items: end;
    align-self: stretch; }
    .vfc-brands--modal---sidebar----buttons {
      display: grid;
      grid-template-rows: auto auto;
      background-color: #f1efea;
      z-index: 1; }
      .vfc-brands--modal---sidebar----buttons-----contact {
        grid-row: 1 / span 1;
        grid-column: 1 / span 1;
        padding: 2vw 2vw 0;
        opacity: 0.3; }
        @media only screen and (min-width: 1367px) {
          .vfc-brands--modal---sidebar----buttons-----contact {
            padding: 2vw 1.65vw 0; } }
        .vfc-brands--modal---sidebar----buttons-----contact svg {
          display: block;
          width: 100%;
          height: auto; }
      .vfc-brands--modal---sidebar----buttons-----home {
        grid-row: 2 / span 1;
        grid-column: 1 / span 1;
        padding: 1vw 2vw 1.5vw;
        opacity: 0.3; }
        @media only screen and (min-width: 1367px) {
          .vfc-brands--modal---sidebar----buttons-----home {
            padding: 0.8vw 1.65vw 1.5vw; } }
        .vfc-brands--modal---sidebar----buttons-----home svg {
          display: block;
          width: 100%;
          height: auto; }
  .vfc-brands--modal---close {
    grid-column: 3 / span 1;
    grid-row: 3 / span 1;
    justify-self: end;
    align-self: end;
    width: 76px;
    height: 19px;
    background-image: url("../images/close-button.svg");
    background-size: contain;
    background-repeat: no-repeat;
    padding-bottom: 33px; }
    @media only screen and (min-width: 1367px) {
      .vfc-brands--modal---close {
        width: 112px;
        height: 32px;
        padding-bottom: 21px; } }

/*
@keyframes bounce {
	0%, 100% {
		-webkit-transform: scale(1);
		-ms-transform:     scale(1);
		transform:         scale(1)
	}
	50% {
		-webkit-transform: scale(.98);
		-ms-transform:     scale(.98);
		transform:         scale(.98)
	}
}
*/
.vfc-brands--contact {
  display: grid;
  grid-column: 1 / span 5;
  grid-row: 1 / span 3;
  background-color: #f1efea;
  align-self: stretch;
  justify-self: stretch;
  grid-template-columns: 8vw auto 4vw 4vw;
  grid-template-rows: 1fr 48.4vw 1fr;
  z-index: 102;
  opacity: 0;
  visibility: hidden; }
  @media only screen and (min-width: 1367px) {
    .vfc-brands--contact {
      grid-template-columns: 7vw auto 4vw 4vw; } }
  .vfc-brands--contact---container {
    display: block;
    margin: 0 auto;
    grid-column: 2 / span 1;
    grid-row: 2 / span 1; }
    .vfc-brands--contact---container----qr-code {
      display: block;
      width: 27vw;
      height: auto;
      margin: 0 auto 5vw; }
      @media only screen and (min-width: 1367px) {
        .vfc-brands--contact---container----qr-code {
          width: 21vw;
          margin-top: 4vw; } }
      .vfc-brands--contact---container----qr-code img {
        display: block;
        width: 100%;
        height: auto; }
    .vfc-brands--contact---container----copy {
      display: block;
      width: 43vw; }
      .vfc-brands--contact---container----copy h2 {
        font-size: 3.2vw;
        text-align: center; }
        @media only screen and (min-width: 1367px) {
          .vfc-brands--contact---container----copy h2 {
            font-size: 2.5vw;
            -webkit-font-smoothing: antialiased; } }
  .vfc-brands--contact---sidebar {
    display: grid;
    grid-template-rows: auto 1fr auto;
    grid-column: 1 / span 1;
    grid-row: 1 / span 3;
    justify-items: center;
    align-items: center;
    align-self: stretch; }
    .vfc-brands--contact---sidebar----text {
      display: block;
      width: 2.8vw;
      padding: 2.8vw 0 2vw;
      grid-row: 1 / span 1;
      grid-column: 1 / span 1; }
      @media only screen and (min-width: 1367px) {
        .vfc-brands--contact---sidebar----text {
          width: 2.2vw; } }
    .vfc-brands--contact---sidebar----line {
      display: grid;
      position: relative;
      width: 1px;
      grid-row: 2 / span 1;
      grid-column: 1 / span 1;
      align-self: stretch; }
      .vfc-brands--contact---sidebar----line-----animate {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 1px;
        height: 100%;
        background-color: #808284; }
    .vfc-brands--contact---sidebar----buttons {
      display: grid;
      grid-template-rows: auto auto; }
      .vfc-brands--contact---sidebar----buttons-----contact {
        grid-row: 1 / span 1;
        grid-column: 1 / span 1;
        padding: 2vw 2vw 0; }
        @media only screen and (min-width: 1367px) {
          .vfc-brands--contact---sidebar----buttons-----contact {
            padding: 2vw 1.65vw 0; } }
        .vfc-brands--contact---sidebar----buttons-----contact svg {
          display: block;
          width: 100%;
          height: auto; }
      .vfc-brands--contact---sidebar----buttons-----home {
        grid-row: 2 / span 1;
        grid-column: 1 / span 1;
        padding: 1vw 2vw 1.5vw;
        opacity: 0.3; }
        @media only screen and (min-width: 1367px) {
          .vfc-brands--contact---sidebar----buttons-----home {
            padding: 0.8vw 1.65vw 1.5vw; } }
        .vfc-brands--contact---sidebar----buttons-----home svg {
          display: block;
          width: 100%;
          height: auto; }
  .vfc-brands--contact---close {
    grid-column: 3 / span 1;
    grid-row: 3 / span 1;
    justify-self: end;
    align-self: end;
    width: 76px;
    height: 19px;
    background-image: url("../images/close-button.svg");
    background-size: contain;
    background-repeat: no-repeat;
    padding-bottom: 33px; }
    @media only screen and (min-width: 1367px) {
      .vfc-brands--contact---close {
        width: 112px;
        height: 32px;
        padding-bottom: 21px; } }

/*
@keyframes bounce {
	0%, 100% {
		-webkit-transform: scale(1);
		-ms-transform:     scale(1);
		transform:         scale(1)
	}
	50% {
		-webkit-transform: scale(.98);
		-ms-transform:     scale(.98);
		transform:         scale(.98)
	}
}
*/
.vfc-brands--pi-modal {
  display: grid;
  grid-column: 1 / span 5;
  grid-row: 1 / span 3;
  background-color: #f1efea;
  align-self: stretch;
  justify-self: stretch;
  grid-template-columns: 8vw auto 82vw 5vw 30px;
  grid-template-rows: 10vh 80vh 10vh;
  z-index: 101;
  opacity: 0;
  visibility: hidden; }
  @media only screen and (min-width: 1367px) {
    .vfc-brands--pi-modal {
      grid-template-columns: 7vw auto 72vw 10vw 60px; } }
  .vfc-brands--pi-modal---container {
    display: block;
    margin: 0 auto;
    grid-column: 3 / span 1;
    grid-row: 2 / span 1;
    width: 100%;
    align-self: center; }
    .vfc-brands--pi-modal---container img {
      display: block;
      width: 100%;
      height: auto; }
  .vfc-brands--pi-modal---sidebar {
    display: grid;
    grid-template-rows: auto 1fr auto;
    grid-column: 1 / span 1;
    grid-row: 1 / span 3;
    justify-items: center;
    align-items: center;
    align-self: stretch; }
    .vfc-brands--pi-modal---sidebar----text {
      display: block;
      width: 2.8vw;
      padding: 2.8vw 0 2vw;
      grid-row: 1 / span 1;
      grid-column: 1 / span 1; }
      @media only screen and (min-width: 1367px) {
        .vfc-brands--pi-modal---sidebar----text {
          width: 2.2vw; } }
    .vfc-brands--pi-modal---sidebar----line {
      display: grid;
      position: relative;
      width: 1px;
      grid-row: 2 / span 1;
      grid-column: 1 / span 1;
      align-self: stretch; }
      .vfc-brands--pi-modal---sidebar----line-----animate {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 1px;
        height: 100%;
        background-color: #808284; }
    .vfc-brands--pi-modal---sidebar----buttons {
      display: grid;
      grid-template-rows: auto auto; }
      .vfc-brands--pi-modal---sidebar----buttons-----contact {
        grid-row: 1 / span 1;
        grid-column: 1 / span 1;
        padding: 2vw 2vw 0;
        opacity: 0.3; }
        @media only screen and (min-width: 1367px) {
          .vfc-brands--pi-modal---sidebar----buttons-----contact {
            padding: 2vw 1.65vw 0; } }
        .vfc-brands--pi-modal---sidebar----buttons-----contact svg {
          display: block;
          width: 100%;
          height: auto; }
      .vfc-brands--pi-modal---sidebar----buttons-----home {
        grid-row: 2 / span 1;
        grid-column: 1 / span 1;
        padding: 1vw 2vw 1.5vw;
        opacity: 0.3; }
        @media only screen and (min-width: 1367px) {
          .vfc-brands--pi-modal---sidebar----buttons-----home {
            padding: 0.8vw 1.65vw 1.5vw; } }
        .vfc-brands--pi-modal---sidebar----buttons-----home svg {
          display: block;
          width: 100%;
          height: auto; }
  .vfc-brands--pi-modal---gradient {
    display: block;
    width: 100%;
    height: 100vh;
    grid-column: 5 / span 1;
    grid-row: 1 / span 3;
    background: linear-gradient(60.54deg, #EE2D24 -24.42%, #95288F 143.58%); }
  .vfc-brands--pi-modal---close {
    grid-column: 3 / span 2;
    grid-row: 3 / span 1;
    justify-self: end;
    align-self: end;
    width: 76px;
    height: 19px;
    background-image: url("../images/close-button.svg");
    background-size: contain;
    background-repeat: no-repeat;
    padding-bottom: 33px;
    margin-right: 33px; }
    @media only screen and (min-width: 1367px) {
      .vfc-brands--pi-modal---close {
        width: 112px;
        height: 32px;
        padding-bottom: 21px; } }

.vfc-brands--pi {
  grid-column: 3 / span 1;
  grid-row: 1 / span 1;
  justify-self: end;
  font-size: 1.2vw;
  font-weight: 700;
  color: #fc1921;
  text-align: right;
  text-decoration: underline;
  padding: 0;
  margin: 0;
  z-index: 100;
  opacity: 0;
  visibility: hidden; }
  @media only screen and (min-width: 1367px) {
    .vfc-brands--pi {
      font-size: 1vw; } }

.vfc-brands--footer {
  display: grid;
  gap: 5vw;
  grid-template-columns: 46.3vw auto;
  grid-column: 3 / span 1;
  grid-row: 3 / span 1;
  padding: 0 0 3vh;
  justify-self: stretch;
  align-content: end;
  opacity: 0;
  visibility: hidden; }
  @media only screen and (min-width: 1367px) {
    .vfc-brands--footer {
      grid-template-columns: 46.5vw auto;
      padding: 0 0 2.5vh; } }
  .vfc-brands--footer---small-print {
    gap: 4.5vw;
    grid-column: 1 / span 1;
    grid-row: 1 / span 1; }
    .vfc-brands--footer---small-print p {
      font-size: 1vw;
      line-height: 1.2;
      color: #000000;
      padding: 0;
      margin: 0; }
      @media only screen and (min-width: 1367px) {
        .vfc-brands--footer---small-print p {
          font-size: 0.75vw; } }
  .vfc-brands--footer---logo {
    grid-column: 2 / span 1;
    grid-row: 1 / span 1;
    justify-self: end;
    display: grid;
    width: 70%;
    max-width: 210px;
    height: auto; }
    .vfc-brands--footer---logo img {
      display: block;
      width: 100%;
      height: auto; }

.vfc-timeout {
  display: none;
  position: absolute;
  width: 100%;
  height: 100vh;
  grid-template-columns: 100vw;
  grid-template-rows: 100vh;
  z-index: 1000;
  opacity: 0;
  visibility: hidden; }
  .vfc-timeout--background {
    position: absolute;
    width: 100%;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.6); }
  .vfc-timeout--timer {
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: 440px auto;
    position: relative;
    width: 87%;
    max-width: 1130px;
    height: 553px;
    align-self: center;
    justify-self: center;
    background-color: #f1efea; }
    @media only screen and (min-width: 1367px) {
      .vfc-timeout--timer {
        grid-template-rows: 400px auto; } }
    .vfc-timeout--timer---counter {
      align-self: center; }
      .vfc-timeout--timer---counter h2 {
        font-weight: 400;
        font-size: 28px;
        line-height: 1;
        padding: 0 0 30px;
        margin: 0;
        text-align: center; }
        @media only screen and (min-width: 1367px) {
          .vfc-timeout--timer---counter h2 {
            font-size: 38px;
            -webkit-font-smoothing: antialiased; } }
      .vfc-timeout--timer---counter h3 {
        font-weight: 400;
        font-size: 92px;
        line-height: 1;
        text-align: center;
        padding: 0;
        margin: 0; }
        @media only screen and (min-width: 1367px) {
          .vfc-timeout--timer---counter h3 {
            -webkit-font-smoothing: antialiased; } }
    .vfc-timeout--timer---link {
      align-self: start; }
      .vfc-timeout--timer---link p {
        font-weight: 400;
        font-size: 18px;
        line-height: 1;
        text-align: center; }
        @media only screen and (min-width: 1367px) {
          .vfc-timeout--timer---link p {
            font-size: 28px;
            -webkit-font-smoothing: antialiased; } }
        .vfc-timeout--timer---link p strong {
          font-weight: 700; }
