.cnb-block-home-hero {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 50vw;
    transition: transform .5s ease-in-out;
}

.cnb-block-home-hero.typing {
    transform: scale(0.8);
}

.cnb-block-home-hero h1 {
    font-size: 7vw;
    font-weight: 600;
    color: var(--wp--preset--color--custom-text);
    display: flex;
    position: relative;
    align-items: center;
    width: 15ch;
    height: 1.25em;
    left: 1.5ch;
    transform: translateY(-.5ex);
}

@media only screen and (max-width: 600px) {
    .cnb-block-home-hero h1 {
        margin-top: 9vw !important;
    }
}

.cnb-block-home-hero h1 span span {
    color: var(--wp--preset--color--custom-primary);
}

#typed-word {
    white-space: nowrap;
    /* overflow: hidden; */
    color: var(--wp--preset--color--custom-primary);
}

#typed-word:after {
    display: inline-block;
    content: '';
    height: 1em;
    position: absolute;
    top: .125em;
    margin-left: .05em;
    border-right: 2px solid black;
    animation: blink 0.7s steps(1) infinite;
}

#typed-word.close {
    letter-spacing: -.067ch;
}

#typed-word.wide {
    letter-spacing: .025ch;
}

@keyframes blink {

    0%,
    100% {
        border-color: transparent;
    }

    50% {
        border-color: black;
    }
}

#extra-content {
    position: absolute;
    top: 12vw;
    right: 10vw;
    bottom: 12vw;
    left: 10vw;
}

/* Bubbles */

#extra-content>div {
    position: absolute;
    transform: translate(-50%, -50%);
}

#extra-content>div>* {
    color: var(--wp--preset--color--custom-background);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.75vw;
    font-family: var(--wp--preset--font-family--bricolage-grotesque);
    line-height: 1;
    text-align: center;
    mask-size: contain;
    mask-repeat: no-repeat;
    padding-left: 2%;
    padding-right: 2%;
}

.top-23>* {
    padding-bottom: 10%;
}

.bottom-23>* {
    padding-top: 10%;
}

.top-12>*,
.top-22>* {
    padding-bottom: 2%;
}

.top-13>*,
.top-33>* {
    padding-bottom: 2%;
}

.bottom-12>*,
.bottom-22>* {
    padding-bottom: .75%;
}

.bottom-13>*,
.bottom-33>* {
    padding-top: 2%;
}

.top-13>*,
.top-33>*,
.bottom-13>*,
.bottom-33>* {
    width: 15.5vw;
    aspect-ratio: 276 / 226;
}

.top-12>*,
.top-22>*,
.bottom-12>*,
.bottom-22>* {
    width: 15vw;
    aspect-ratio: 259 / 235;
}

.top-23>*,
.bottom-23>* {
    width: 17vw;
    aspect-ratio: 294 / 244;
}

.top-13,
.bottom-13 {
    left: 9vw;
}

.top-33,
.bottom-33 {
    right: 9vw;
}

.top-13,
.top-33 {
    top: 5vw;
}

.top-23 {
    top: 0;
    left: 50%;
}

.bottom-23 {
    top: 100%;
    left: 50%;
}

.bottom-13,
.bottom-33 {
    top: calc(100% - 5vw);
}

.top-13>* {
    mask-image: url(assets/bubble-top-13.svg);
}

.top-23>* {
    mask-image: url(assets/bubble-top-23.svg);
    transform-origin: bottom center;
}

.top-33>* {
    mask-image: url(assets/bubble-top-33.svg);
}

.bottom-13>* {
    mask-image: url(assets/bubble-bottom-13.svg);
}

.bottom-23>* {
    mask-image: url(assets/bubble-bottom-23.svg);
    transform-origin: top center;
}

.bottom-33>* {
    mask-image: url(assets/bubble-bottom-33.svg);
}

.top-12,
.bottom-12 {
    left: 30%;
}

.top-22,
.bottom-22 {
    left: 70%;
}

.top-12,
.top-22 {
    top: 0;
}

.bottom-12,
.bottom-22 {
    top: 100%;
}

.top-12>* {
    mask-image: url(assets/bubble-top-12.svg);
    transform-origin: bottom right;
}

.top-22>* {
    mask-image: url(assets/bubble-top-22.svg);
    transform-origin: bottom left;
}

.bottom-12>* {
    mask-image: url(assets/bubble-bottom-12.svg);
    transform-origin: top right;
}

.bottom-22>* {
    mask-image: url(assets/bubble-bottom-22.svg);
    transform-origin: top left;
}

/* Colors */

.bg-primary>* {
    background-color: var(--wp--preset--color--custom-primary);
}

.bg-secondary>* {
    background-color: var(--wp--preset--color--custom-secondary);
}

.bg-tertiary>* {
    background-color: var(--wp--preset--color--custom-tertiary);
}

.bg-quaternary>* {
    background-color: var(--wp--preset--color--custom-quaternary);
}

/* Bubbles animation */

#extra-content.show>div>* {
    animation-name: bubble-show;
    animation-duration: .75s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: backwards;
}

#extra-content.hide>div>* {
    animation-name: bubble-hide;
    animation-duration: .25s;
    animation-timing-function: ease-in-out;
    animation-fill-mode: forwards;
}

#extra-content>div:nth-child(1)>* {
    animation-delay: 200ms;
}

#extra-content>div:nth-child(2)>* {
    animation-delay: 400ms;
}

#extra-content>div:nth-child(3)>* {
    animation-delay: 600ms;
}

#extra-content>div:nth-child(4)>* {
    animation-delay: 800ms;
}

#extra-content>div:nth-child(5)>* {
    animation-delay: 1000ms;
}

#extra-content>div:nth-child(6)>* {
    animation-delay: 1200ms;
}

#extra-content>div:nth-child(7)>* {
    animation-delay: 1400ms;
}

#extra-content>div:nth-child(8)>* {
    animation-delay: 1600ms;
}

#extra-content>div:nth-child(9)>* {
    animation-delay: 1800ms;
}


@keyframes bubble-show {
    0% {
        transform: scale(0);
        opacity: 0;
    }

    40% {
        transform: scale(1.05);
        opacity: 1;
    }

    60% {
        transform: scale(.95);
        opacity: 1;
    }

    70% {
        transform: scale(1.0125);
        opacity: 1;
    }

    80% {
        transform: scale(.975);
        opacity: 1;
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes bubble-hide {
    0% {
        transform: scale(1);
        opacity: 1;
    }

    100% {
        transform: scale(0);
        opacity: 0;
    }
}