.root {
    display: flex;
    background: url('./assets/bg.jpg') center/cover no-repeat;
    justify-content: center;
    overflow: hidden;
}

.container {
    align-items: center;
    height: 100%;
    position: relative;
    max-width: var(--content-max-width);
    display: flex;
    width: 100%;
}

.headlineContainer {
    height: 100%;
    position: relative;
    margin: 244px 0 212px 120px;
    width: 420px;
    display: flex;
    flex-direction: column;
}

.title {
    width: 430px;
}

.description {
    margin-top: 16px;
    color: var(--color-white);
}

.buttonWrap {
    margin-top: 32px;
    width: fit-content;
}

.mobile {
    display: none;
}

.desktop {
    display: block;
}

.animationContainer {
    position: relative;
    width: 100%;
    height: 840px;
}

@keyframes fadeCycle {
    0% {
        opacity: 0;
    }
    5% {
        opacity: 1;
    }
    33.33% {
        opacity: 1;
    }
    38.33% {
        opacity: 0;
    }
    100% {
        opacity: 0;
    }
}

.set1Image,
.set1Svg,
.set1Icon,
.set2Image,
.set2Svg,
.set2Icon,
.set3Image,
.set3Svg,
.set3Icon {
    position: absolute;
    opacity: 0;
    animation: fadeCycle 6s infinite;
    animation-timing-function: ease-in-out;
}

.set1Image {
    top: 132px;
    right: 107px;
    bottom: 393px;
    width: 251px;
    height: 315px;
    z-index: 1;
    animation-delay: 0s;
}
.set1Svg {
    top: 220px;
    right: 320px;
    bottom: 174px;
    width: 360px;
    height: 448px;
    z-index: 2;
    animation-delay: 0.1s;
}
.set1Icon {
    top: 620px;
    bottom: 80px;
    right: 288px;
    width: 140px;
    height: 140px;
    z-index: 3;
    animation-delay: 0.2s;
}

.set2Image {
    top: 303px;
    right: 498px;
    bottom: 285px;
    width: 222px;
    height: 252px;
    z-index: 1;
    animation-delay: 2s;
}
.set2Svg {
    top: 220px;
    right: 175px;
    bottom: 177px;
    width: 360px;
    height: 443px;
    z-index: 2;
    animation-delay: 2.1s;
}
.set2Icon {
    top: 451px;
    right: 49px;
    bottom: 249px;
    width: 140px;
    height: 140px;
    z-index: 3;
    animation-delay: 2.2s;
}

.set3Image {
    top: 141px;
    right: 404px;
    bottom: 472px;
    width: 308px;
    height: 227px;
    z-index: 1;
    animation-delay: 4s;
}
.set3Svg {
    top: 225px;
    right: 119px;
    bottom: 184px;
    width: 360px;
    height: 431px;
    z-index: 2;
    animation-delay: 4.1s;
}
.set3Icon {
    top: 594px;
    right: 439px;
    bottom: 106px;
    width: 140px;
    height: 140px;
    z-index: 3;
    animation-delay: 4.2s;
}

@media screen and (width <= 1250px) {
    .container {
        flex-direction: column;
    }

    .headlineContainer {
        height: 100%;
        position: relative;
        margin: 0;
        margin-top: 60px;
        padding: 0 200px;
        width: 100%;
        min-width: 366px;
    }

    .animationContainer{
        height: 459px;
        align-items: center;
        justify-content: center;
    }

    .title {
        width: 100%;
    }

    .description {
        margin-top: 16px;
        margin-bottom: 24px;
        width: 100%;
        text-align: left;
    }

    .buttonWrap {
        margin: 0;
        align-self: flex-start;
    }

    .mobile {
        display: block;
    }
    .desktop {
        display: none;
    }

    .set1Image {
        top: 40px;
        right: calc(50% - 190px);
        width: 126px;
        height: auto;
    }

    .set1Svg,
    .set2Svg,
    .set3Svg {
        justify-self: center;
        inset: 0;
        position: absolute;
        top: 64px;
        width: 243px;
        height: auto;
    }

    .set1Icon {
        top: 331px;
        left: calc(50% + 73.5px);
        width: 70px;
        height: 70px;
    }

    .set2Image {
        top: 253px;
        left: calc(50% - 201px);
        width: 125px;
        height: auto;
    }

    .set2Icon {
        top: 96px;
        left: calc(50% + 109px);
        width: 70px;
        height: 70px;
    }

    .set3Image {
        top: 40px;
        left: calc(50% + 79.5px);
        width: 154px;
        height: auto;
    }

    .set3Icon {
        top: 341px;
        left: calc(50% - 167px);
        width: 70px;
        height: 70px;
    }
}

@media screen and (width <= 768px) {
    .container {
        padding: 0 20px;
        max-height: 890px;
    }

    .headlineContainer {
        padding: 0;
        width: 100%;
        min-width: 308px;
        margin: 0;
        margin-top: 104px;
    }
}
