@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');


* {
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

a {
    text-decoration: none;
}

img {
    display: block;
}

.banner__container {
    max-width: 300px;
    width: 100%;
    height: 250px;
    background: url(./img/bg.png) no-repeat center center;
    background-size: cover;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    overflow: hidden;
    position: relative;
    z-index: 0;
        cursor: pointer;
}

.banner__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
-webkit-box-align: center;
    -ms-flex-align: center;
        align-items: center;
-webkit-box-pack: center;
    -ms-flex-pack: center;
        justify-content: center;
z-index: 2;
}

.banner__logo {
    width: 80px;
    height: auto;
}

.button {
    position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    padding: 10px 15px;
    margin-bottom: 14px;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    background-color: #0A9B2A;
    border-radius: 6px;
    color: white;
    font-size: 13px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-font-smoothing: subpixel-antialiased;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    will-change: transform;
    -webkit-animation: btnPulse 1.4s ease-in-out infinite;
    animation: btnPulse 1.4s ease-in-out infinite;
    z-index: 2;
    box-shadow: 0px 4px 50.900001525878906px black;
}


@-webkit-keyframes btnPulse {
    0%   { -webkit-transform: translateZ(0) scale(1);    transform: translateZ(0) scale(1); }
    50%  { -webkit-transform: translateZ(0) scale(1.07); transform: translateZ(0) scale(1.07); }
    100% { -webkit-transform: translateZ(0) scale(1);    transform: translateZ(0) scale(1); }
}
@keyframes btnPulse {
    0%   { -webkit-transform: translateZ(0) scale(1);    transform: translateZ(0) scale(1); }
    50%  { -webkit-transform: translateZ(0) scale(1.07); transform: translateZ(0) scale(1.07); }
    100% { -webkit-transform: translateZ(0) scale(1);    transform: translateZ(0) scale(1); }
}

.button::after {
    content: '';
    position: absolute;
    top: 0;
    left: -80%;
    width: 55%;
    height: 100%;
    background: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(rgba(255, 255, 255, 0.38)), to(transparent));
    background: -o-linear-gradient(left, transparent, rgba(255, 255, 255, 0.38), transparent);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.38), transparent);
    -webkit-animation: btnShine 1.8s linear infinite;
    animation: btnShine 1.8s linear infinite;
}

@-webkit-keyframes btnShine {
    0%   { left: -80%; }
    100% { left: 130%; }
}
@keyframes btnShine {
    0%   { left: -80%; }
    100% { left: 130%; }
}


.banner__ball {
    position: absolute;
    left: 105px; 
    bottom: 20px;
    width: 31px;
    z-index: 1;
}


.banner__ball--left {
    -webkit-animation: ballRollLeft 5s ease-out infinite;
    animation: ballRollLeft 5s ease-out infinite;
}

.banner__ball--right {
    -webkit-animation: ballRollRight 5s ease-out infinite;
    animation: ballRollRight 5s ease-out infinite;
}

.ball__spin {
    width: 33px;
    height: 33px;
    display: block;
}

.ball__spin--left {
    -webkit-animation: ballSpinLeft 5s ease-out infinite;
    animation: ballSpinLeft 5s ease-out infinite;
}

.ball__spin--right {
    width: 32px;
    height: 32px;
    -webkit-animation: ballSpinRight 5s ease-out infinite;
    animation: ballSpinRight 5s ease-out infinite;
}

.banner__ball-shadow {
    width: 31px;
    height: 7px;
    background: -o-radial-gradient(center, ellipse, rgba(0, 0, 0, 0.80) 0%, transparent 68%);
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.80) 0%, transparent 68%);
    margin-top: -3px;
}


@-webkit-keyframes ballRollLeft {
    0%   { -webkit-transform: translate(0, 0);           opacity: 0; }
    3%   { -webkit-transform: translate(0, 0);           opacity: 1; }
    30%  { -webkit-transform: translate(-117px, -20px);   opacity: 1; }
    72%  { -webkit-transform: translate(-117px, -20px);   opacity: 1; }
    82%  { -webkit-transform: translate(-117px, -20px);   opacity: 0; }
    83%  { -webkit-transform: translate(0, 0);           opacity: 0; }
    100% { -webkit-transform: translate(0, 0);           opacity: 0; }
}
@keyframes ballRollLeft {
    0%   { -webkit-transform: translate(0, 0); transform: translate(0, 0);           opacity: 0; }
    3%   { -webkit-transform: translate(0, 0); transform: translate(0, 0);           opacity: 1; }
    30%  { -webkit-transform: translate(-117px, -20px); transform: translate(-117px, -20px);   opacity: 1; }
    72%  { -webkit-transform: translate(-117px, -20px); transform: translate(-117px, -20px);   opacity: 1; }
    82%  { -webkit-transform: translate(-117px, -20px); transform: translate(-117px, -20px);   opacity: 0; }
    83%  { -webkit-transform: translate(0, 0); transform: translate(0, 0);           opacity: 0; }
    100% { -webkit-transform: translate(0, 0); transform: translate(0, 0);           opacity: 0; }
}


@-webkit-keyframes ballRollRight {
    0%   { -webkit-transform: translate(150px, 0);          opacity: 0; }
    3%   { -webkit-transform: translate(150px, 0);          opacity: 1; }
    30%  { -webkit-transform: translate(170px, -45px);    opacity: 1; }
    72%  { -webkit-transform: translate(170px, -45px);    opacity: 1; }
    82%  { -webkit-transform: translate(170px, -45px);    opacity: 0; }
    83%  { -webkit-transform: translate(0, 0);          opacity: 0; }
    100% { -webkit-transform: translate(0, 0);          opacity: 0; }
}
@keyframes ballRollRight {
    0%   { -webkit-transform: translate(150px, 0); transform: translate(150px, 0);          opacity: 0; }
    3%   { -webkit-transform: translate(150px, 0); transform: translate(150px, 0);          opacity: 1; }
    30%  { -webkit-transform: translate(170px, -45px); transform: translate(170px, -45px);    opacity: 1; }
    72%  { -webkit-transform: translate(170px, -45px); transform: translate(170px, -45px);    opacity: 1; }
    82%  { -webkit-transform: translate(170px, -45px); transform: translate(170px, -45px);    opacity: 0; }
    83%  { -webkit-transform: translate(0, 0); transform: translate(0, 0);          opacity: 0; }
    100% { -webkit-transform: translate(0, 0); transform: translate(0, 0);          opacity: 0; }
}

@-webkit-keyframes ballSpinLeft {
    0%   { -webkit-transform: rotate(0deg); }
    30%  { -webkit-transform: rotate(-360deg); }
    100% { -webkit-transform: rotate(-360deg); }
}
@keyframes ballSpinLeft {
    0%   { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
    30%  { -webkit-transform: rotate(-360deg); transform: rotate(-360deg); }
    100% { -webkit-transform: rotate(-360deg); transform: rotate(-360deg); }
}


@-webkit-keyframes ballSpinRight {
    0%   { -webkit-transform: rotate(0deg); }
    30%  { -webkit-transform: rotate(360deg); }
    100% { -webkit-transform: rotate(360deg); }
}
@keyframes ballSpinRight {
    0%   { -webkit-transform: rotate(0deg); transform: rotate(0deg); }
    30%  { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
    100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); }
}
