/* Your styles here */
@import url('https://use.typekit.net/jay0oru.css');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
:root {
    --purple: #4b0983;
    --light-purple: #700983;
}

body {
    font-family: 'canada-type-gibson', sans-serif;
    color: white;
    font-size: 1.25vw;
    font-weight: 100;
    line-height: 1.6;
    overflow-x: hidden;
    overflow-x: clip;
}

section.top-slanted-section {
    background: url(/img/bg/top-background-desktop-min.png) no-repeat bottom left;
    background-size: cover;
    height: 120vw;
    position: relative;
    z-index: 1;
    overflow: hidden;
}
section.top-slanted-section.too-late {
    height: 106vw;
}
section.win-up-to-10k {
    background: url(/img/bg/middle-background-desktop-min.png) no-repeat top center;
    background-size: cover;
    height: 87vw;
    margin-top: -23vw;
    padding-top: 23vw;
    overflow: hidden;
    position: relative;
    z-index: 2;
}
section.treat-your-inbox {
    background: url(/img/bg/middle-background-desktop-too-late.png) no-repeat top center;
    background-size: cover;
    height: 61vw;
    margin-top: -23vw;
    padding-top: 24vw;
    overflow: hidden;
    position: relative;
    z-index: 2;
}

.creme-egg-pack {
    position: absolute;
    top: 44vw;
    left: 5vw;
    width: 22vw;
    height: 19vw;
    background: url(/img/bars/creme-egg.png) no-repeat center;
    background-size: contain;
    pointer-events: none;
}
.twirl-pack {
    position: absolute;
    top: 55vw;
    left: 10vw;
    width: 21vw;
    height: 17vw;
    background: url(/img/bars/twirl.png) no-repeat center;
    background-size: contain;
    pointer-events: none;
}
.flake-pack {
    position: absolute;
    top: 28vw;
    right: 3vw;
    width: 25vw;
    height: 15vw;
    background: url(/img/bars/flake.png) no-repeat center;
    background-size: contain;
    pointer-events: none;
}
.crunchie-pack {
    position: absolute;
    top: 39vw;
    right: 2vw;
    width: 20vw;
    height: 16vw;
    background: url(/img/bars/cunchie.png) no-repeat center;
    background-size: contain;
    pointer-events: none;
}
section.treat-your-inbox .creme-egg-pack {
    top: 33vw;
}
section.treat-your-inbox .twirl-pack {
    top: 44vw;
}
section.treat-your-inbox .flake-pack {
    top: 28vw;
}
section.treat-your-inbox .crunchie-pack {
    top: 36vw;
}
section.cadbury-heroes-card-section {
    background: url(/img/bg/bottom-background-desktop-min.png) no-repeat top center;
    background-size: cover;
    overflow: hidden;
    margin-top: -23vw;
    padding-top: 19vw;
    overflow: hidden;
    position: relative;
    padding-bottom: 11vw;
}

section.how-to-enter {
    background: url(/img/bg/bottom-background-desktop-min.png) repeat-y top center;
    background-size: contain;
    margin-top: -23vw;
    padding-top: 23vw;
    padding-bottom: 6vw;
    position: relative;
}

.wispa-pack {
    position: absolute;
    top: 10vw;
    left: 3vw;
    width: 22vw;
    height: 19vw;
    background: url(/img/bars/wispa.png) no-repeat center;
    background-size: contain;
    pointer-events: none;
}
.fudge-pack {
    position: absolute;
    top: 20vw;
    left: 5vw;
    width: 22vw;
    height: 19vw;
    background: url(/img/bars/fudge.png) no-repeat center;
    background-size: contain;
    pointer-events: none;
}
.decker-pack {
    position: absolute;
    top: 42vw;
    right: 1vw;
    width: 21vw;
    height: 20vw;
    background: url(/img/bars/decker.png) no-repeat center;
    background-size: contain;
    pointer-events: none;
}
.caramel-pack {
    position: absolute;
    top: 50vw;
    right: 4vw;
    width: 20vw;
    height: 20vw;
    background: url(/img/bars/caramel.png) no-repeat center;
    background-size: contain;
    pointer-events: none;
}
section.cadbury-heroes-card-section .decker-pack {
    top: 48vw;
}
section.cadbury-heroes-card-section .caramel-pack {
    top: 56vw;
}

