.home .banner {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.home .banner .container {
    padding-top: 2rem;
}

.row.banner-row {
    -ms-flex-pack: distribute;
    justify-content: space-around;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.banner__newyear {
    background: #A8D8DD;
    aspect-ratio: 3/1;
}

.banner-bg {
    position: absolute;
    width: 100%;
    height: 100%;
}

.banner-bg .top-left {
    position: absolute;
    top: 0;
    left: 0;
    width: 40%;
    height: auto;
}

.banner-bg .top-right {
    position: absolute;
    top: 0;
    right: 0;
    width: 40%;
    height: auto;
}

.banner-bg .ground {
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: auto;
}

.link-tree {
    width: 40%;
    height: auto;
    position: relative;
}

.banner-tree {
    -webkit-transform-origin: bottom center;
    -ms-transform-origin: bottom center;
    transform-origin: bottom center;
    -webkit-transform: skewX(-2deg);
    -ms-transform: skewX(-2deg);
    transform: skewX(-2deg);
    -webkit-animation: tree 3s ease-in-out infinite;
    animation: tree 3s ease-in-out infinite;
    width: 100%;
    height: auto;
}

@-webkit-keyframes tree {
    50% {
        -webkit-transform: skewX(1.5deg);
        transform: skewX(1.5deg);
    }
}

@keyframes tree {
    50% {
        -webkit-transform: skewX(1.5deg);
        transform: skewX(1.5deg);
    }
}

.home .banner .desc {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

.home .banner .title-big {
    font-size: 4rem;
    display: block;
    font-weight: bold;
    line-height: 1.25;
    text-align: right;
    color: #e2211c;
    text-shadow: 0 0.3rem 0 rgb(255, 255, 255), 2px 0.5rem 0 rgb(255, 255, 255);
}

.home .banner .desc .btn-block {
    text-align: right;
    margin-top: 1rem;
}

.home .banner .btn a {
    display: inline-block;
    text-shadow: none;
    padding: 1rem 2.5rem;
    position: relative;
}

.home .banner .btn a:hover {
    text-decoration: none;
    color: #007c3b;
    -webkit-filter: none;
    filter: none;
    background: #fff;
}

.home .banner .btn a:before {
    -webkit-transition: all .25s;
    -o-transition: all .25s;
    transition: all .25s;
}

.home .banner .btn a:hover:before {
    -webkit-filter: grayscale(1) brightness(3);
    filter: grayscale(1) brightness(3);
}

@media all and (max-width: 1080px) {
    .home .banner .title-big {
        font-size: 3.5rem;
    }
}

@media all and (max-width: 941px) {
    .home .banner .title-big {
        font-size: 3.5rem;
        text-align: center;
    }

    .home .banner .desc .btn-block {
        text-align: center;
    }

    .home .banner .row .desc {
        text-align: center;
        padding: 6rem 0 2rem;
    }

    .banner-tree {
        width: 20rem;
        margin: 0 auto;
    }
}

@media all and (max-width: 640px) {
    .banner-bg .top-left,
    .banner-bg .top-right {
        width: 45%;
    }

    .banner-bg .ground {
        width: 100%;
        height: 9rem;
        object-fit: cover;
        object-position: center bottom;
    }

    .home .banner .title-big {
        font-size: 3rem;
    }
}

@media all and (max-width: 480px) {
    .banner-bg .top-left,
    .banner-bg .top-right {
        width: 49%;
    }

    .home .banner .title-big {
        font-size: 2.7rem;
    }

    .home .banner .row .desc {
        padding: 5rem 0 2rem;
    }
}

@media all and (max-width: 380px) {
    .banner-tree {
        width: 15rem;
        margin: 0 auto;
    }
}


.snowflake {
    --size: 1rem;
    width: var(--size);
    height: var(--size);
    background: white;
    border-radius: 50%;
    position: absolute;
    top: -5vh;
}
@-webkit-keyframes snowfall {
    0% {
        -webkit-transform: translate3d(var(--left-ini), 0, 0);
        transform: translate3d(var(--left-ini), 0, 0);
    }
    100% {
        -webkit-transform: translate3d(var(--left-end), 110vh, 0);
        transform: translate3d(var(--left-end), 110vh, 0);
    }
}
@keyframes snowfall {
    0% {
        -webkit-transform: translate3d(var(--left-ini), 0, 0);
        transform: translate3d(var(--left-ini), 0, 0);
    }
    100% {
        -webkit-transform: translate3d(var(--left-end), 110vh, 0);
        transform: translate3d(var(--left-end), 110vh, 0);
    }
}
.snowflake:nth-child(1) {
    --size: 0.8rem;
    --left-ini: -2vw;
    --left-end: 4vw;
    left: 90vw;
    -webkit-animation: snowfall 8s linear infinite;
    animation: snowfall 8s linear infinite;
    -webkit-animation-delay: -9s;
    animation-delay: -9s;
}
.snowflake:nth-child(2) {
    --size: 0.2rem;
    --left-ini: 2vw;
    --left-end: 8vw;
    left: 41vw;
    -webkit-animation: snowfall 14s linear infinite;
    animation: snowfall 14s linear infinite;
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
}
.snowflake:nth-child(3) {
    --size: 0.6rem;
    --left-ini: 3vw;
    --left-end: 1vw;
    left: 76vw;
    -webkit-animation: snowfall 11s linear infinite;
    animation: snowfall 11s linear infinite;
    -webkit-animation-delay: -6s;
    animation-delay: -6s;
}
.snowflake:nth-child(4) {
    --size: 1rem;
    --left-ini: -8vw;
    --left-end: -9vw;
    left: 47vw;
    -webkit-animation: snowfall 11s linear infinite;
    animation: snowfall 11s linear infinite;
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
}
.snowflake:nth-child(5) {
    --size: 0.4rem;
    --left-ini: 4vw;
    --left-end: -8vw;
    left: 19vw;
    -webkit-animation: snowfall 15s linear infinite;
    animation: snowfall 15s linear infinite;
    -webkit-animation-delay: -2s;
    animation-delay: -2s;
}
.snowflake:nth-child(6) {
    --size: 0.6rem;
    --left-ini: 4vw;
    --left-end: 10vw;
    left: 9vw;
    -webkit-animation: snowfall 11s linear infinite;
    animation: snowfall 11s linear infinite;
    -webkit-animation-delay: -3s;
    animation-delay: -3s;
}
.snowflake:nth-child(7) {
    --size: 0.2rem;
    --left-ini: -1vw;
    --left-end: -6vw;
    left: 8vw;
    -webkit-animation: snowfall 11s linear infinite;
    animation: snowfall 11s linear infinite;
    -webkit-animation-delay: -7s;
    animation-delay: -7s;
}
.snowflake:nth-child(8) {
    --size: 0.4rem;
    --left-ini: 1vw;
    --left-end: -1vw;
    left: 93vw;
    -webkit-animation: snowfall 11s linear infinite;
    animation: snowfall 11s linear infinite;
    -webkit-animation-delay: -9s;
    animation-delay: -9s;
}
.snowflake:nth-child(9) {
    --size: 0.2rem;
    --left-ini: 7vw;
    --left-end: -1vw;
    left: 17vw;
    -webkit-animation: snowfall 11s linear infinite;
    animation: snowfall 11s linear infinite;
    -webkit-animation-delay: -4s;
    animation-delay: -4s;
}
.snowflake:nth-child(10) {
    --size: 0.2rem;
    --left-ini: -3vw;
    --left-end: -7vw;
    left: 48vw;
    -webkit-animation: snowfall 13s linear infinite;
    animation: snowfall 13s linear infinite;
    -webkit-animation-delay: -6s;
    animation-delay: -6s;
}
.snowflake:nth-child(11) {
    --size: 0.8rem;
    --left-ini: -9vw;
    --left-end: -4vw;
    left: 41vw;
    -webkit-animation: snowfall 10s linear infinite;
    animation: snowfall 10s linear infinite;
    -webkit-animation-delay: -4s;
    animation-delay: -4s;
}
.snowflake:nth-child(12) {
    --size: 0.2rem;
    --left-ini: -4vw;
    --left-end: -5vw;
    left: 31vw;
    -webkit-animation: snowfall 6s linear infinite;
    animation: snowfall 6s linear infinite;
    -webkit-animation-delay: -2s;
    animation-delay: -2s;
}
.snowflake:nth-child(13) {
    --size: 0.2rem;
    --left-ini: 1vw;
    --left-end: 4vw;
    left: 24vw;
    -webkit-animation: snowfall 11s linear infinite;
    animation: snowfall 11s linear infinite;
    -webkit-animation-delay: -10s;
    animation-delay: -10s;
}
.snowflake:nth-child(14) {
    --size: 0.2rem;
    --left-ini: 7vw;
    --left-end: 6vw;
    left: 17vw;
    -webkit-animation: snowfall 6s linear infinite;
    animation: snowfall 6s linear infinite;
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
}
.snowflake:nth-child(15) {
    --size: 0.4rem;
    --left-ini: 8vw;
    --left-end: -1vw;
    left: 53vw;
    -webkit-animation: snowfall 8s linear infinite;
    animation: snowfall 8s linear infinite;
    -webkit-animation-delay: -9s;
    animation-delay: -9s;
}
.snowflake:nth-child(16) {
    --size: 0.6rem;
    --left-ini: 6vw;
    --left-end: -7vw;
    left: 46vw;
    -webkit-animation: snowfall 6s linear infinite;
    animation: snowfall 6s linear infinite;
    -webkit-animation-delay: -3s;
    animation-delay: -3s;
}
.snowflake:nth-child(17) {
    --size: 0.4rem;
    --left-ini: 3vw;
    --left-end: 10vw;
    left: 13vw;
    -webkit-animation: snowfall 13s linear infinite;
    animation: snowfall 13s linear infinite;
    -webkit-animation-delay: -10s;
    animation-delay: -10s;
}
.snowflake:nth-child(18) {
    --size: 0.4rem;
    --left-ini: -1vw;
    --left-end: -9vw;
    left: 81vw;
    -webkit-animation: snowfall 9s linear infinite;
    animation: snowfall 9s linear infinite;
    -webkit-animation-delay: -3s;
    animation-delay: -3s;
}
.snowflake:nth-child(19) {
    --size: 0.2rem;
    --left-ini: 7vw;
    --left-end: 8vw;
    left: 57vw;
    -webkit-animation: snowfall 8s linear infinite;
    animation: snowfall 8s linear infinite;
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
}
.snowflake:nth-child(20) {
    --size: 0.4rem;
    --left-ini: 0vw;
    --left-end: 9vw;
    left: 64vw;
    -webkit-animation: snowfall 13s linear infinite;
    animation: snowfall 13s linear infinite;
    -webkit-animation-delay: -8s;
    animation-delay: -8s;
}
.snowflake:nth-child(21) {
    --size: 0.8rem;
    --left-ini: -8vw;
    --left-end: -2vw;
    left: 56vw;
    -webkit-animation: snowfall 9s linear infinite;
    animation: snowfall 9s linear infinite;
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
}
.snowflake:nth-child(22) {
    --size: 0.8rem;
    --left-ini: 9vw;
    --left-end: 5vw;
    left: 16vw;
    -webkit-animation: snowfall 6s linear infinite;
    animation: snowfall 6s linear infinite;
    -webkit-animation-delay: -8s;
    animation-delay: -8s;
}
.snowflake:nth-child(23) {
    --size: 0.6rem;
    --left-ini: 4vw;
    --left-end: 5vw;
    left: 64vw;
    -webkit-animation: snowfall 9s linear infinite;
    animation: snowfall 9s linear infinite;
    -webkit-animation-delay: -7s;
    animation-delay: -7s;
}
.snowflake:nth-child(24) {
    --size: 0.6rem;
    --left-ini: -4vw;
    --left-end: -7vw;
    left: 15vw;
    -webkit-animation: snowfall 12s linear infinite;
    animation: snowfall 12s linear infinite;
    -webkit-animation-delay: -9s;
    animation-delay: -9s;
}
.snowflake:nth-child(25) {
    --size: 0.4rem;
    --left-ini: -6vw;
    --left-end: -6vw;
    left: 85vw;
    -webkit-animation: snowfall 8s linear infinite;
    animation: snowfall 8s linear infinite;
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
}
.snowflake:nth-child(26) {
    --size: 0.4rem;
    --left-ini: 5vw;
    --left-end: 7vw;
    left: 60vw;
    -webkit-animation: snowfall 12s linear infinite;
    animation: snowfall 12s linear infinite;
    -webkit-animation-delay: -8s;
    animation-delay: -8s;
}
.snowflake:nth-child(27) {
    --size: 0.8rem;
    --left-ini: 10vw;
    --left-end: 4vw;
    left: 85vw;
    -webkit-animation: snowfall 6s linear infinite;
    animation: snowfall 6s linear infinite;
    -webkit-animation-delay: -7s;
    animation-delay: -7s;
}
.snowflake:nth-child(28) {
    --size: 0.6rem;
    --left-ini: 7vw;
    --left-end: 3vw;
    left: 77vw;
    -webkit-animation: snowfall 9s linear infinite;
    animation: snowfall 9s linear infinite;
    -webkit-animation-delay: -7s;
    animation-delay: -7s;
}
.snowflake:nth-child(29) {
    --size: 1rem;
    --left-ini: 5vw;
    --left-end: -9vw;
    left: 99vw;
    -webkit-animation: snowfall 7s linear infinite;
    animation: snowfall 7s linear infinite;
    -webkit-animation-delay: -7s;
    animation-delay: -7s;
}
.snowflake:nth-child(30) {
    --size: 0.6rem;
    --left-ini: 0vw;
    --left-end: 3vw;
    left: 41vw;
    -webkit-animation: snowfall 12s linear infinite;
    animation: snowfall 12s linear infinite;
    -webkit-animation-delay: -7s;
    animation-delay: -7s;
}
.snowflake:nth-child(31) {
    --size: 1rem;
    --left-ini: -5vw;
    --left-end: 2vw;
    left: 15vw;
    -webkit-animation: snowfall 9s linear infinite;
    animation: snowfall 9s linear infinite;
    -webkit-animation-delay: -7s;
    animation-delay: -7s;
}
.snowflake:nth-child(32) {
    --size: 0.8rem;
    --left-ini: -8vw;
    --left-end: -3vw;
    left: 91vw;
    -webkit-animation: snowfall 7s linear infinite;
    animation: snowfall 7s linear infinite;
    -webkit-animation-delay: -5s;
    animation-delay: -5s;
}
.snowflake:nth-child(33) {
    --size: 0.6rem;
    --left-ini: -3vw;
    --left-end: 9vw;
    left: 21vw;
    -webkit-animation: snowfall 15s linear infinite;
    animation: snowfall 15s linear infinite;
    -webkit-animation-delay: -9s;
    animation-delay: -9s;
}
.snowflake:nth-child(34) {
    --size: 0.2rem;
    --left-ini: -4vw;
    --left-end: -1vw;
    left: 16vw;
    -webkit-animation: snowfall 11s linear infinite;
    animation: snowfall 11s linear infinite;
    -webkit-animation-delay: -2s;
    animation-delay: -2s;
}
.snowflake:nth-child(35) {
    --size: 0.4rem;
    --left-ini: -6vw;
    --left-end: -8vw;
    left: 39vw;
    -webkit-animation: snowfall 13s linear infinite;
    animation: snowfall 13s linear infinite;
    -webkit-animation-delay: -2s;
    animation-delay: -2s;
}
.snowflake:nth-child(36) {
    --size: 0.6rem;
    --left-ini: 3vw;
    --left-end: 1vw;
    left: 59vw;
    -webkit-animation: snowfall 6s linear infinite;
    animation: snowfall 6s linear infinite;
    -webkit-animation-delay: -10s;
    animation-delay: -10s;
}
.snowflake:nth-child(37) {
    --size: 1rem;
    --left-ini: 1vw;
    --left-end: -1vw;
    left: 71vw;
    -webkit-animation: snowfall 9s linear infinite;
    animation: snowfall 9s linear infinite;
    -webkit-animation-delay: -10s;
    animation-delay: -10s;
}
.snowflake:nth-child(38) {
    --size: 0.8rem;
    --left-ini: 4vw;
    --left-end: -5vw;
    left: 68vw;
    -webkit-animation: snowfall 7s linear infinite;
    animation: snowfall 7s linear infinite;
    -webkit-animation-delay: -5s;
    animation-delay: -5s;
}
.snowflake:nth-child(39) {
    --size: 1rem;
    --left-ini: 5vw;
    --left-end: 6vw;
    left: 49vw;
    -webkit-animation: snowfall 15s linear infinite;
    animation: snowfall 15s linear infinite;
    -webkit-animation-delay: -5s;
    animation-delay: -5s;
}
.snowflake:nth-child(40) {
    --size: 0.2rem;
    --left-ini: -6vw;
    --left-end: 0vw;
    left: 60vw;
    -webkit-animation: snowfall 9s linear infinite;
    animation: snowfall 9s linear infinite;
    -webkit-animation-delay: -10s;
    animation-delay: -10s;
}
/* added small blur every 6 snowflakes*/
.snowflake:nth-child(6n) {
    -webkit-filter: blur(1px);
    filter: blur(1px);
}
