@use "../base" as *; @use "../abstracts" as *; #block-gto-videocta, .paragraph--type--video-cta { margin: 24px auto 55px auto; min-height: 720px; position: relative; .videocta__video { border-radius: 8px; iframe { width: 100%; height: 100%; min-height: 714px; } } .videocta__video--playvideo { background: url("/themes/custom/gto/assets/images/cows.png"); background-position: center; background-repeat: no-repeat; background-size: cover; left: 0; top: 0; position: absolute; z-index: 1; width: 100%; height: 100%; border-radius: 8px; display: flex; justify-content: center; align-items: center; color: white; img { width: 100%; height: 100%; } .playvideo__button--container { width: 100%; height: 100%; background-color: rgba(61, 63, 78, 0.88); position: absolute; display: flex; align-items: center; justify-content: center; button { display: flex; gap: 8px; padding: 18px 24px; border-radius: 32px; background: $brand-green; cursor: pointer; width: fit-content; color: white; font-family: $font-primary; font-size: 1rem; font-weight: 500; line-height: 20px; transform: translateY(-44px); &::before { content: ""; display: inline-block; width: 20px; height: 20px; background-image: url("/assets/icons/play.svg"); background-repeat: no-repeat; background-size: cover; } } } } .videocta__content { z-index: 2; display: flex; flex-direction: column; justify-content: space-between; position: absolute; top: 370px; left: 15px; right: 15px; gap: 10px; &.active { .field--name-field-reference { display: none; @include breakpoint(medium) { display: block; } } } @include breakpoint(small) { top: 370px; left: 62px; right: 62px; } @include breakpoint(medium) { flex-direction: row; top: 390px; gap: 25px; } @include breakpoint(large) { top: 450px; gap: 50px; } @include breakpoint(extra_large) { top: 496px; } @include breakpoint(full) { left: 112px; right: unset; gap: 75px; } } .videocta__info { color: white; display: flex; flex-direction: column; gap: 16px; @include breakpoint(extra_large) { max-width: 614px; } @include breakpoint(full) { max-width: 664px; } .videocta__info--long, .videocta__button--long { display: none; } .videocta__button--short { cursor: pointer; } .field--name-field-title { font-family: $font-primary; font-size: 2.25rem; font-weight: 500; line-height: 2.625rem; } .field--name-field-description p { font-family: $font-primary; font-size: 1rem; font-weight: 400; line-height: 1.375rem; color: white; } button { border-radius: 4px; border: 1px solid $brand-green; cursor: pointer; display: flex; padding: 9px 16px; align-items: center; gap: 8px; width: fit-content; font-family: $font-primary; font-size: 0.75rem; font-weight: 500; line-height: 1rem; letter-spacing: 0.12px; text-transform: uppercase; &::after { content: ""; display: inline-block; width: 16px; height: 16px; background-image: url("/assets/icons/arrow-down.svg"); background-repeat: no-repeat; background-size: cover; } } } .videocta__info.active { display: flex; color: black; background-color: white; border-radius: 8px; flex-direction: column; justify-content: flex-end; transform: translate(-5px, -5px); box-shadow: 10px 10px 10px #00000021; max-width: 660px; margin-right: 0; padding: 20px 24px 16px 24px; @include breakpoint(small) { margin-right: -90px; transform: translate(-48px, -10px); } @include breakpoint(medium) { margin-right: -30px; padding: 40px 48px 16px 48px; transform: translate(-48px, -40px); } @include breakpoint(large) { margin-right: -70px; } @include breakpoint(extra_large) { max-width: 710px; margin-right: -46px; } @include breakpoint(full) { max-width: 760px; margin-right: -96px; } .field--name-field-title { color: $dark-gray; } .videocta__info--long { display: flex; flex-direction: column; p { color: $mid-gray; line-height: 22px; } * { margin-bottom: 1rem; } } .videocta__button--long { display: flex; cursor: pointer; &::after { filter: invert(1); rotate: 180deg; } } .videocta__info--short, .videocta__button--short { display: none; } } .videocta__separator { height: 176px; width: 1px; background-color: $light-gray; opacity: 0.12; display: none; @include breakpoint(medium) { display: flex; } } .field--name-field-reference { a { display: flex; padding: 15px 20px; justify-content: center; align-items: center; gap: 8px; border-radius: 4px; border: 1px solid $brand-green; color: white; font-family: $font-primary; font-size: 0.875rem; font-weight: 500; line-height: 1rem; width: 200px; @include breakpoint(medium) { transform: translateY(64px); } @include breakpoint(large) { width: 297px; } &::after { content: ""; display: inline-block; width: 16px; height: 16px; background-image: url("/assets/icons/arrow-right-white.svg"); background-repeat: no-repeat; background-size: cover; } } } } .videocta-modal-open { overflow: hidden; } .videocta-modal { position: fixed; inset: 0; z-index: 2147483000; display: flex; align-items: center; justify-content: center; padding: 18px; opacity: 0; pointer-events: none; transition: opacity 0.24s ease; @include breakpoint(medium) { padding: 42px; } &.is-open { opacity: 1; pointer-events: auto; .videocta-modal__backdrop { opacity: 1; } .videocta-modal__panel { opacity: 1; transform: translateY(0) scale(1); } } &__backdrop { position: absolute; inset: 0; background: radial-gradient(circle at 50% 18%, rgba(255, 255, 255, 0.12), transparent 32%), rgba(25, 27, 36, 0.9); backdrop-filter: blur(10px); opacity: 0; transition: opacity 0.24s ease; } &__panel { position: relative; z-index: 1; width: min(1180px, 100%); opacity: 0; transform: translateY(18px) scale(0.96); transition: opacity 0.24s ease, transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1); } &__frame { overflow: hidden; width: 100%; aspect-ratio: 16 / 9; border-radius: 8px; background: #11131a; box-shadow: 0 28px 90px -42px rgba(0, 0, 0, 0.9); iframe { display: block; width: 100%; height: 100%; } } &__close { position: absolute; top: -54px; right: 0; z-index: 2; width: 44px; height: 44px; border: 1px solid rgba(255, 255, 255, 0.18); border-radius: 50%; background: rgba(255, 255, 255, 0.1); cursor: pointer; transition: background-color 0.2s, transform 0.2s; @include breakpoint(medium) { top: -58px; right: -6px; } &::before, &::after { content: ""; position: absolute; top: 50%; left: 50%; width: 18px; height: 2px; border-radius: 999px; background: white; transform-origin: center; } &::before { transform: translate(-50%, -50%) rotate(45deg); } &::after { transform: translate(-50%, -50%) rotate(-45deg); } &:hover, &:focus-visible { background: $brand-green; transform: scale(1.05); } } } .page-node-type-trough { .paragraph--type--video-cta { display: flex; flex-direction: column; min-height: 0; margin: 0 0 28px; overflow: hidden; border-radius: 6px; border: 1px solid $light-gray; background: white; @include breakpoint(medium) { min-height: 420px; margin-bottom: 36px; border: 0; background: transparent; } .videocta__video { position: relative; height: 220px; min-height: 0; border-radius: 6px 6px 0 0; overflow: hidden; @include breakpoint(medium) { height: 420px; border-radius: 6px; } iframe { min-height: 220px; height: 220px; @include breakpoint(medium) { min-height: 420px; height: 420px; } } } .videocta__video--playvideo { position: absolute; inset: 0; height: 220px; border-radius: 6px 6px 0 0; @include breakpoint(medium) { height: 100%; border-radius: 6px; } .playvideo__button--container { background-color: rgba(41, 43, 56, 0.58); @include breakpoint(medium) { justify-content: flex-start; padding-left: 44px; background: linear-gradient(90deg, rgba(31, 33, 44, 0.78) 0%, rgba(31, 33, 44, 0.34) 58%, rgba(31, 33, 44, 0.42) 100%); } button { padding: 14px 22px; font-size: 0.9375rem; transform: none; box-shadow: 0 14px 28px -16px rgba(0, 0, 0, 0.45); @include breakpoint(medium) { transform: translateY(-10px); } } } } .videocta__content { position: static; display: flex; flex-direction: column; gap: 18px; padding: 20px 22px 22px; color: $dark-gray; @include breakpoint(medium) { position: absolute; left: 44px; right: 44px; bottom: 36px; top: auto; flex-direction: row; align-items: flex-end; justify-content: space-between; padding: 0; color: white; } @include breakpoint(full) { left: 64px; right: 64px; gap: 48px; } } .videocta__info { gap: 12px; color: $dark-gray; @include breakpoint(medium) { max-width: 560px; color: white; } .field--name-field-title { font-size: 1.75rem; line-height: 2.125rem; @include breakpoint(medium) { font-size: 2.5rem; line-height: 3rem; } } .field--name-field-description p { color: $mid-gray; font-size: 1rem; line-height: 1.5rem; @include breakpoint(medium) { color: white; max-width: 560px; } } button { padding: 9px 14px; } .videocta__button--short { display: none; @include breakpoint(medium) { display: flex; } } } .videocta__separator { display: none; } .field--name-field-reference { a { width: 100%; color: $brand-green; border-color: $brand-green; transform: none; &::after { background-image: url("/themes/custom/gto/assets/icons/arrow-right-slim.svg"); filter: none; } @include breakpoint(medium) { width: 260px; color: white; border-color: rgba(255, 255, 255, 0.7); &::after { background-image: url("/assets/icons/arrow-right-white.svg"); } } } } } }