.heroes-pack {
    margin: 0 auto;
    position: relative;
    max-width: 69%;
    margin-bottom: -15vw;
    margin-top: -2vw;
}

.heroes-pack i {
    display: block;
    padding-bottom: 100%;
    background: url(/img/heroes-pack.png) no-repeat center;
    background-size: contain;
    animation: heroes-pack 0.3s ease-out 1s forwards;
    transform: scale(0.5);
}

@keyframes heroes-pack {
    0% {
        transform: scale(0.5);
    }
    100% {
        transform: scale(1);
    }
}

.new-paper-tub {
    position: absolute;
    top: 8%;
    left: 35.8%;
    width: 32%;
    height: 6%;
    background: url(/img/new-paper-tub.svg) no-repeat center;
    background-size: contain;
    filter: drop-shadow(0px 9px 0px rgba(0, 0, 0, 0.45));
    animation: fade-in 0.3s ease-out 1s forwards;
    opacity: 0;
}
.tesco {
    position: absolute;
    top: 20.5%;
    left: 0.5%;
    width: 21%;
    height: 14%;
    background: url(/img/tesco.png) no-repeat center;
    background-size: contain;
    animation: fade-in 0.3s ease-out 1s forwards;
    opacity: 0;
}
.new-arrow {
    position: absolute;
    top: 20.5%;
    right: 0%;
    width: 23%;
    height: 17%;
    animation: fade-in 0.3s ease-out 1s forwards;
    opacity: 0;
}
.new-arrow-mobile {
    display: none;
    animation: fade-in 0.3s ease-out 1s forwards;
    opacity: 0;
}
.new-arrow svg,
.new-arrow-mobile svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}
.flake-bar {
    position: absolute;
    top: 21%;
    right: 25%;
    width: 27%;
    height: 16.5%;
    background: url(/img/bars/flake.png) no-repeat center;
    background-size: contain;
    transform: rotate(32deg);
    animation: flake-shake 2s ease-in-out infinite;
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}
@keyframes flake-shake {
    0% {
        transform: rotate(32deg);
    }
    20% {
        transform: rotate(14deg);
    }

    40% {
        transform: rotate(50deg);
    }
    60% {
        transform: rotate(32deg);
    }
    80% {
        transform: rotate(32deg);
    }
    100% {
        transform: rotate(32deg);
    }
}
.coming-soon-heading {
    margin: 0 auto;
    position: relative;
    max-width: 62%;
}

.coming-soon-heading i {
    display: block;
    padding-bottom: 28%;
    background: url(/img/coming-soon-heading.svg) no-repeat center;
    background-size: contain;
    filter: drop-shadow(0px 9px 0px rgba(0, 0, 0, 0.45));
}
.competition-closed-heading {
    margin: 0 auto;
    position: relative;
    max-width: 62%;
}

.competition-closed-heading i {
    display: block;
    padding-bottom: 25%;
    background: url(/img/competition-closed-heading.svg) no-repeat center;
    background-size: contain;
}
.top-slanted-section .container p {
    margin: 2.5vw auto;
}
.index-heading-10k {
    margin: 0 auto;
    position: relative;
    max-width: 62%;
}

.index-heading-10k i {
    display: block;
    padding-bottom: 22%;
    background: url(/img/index-heading-up-to-10k.svg) no-repeat center;
    background-size: contain;
    filter: drop-shadow(0px 9px 0px rgba(0, 0, 0, 0.45));
    animation: fade-in-up 0.3s 1s ease-out forwards;
    opacity: 0;
}

