1+ .announcement-banner {
2+ display : flex ;
3+ align-items : center ;
4+ justify-content : center ;
5+ position : relative ;
6+ width : 100% ;
7+ padding : 12px 20px ;
8+ box-sizing : border-box ;
9+ background : linear-gradient (135deg ,
10+ #1a1a2e 0% ,
11+ #16213e 25% ,
12+ #0f3460 50% ,
13+ #1a1a2e 100% );
14+ background-size : 200% 200% ;
15+ animation : gradientShift 8s ease infinite ;
16+ text-decoration : none ;
17+ cursor : pointer ;
18+ overflow : hidden ;
19+ border-bottom : 1px solid rgba (255 , 255 , 255 , 0.1 );
20+ transition : all 0.3s ease ;
21+
22+ & ::before {
23+ content : ' ' ;
24+ position : absolute ;
25+ top : 0 ;
26+ left : -100% ;
27+ width : 100% ;
28+ height : 100% ;
29+ background : linear-gradient (90deg ,
30+ transparent ,
31+ rgba (255 , 255 , 255 , 0.05 ),
32+ transparent );
33+ animation : shimmer 3s infinite ;
34+ }
35+
36+ & :hover {
37+ background-size : 250% 250% ;
38+
39+ .announcement-banner__cta {
40+ transform : translateX (5px );
41+ }
42+
43+ .announcement-banner__arrow {
44+ transform : translateX (3px );
45+ }
46+ }
47+
48+ & .hidden {
49+ display : none ;
50+ }
51+
52+ @keyframes gradientShift {
53+ 0% {
54+ background-position : 0% 50% ;
55+ }
56+
57+ 50% {
58+ background-position : 100% 50% ;
59+ }
60+
61+ 100% {
62+ background-position : 0% 50% ;
63+ }
64+ }
65+
66+ @keyframes shimmer {
67+ 0% {
68+ left : -100% ;
69+ }
70+
71+ 100% {
72+ left : 100% ;
73+ }
74+ }
75+
76+ & __content {
77+ display : flex ;
78+ align-items : center ;
79+ gap : 16px ;
80+ max-width : 1200px ;
81+ z-index : 1 ;
82+ }
83+
84+ & __logo-wrapper {
85+ display : flex ;
86+ align-items : center ;
87+ justify-content : center ;
88+ width : 36px ;
89+ height : 36px ;
90+ border-radius : 10px ;
91+ background : rgba (255 , 255 , 255 , 0.1 );
92+ backdrop-filter : blur (10px );
93+ padding : 4px ;
94+ flex-shrink : 0 ;
95+ box-shadow : 0 4px 15px rgba (0 , 0 , 0 , 0.2 );
96+ }
97+
98+ & __logo {
99+ width : 28px ;
100+ height : 28px ;
101+ object-fit : contain ;
102+ border-radius : 6px ;
103+ }
104+
105+ & __text {
106+ display : flex ;
107+ align-items : center ;
108+ gap : 12px ;
109+ flex-wrap : wrap ;
110+ }
111+
112+ & __new-badge {
113+ display : inline-flex ;
114+ align-items : center ;
115+ padding : 4px 10px ;
116+ background : linear-gradient (135deg , #e94560 , #ff6b6b );
117+ color : #fff ;
118+ font-size : 0.65rem ;
119+ font-weight : 700 ;
120+ letter-spacing : 1px ;
121+ border-radius : 20px ;
122+ text-transform : uppercase ;
123+ box-shadow : 0 2px 10px rgba (233 , 69 , 96 , 0.4 );
124+ }
125+
126+ & __title {
127+ color : #fff ;
128+ font-size : 0.95rem ;
129+ font-weight : 600 ;
130+ letter-spacing : 0.3px ;
131+ }
132+
133+ & __subtitle {
134+ color : rgba (255 , 255 , 255 , 0.7 );
135+ font-size : 0.85rem ;
136+ font-weight : 400 ;
137+ }
138+
139+ & __cta {
140+ display : flex ;
141+ align-items : center ;
142+ gap : 6px ;
143+ padding : 8px 16px ;
144+ background : linear-gradient (135deg , #00d2d3 , #54a0ff );
145+ color : #fff ;
146+ font-size : 0.8rem ;
147+ font-weight : 600 ;
148+ border-radius : 25px ;
149+ transition : all 0.3s ease ;
150+ box-shadow : 0 4px 15px rgba (0 , 210 , 211 , 0.3 );
151+ white-space : nowrap ;
152+ }
153+
154+ & __cta-text {
155+ letter-spacing : 0.5px ;
156+ }
157+
158+ & __arrow {
159+ font-size : 1rem ;
160+ transition : transform 0.3s ease ;
161+ }
162+
163+ // Responsive styles
164+ @media screen and (max-width : 768px ) {
165+ padding : 10px 16px ;
166+
167+ & __content {
168+ gap : 12px ;
169+ }
170+
171+ & __logo-wrapper {
172+ width : 32px ;
173+ height : 32px ;
174+ }
175+
176+ & __logo {
177+ width : 24px ;
178+ height : 24px ;
179+ }
180+
181+ & __text {
182+ gap : 8px ;
183+ }
184+
185+ & __new-badge {
186+ padding : 3px 8px ;
187+ font-size : 0.6rem ;
188+ }
189+
190+ & __title {
191+ font-size : 0.85rem ;
192+ }
193+
194+ & __subtitle {
195+ display : none ;
196+ }
197+
198+ & __cta {
199+ padding : 6px 12px ;
200+ font-size : 0.75rem ;
201+ }
202+ }
203+
204+ @media screen and (max-width : 480px ) {
205+ padding : 8px 12px ;
206+
207+ & __content {
208+ gap : 8px ;
209+ }
210+
211+ & __logo-wrapper {
212+ width : 28px ;
213+ height : 28px ;
214+ padding : 3px ;
215+ }
216+
217+ & __logo {
218+ width : 20px ;
219+ height : 20px ;
220+ }
221+
222+ & __new-badge {
223+ display : none ;
224+ }
225+
226+ & __title {
227+ font-size : 0.8rem ;
228+ }
229+
230+ & __cta {
231+ padding : 5px 10px ;
232+ font-size : 0.7rem ;
233+ gap : 4px ;
234+ }
235+
236+ & __arrow {
237+ font-size : 0.85rem ;
238+ }
239+ }
240+ }
0 commit comments