@keyframes fade-in-up {
    0% {
        opacity: 0;
        transform: translateY(7vw);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.win-up-to-10k-heading {
    margin: 0 auto;
    position: relative;
    max-width: 26%;
    margin-top: 13vw;
}
.win-up-to-10k-heading i {
    display: block;
    padding-bottom: 52%;
    background: url(/img/win-up-to-10k-heading.svg) no-repeat center;
    background-size: contain;
    filter: drop-shadow(0px 9px 0px rgba(0, 0, 0, 0.45));
}

.how-to-enter-heading {
    margin: 0 auto;
    position: relative;
    max-width: 25%;
}
.how-to-enter-heading i {
    display: block;
    padding-bottom: 37%;
    background: url(/img/how-to-enter.svg) no-repeat center;
    background-size: contain;
    filter: drop-shadow(0px 9px 0px rgba(0, 0, 0, 0.45));
}
.treat-your-inbox-heading {
    margin: 0 auto;
    position: relative;
    max-width: 50%;
    margin-bottom: 4vw;
}
.treat-your-inbox-heading i {
    display: block;
    padding-bottom: 16%;
    background: url(/img/treat-your-inbox-heading.svg) no-repeat center;
    background-size: contain;
}

.inbox-icons {
    margin: 0 auto;
    position: relative;
    max-width: 86%;
    margin-bottom: 4vw;
}
.inbox-icons i {
    display: block;
    padding-bottom: 34%;
    background: url(/img/inbox-icons.svg) no-repeat center;
    background-size: contain;
}
.steps {
    max-width: 70%;
    margin: 0 auto;
}

.steps .step-1 .copy {
    margin-top: 10vw;
    position: relative;
    left: -10%;
    width: 33%;
}
.steps .step-2 .copy {
    margin-top: 4vw;
}
.steps .step-3 .copy {
    margin-top: 6vw;
    position: relative;
    left: -10%;
}
.steps > div {
    display: flex;
}
.steps .step-1 .img {
    width: 67%;
}

.steps .step-2 .img {
    width: 50%;
}
.steps .step-2 .copy {
    width: 50%;
}
.steps .step-3 .img {
    width: 67%;
}
.steps .step-3 .copy {
    width: 33%;
}

.steps .step-2 {
    margin-top: -9vw;
}
.steps .step-3 {
    margin-top: -4vw;
}

.steps .step-1 .img {
    background: url(/img/step-1-img.png) no-repeat top center;
    background-size: contain;
    height: 47vw;
    position: relative;
    left: -5%;
}
.steps .step-2 .img {
    background: url(/img/step-2-img.png) no-repeat top center;
    background-size: contain;
    height: 35vw;
    position: relative;
    right: -10%;
}
.steps .step-3 .img {
    background: url(/img/step-3-img.png) no-repeat top center;
    background-size: contain;
    height: 41vw;
    position: relative;
    left: -5%;
}

h4 {
    font-size: 1.7vw;
    font-weight: 600;
    margin: 1vw auto;
    line-height: 1;
    letter-spacing: 0.2vw;
}
h3 {
    font-size: 2.4vw;
    font-weight: 700;
    line-height: 1;
    margin: 1vw 0;
    letter-spacing: 0.2vw;
}
h2 {
    font-size: 3.8vw;
    font-weight: 700;
    line-height: 1;
    margin: 1vw 0;
    letter-spacing: 0.2vw;
}
.button-container {
    position: relative;
    margin: 5vw auto;
}
.button-container a,
.button-container button {
    background: linear-gradient(90deg, #f1cd76 2%, #ffecb2 21%, #d0a651 36%, #ffecb2 50%);
    background-size: 200%;
    border-radius: 8vw;
    border: none;
    padding: 0.7vw 8vw;
    color: #3c2c76;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.25s ease;
    background-position: 0%;
}
.buttonContainer button {
    background: linear-gradient(90deg, #f1cd76 2%, #ffecb2 21%, #d0a651 36%, #ffecb2 50%) !important;
    background-size: 200% !important;
    transition: all 0.25s ease !important;
    background-position: 0% !important;
}
.button-container a:hover,
.button-container button:hover,
.buttonContainer button:hover {
    background-position: 50% !important;
}

.countdown {
    margin: 2vw auto;
    position: relative;
    max-width: 32%;
    background: #ffdd00;
    border-radius: 0.4vw;
    color: #4b0983;
    font-family: Montserrat, sans-serif;
    padding: 1vw;
}

.countdown .heading {
    font-weight: 700;
    font-size: 1.2em;
    text-align: center;
    margin-bottom: 1vw;
}

.countdown .timer,
.countdown .timer > div {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    line-height: 0.7;
}

.countdown .timer > div:not(:last-child) {
    border-right: 1px solid #4b0983;
    padding-right: 0.5em;
    margin-right: 0.5em;
}

.countdown .timer .value {
    font-weight: 900;
    font-size: 2.05em;
}
.countdown .timer .time-unit {
    font-weight: 700;
    font-size: 0.6em;
    margin-left: 0.2vw;
}

.win-carousel {
    width: 100%;
    height: 34vw;
    background: url(/img/win-carousel.svg) no-repeat center;
    background-size: contain;
    top: 0;
    position: absolute;
}
.win-carousel-static {
    width: 100%;
    height: 34vw;
    background: url(/img/win-carousel-static.svg) no-repeat center;
    background-size: contain;
    top: 0;
    position: absolute;
}
.win-carousel .chance-to-win {
    width: 100%;
    height: 6%;
    transform: rotate(-12.4deg);
    position: absolute;
    top: 37%;
    white-space: nowrap;
}
.win-carousel .chance-to-win .inside {
    background: url(/img/chance-to-win-text.svg) no-repeat left;
    background-size: contain;
    width: 100%;
    height: 100%;
    animation: marquee 15s linear infinite;
    transform-origin: left;
    position: relative;
    display: inline-block;
    position: absolute;
}

.win-carousel .chance-to-win .inside.clone {
    margin-left: 100%;
}

.win-carousel .cash-values {
    width: 100%;
    height: 10%;
    transform: rotate(-12.4deg);
    position: absolute;
    top: 50.5%;
    white-space: nowrap;
    color: #4b0983;
}
.win-carousel .cash-values .inside {
    background: url(/img/win-carousel-cash-values.svg) no-repeat left;
    background-size: contain;
    width: 100%;
    height: 100%;
    animation: marquee 11s linear infinite;
    transform-origin: left;
    position: relative;
    display: inline-block;
    position: absolute;
}
.win-carousel .cash-values .inside.clone {
    margin-left: 100%;
}

@keyframes marquee {
    from {
        transform: translateX(0%);
    }
    to {
        transform: translateX(-100%);
    }
}
.win-carousel-two {
    width: 100%;
    height: 34vw;
    background: url(/img/win-carousel-two.svg) no-repeat center;
    background-size: contain;
    bottom: 0;
    position: absolute;
}
.win-carousel-two-static {
    width: 100%;
    height: 34vw;
    background: url(/img/win-carousel-two-static.svg) no-repeat center;
    background-size: contain;
    bottom: 0;
    position: absolute;
}
.win-carousel-two .chance-to-win {
    width: 100%;
    height: 6%;
    transform: rotate(12.4deg);
    position: absolute;
    top: 57%;
    white-space: nowrap;
}
.win-carousel-two .chance-to-win .inside {
    background: url(/img/chance-to-win-text.svg) no-repeat left;
    background-size: contain;
    width: 100%;
    height: 100%;
    animation: marquee 15s linear infinite reverse;
    transform-origin: left;
    position: relative;
    display: inline-block;
    position: absolute;
}
.win-carousel-two .chance-to-win .inside.clone {
    margin-left: 100%;
}

.win-carousel-two .cash-values {
    width: 100%;
    height: 10%;
    transform: rotate(12.4deg);
    position: absolute;
    top: 40.5%;
    white-space: nowrap;
    color: #4b0983;
}
.win-carousel-two .cash-values .inside {
    background: url(/img/win-carousel-cash-values.svg) no-repeat left;
    background-size: contain;
    width: 100%;
    height: 100%;
    animation: marquee 11s linear infinite reverse;
    transform-origin: left;
    position: relative;
    display: inline-block;
    position: absolute;
}
.win-carousel-two .cash-values .inside.clone {
    margin-left: 100%;
}
.divider-top {
    width: 100%;
    height: 23vw;
    background: url(/img/too-late-divider-top.svg) no-repeat top;
    background-size: contain;
    top: 0;
    position: absolute;
}
.divider-bottom {
    width: 100%;
    height: 23vw;
    background: url(/img/too-late-divider-bottom.svg) no-repeat bottom;
    background-size: contain;
    bottom: 0;
    position: absolute;
}

/* Footer Mobile */

footer {
    background-color: white;
    color: var(--purple);
    padding-inline: 6vw;
    padding-block: 10vw;
}

.footer-mondelez-logo {
    width: 100%;
    max-width: 72vw;
    margin-inline: auto;
}

.footer-mondelez-logo span {
    padding-bottom: 25%;
    display: block;
    background: url('../img/mondelez-footer-logo.svg') no-repeat center;
    background-size: contain;
}

.facebook-logo {
    width: 100%;
    max-width: 10vw;
}

.facebook-logo span {
    padding-bottom: 100%;
    display: block;
    background: url('../img/facebook-footer-icon.svg') no-repeat center;
    background-size: contain;
}

.instagram-logo {
    width: 100%;
    max-width: 10vw;
}

.instagram-logo span {
    padding-bottom: 100%;
    display: block;
    background: url('../img/instagram-footer-logo.svg') no-repeat center;
    background-size: contain;
}

.tiktok-logo {
    width: 100%;
    max-width: 10vw;
}

.tiktok-logo span {
    padding-bottom: 100%;
    display: block;
    background: url('../img/tiktok-footer-logo.svg') no-repeat center;
    background-size: contain;
}

.footer-socials {
    display: flex;
    justify-content: space-between;
    padding-inline: 3vw;
    margin-top: 16vw;
    margin-bottom: 6vw;
}

footer hr {
    border-top: 1vw;
    border-color: var(--light-purple);
}

.footer-links {
    display: flex;
    justify-content: space-between;
}

.footer-links div {
    display: flex;
    flex-direction: column;
}

.footer-links a {
    font-weight: 500;
    text-decoration-line: none;
    padding-block: 6vw;
    font-size: 4vw;
}

.footer-copyright {
    font-size: 3vw;
    font-weight: 500;
    padding-top: 1vw;
    padding-bottom: 4vw;
}

.short-terms h1 {
    font-size: 5vw;
    font-weight: 600;
}

.short-terms p {
    line-height: 1.5;
    font-size: 3.5vw;
    font-weight: 400;
    color: var(--light-purple);
}

/* Footer Desktop */

@keyframes rotate {
    0% {
        transform: rotate(15deg);
    }
    100% {
        transform: rotate(-15deg);
    }
}

@media only screen and (min-width: 800px) {
    footer {
        padding-block: 4vw;
    }

    .footer-desktop-top {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .footer-desktop-bottom {
        display: flex;
        justify-content: space-between;
    }

    .footer-desktop-bottom .footer-links {
        order: 5;
        gap: 2vw;
    }

    .footer-desktop-bottom .footer-copyright {
        order: 1;
    }

    footer hr {
        margin-block: 2.5vw;
    }

    .footer-mondelez-logo {
        max-width: 24vw;
        margin-inline: unset;
    }

    .footer-socials {
        margin-top: unset;
        margin-bottom: unset;
        padding-inline: unset;
        gap: 3vw;
    }

    .facebook-logo {
        width: 2.5vw;
        max-width: unset;
    }

    .instagram-logo {
        width: 2.5vw;
        max-width: unset;
    }

    .tiktok-logo {
        width: 2.5vw;
        max-width: unset;
    }

    .footer-links a {
        text-decoration-line: none;
        padding-block: unset;
        font-size: 1vw;
    }

    .footer-links div {
        flex-direction: unset;
        gap: 1.5vw;
    }

    .footer-copyright {
        padding-top: unset;
        padding-bottom: unset;
        font-size: 1vw;
    }

    .short-terms h1 {
        font-size: 1.5vw;
    }

    .short-terms p {
        font-size: 1vw;
    }

    .short-terms {
        margin-top: 3vw;
    }
    .mobile-br {
        display: none;
    }
}

@media only screen and (max-width: 800px) {
    body {
        font-size: 5.3vw;
    }
    h4 {
        line-height: 1;
        font-size: 6.5vw;
        letter-spacing: 0.7vw;
    }
    h3 {
        font-size: 7.6vw;
        letter-spacing: 0.7vw;
        margin: 6vw 0;
    }
    h2 {
        font-size: 11vw;
        letter-spacing: 0.7vw;
    }
    .top-slanted-section .container p {
        margin: 6vw auto;
    }
    .container {
        max-width: 94%;
    }
    section.top-slanted-section {
        background: url(/img/bg/top-background-mobile.jpg) no-repeat top center;
        background-size: cover;
        height: 379vw;
    }
    section.top-slanted-section.too-late {
        background: url(/img/bg/top-background-mobile.jpg) no-repeat top center;
        background-size: cover;
        height: 269vw;
    }
    section.treat-your-inbox {
        background: url(/img/bg/middle-background-mobile-too-late.png) no-repeat top center;
        background-size: cover;
        height: 235vw;
    }
    .competition-closed-heading i {
        padding-bottom: 52%;
        background: url(/img/competition-closed-heading-mobile.svg) no-repeat center;
        background-size: contain;
    }

    .heroes-pack {
        margin-bottom: -27vw;
        max-width: unset;
        width: 160%;
        left: -30%;
        margin-top: 19vw;
    }
    .new-paper-tub {
        top: -7.5%;
        left: 0;
        width: 100%;
        height: 8%;
    }

    .tesco {
        top: 4.5%;
        left: 15%;
        width: 23%;
        height: 15%;
    }
    .new-arrow {
        display: none;
    }
    .new-arrow-mobile {
        display: initial;
        position: absolute;
        top: 10.5%;
        right: 20%;
        width: 17%;
        height: 17%;
    }

    .index-heading-10k {
        max-width: 90%;
    }
    .index-heading-10k i {
        background: url(/img/index-heading-up-to-10k-mob.svg) no-repeat center;
        background-size: contain;
        padding-bottom: 44%;
    }

    .button-container a,
    .button-container button {
        padding: 2vw 21vw;
        font-weight: 500;
    }

    section.win-up-to-10k {
        background: url(/img/bg/middle-background-mobile.png) no-repeat bottom left;
        background-size: cover;
        height: 396vw;
    }
    section.how-to-enter {
        background: url(/img/bg/bottom-background-mobile.png) no-repeat bottom left;
        background-size: cover;
        overflow: hidden;
        overflow: clip;
        padding-bottom: 50vw;
    }

    .twirl-pack {
        display: none;
    }
    .win-up-to-10k-heading {
        max-width: 100%;
        margin-top: 93vw;
    }
    .win-up-to-10k-heading i {
        padding-bottom: 43%;
        background: url(/img/win-up-to-10k-heading-mobile.svg) no-repeat center;
        background-size: contain;
    }
    .win-carousel {
        height: 57vw;
        background: url(/img/win-carousel-mobile.svg) no-repeat center;
        background-size: contain;
    }
    .win-carousel-two {
        height: 60vw;
        background: url(/img/win-carousel-two-mobile.svg) no-repeat center;
        background-size: contain;
    }
    .win-carousel-two .chance-to-win .inside,
    .win-carousel .chance-to-win .inside {
        animation-duration: 22s;
    }
    .win-carousel .chance-to-win {
        top: -48%;
        height: 15%;
        width: 500%;
    }

    .win-carousel .cash-values {
        top: 15%;
        width: 300%;
        height: 26%;
    }
    .win-carousel-two .cash-values {
        top: 57%;
        width: 300%;
        height: 26%;
    }
    .win-carousel-two .chance-to-win {
        height: 15%;
        width: 500%;
        top: 129%;
    }

    .flake-pack {
        top: 62vw;
        transform: rotate(35deg);
        right: -21vw;
        width: 81vw;
        height: 49vw;
    }
    .creme-egg-pack {
        top: unset;
        bottom: 77vw;
        left: -17vw;
        width: 66vw;
        height: 56vw;
    }
    .crunchie-pack {
        top: unset;
        bottom: 63vw;
        right: -11vw;
        width: 66vw;
        height: 56vw;
        transform: rotate(340deg);
    }
    .how-to-enter-heading {
        max-width: 45%;
    }

    .steps {
        max-width: 100%;
        margin-top: 10vw;
    }
    .steps > div {
        flex-direction: column;
    }
    .steps .step-1 .img {
        width: 110%;
        right: -31vw;
        left: unset;
        height: 110vw;
        margin-bottom: -48vw;
    }
    .steps .step-1 .copy {
        width: 90%;
        left: 5%;
    }
    .steps .step-2 {
        flex-direction: column-reverse;
        margin-top: 0;
    }
    .steps .step-2 .img {
        width: 100%;
        background-size: contain;
        height: 88vw;
        position: relative;
        right: -22%;
        margin-bottom: -26vw;
    }
    .steps .step-2 .copy {
        width: 90%;
        left: 5%;
        position: relative;
    }
    .steps .step-3 .img {
        width: 100%;
        height: 97vw;
        left: unset;
        right: -20%;
        margin-bottom: -26vw;
    }
    .steps .step-3 .copy {
        width: 90%;
        left: 5%;
    }
    .decker-pack {
        display: none;
    }
    .caramel-pack {
        top: 30vw;
        left: -38vw;
        width: 76vw;
        height: 61vw;
        transform: rotate(-25deg);
    }
    section.cadbury-heroes-card-section .caramel-pack {
        display: none;
    }
    .fudge-pack {
        bottom: 4vw;
        top: unset;
        left: -21vw;
        width: 68vw;
        height: 61vw;
        transform: rotate(35deg);
    }
    .wispa-pack {
        transform: rotate(-30deg);
        bottom: 2vw;
        top: unset;
        right: -27vw;
        left: unset;
        width: 68vw;
        height: 59vw;
    }

    .coming-soon-heading {
        max-width: 90%;
    }
    .coming-soon-heading i {
        padding-bottom: 56%;
        background: url(/img/coming-soon-heading-mobile.svg) no-repeat center;
        background-size: contain;
    }
    .countdown {
        max-width: 80%;
        border-radius: 1.5vw;
        padding: 3vw 4vw 4vw 3vw;
    }
    .countdown .heading {
        font-size: 0.85em;
        margin-bottom: 3vw;
    }
    .countdown .timer .value {
        font-size: 1.55em;
    }
    .countdown .timer .time-unit {
        font-size: 0.5em;
    }
    .countdown .timer > div:not(:last-child) {
        padding-right: 0.2em;
        margin-right: 0.2em;
    }

    section.cadbury-heroes-card-section {
        padding-bottom: 70vw;
    }
    section.cadbury-heroes-card-section .wispa-pack {
        transform: rotate(-36deg);
        bottom: 0vw;
        top: unset;
        right: -23vw;
        left: unset;
        width: 74vw;
        height: 67vw;
    }
    section.cadbury-heroes-card-section .fudge-pack {
        bottom: 18vw;
        top: unset;
        left: -27vw;
        width: 82vw;
        height: 74vw;
        transform: rotate(35deg);
    }
    .treat-your-inbox-heading {
        margin-top: 25vw;
        max-width: 75%;
    }
    .treat-your-inbox-heading i {
        padding-bottom: 46%;
        background: url(/img/treat-your-inbox-heading-mobile.svg) no-repeat center;
        background-size: contain;
    }
    .inbox-icons {
        margin: 10vw auto;
    }
    section.treat-your-inbox .crunchie-pack {
        display: none;
    }
    section.treat-your-inbox .flake-pack {
        top: unset;
        right: -23vw;
        bottom: 10vw;
    }
    section.treat-your-inbox .creme-egg-pack {
        top: unset;
        bottom: 18vw;
    }
    section.cadbury-heroes-card-section.too-late {
        padding-top: 50vw;
    }
    section.cadbury-heroes-card-section.too-late .caramel-pack {
        display: initial;
        top: 0;
        left: -20vw;
    }
    @keyframes rotate {
        0% {
            transform: rotate(5deg);
        }
        100% {
            transform: rotate(-5deg);
        }
    }
}

#arrow {
    animation: rotate 1s ease-in-out infinite alternate;
    transform-origin: center;
}

.tableContainer {
    overflow-x: auto !important;
}
