ChooseApp.cshtml 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. @{
  2. ViewData["Title"] = "Choose App";
  3. Layout = "~/Views/Shared/_NothingLayout.cshtml";
  4. }
  5. @using LotteryWebApp.Languages;
  6. <style>
  7. /* Override the layout backgrounds */
  8. html, body {
  9. margin: 0 !important;
  10. padding: 0 !important;
  11. width: 100% !important;
  12. height: 100% !important;
  13. display: block !important; /* Neutralize template's flex centering */
  14. overflow-x: hidden !important;
  15. background: white !important;
  16. }
  17. .all-screen {
  18. width: 100% !important;
  19. max-width: 100% !important;
  20. background: #2D0506 !important;
  21. position: relative !important;
  22. overflow: hidden !important;
  23. height: 100dvh !important;
  24. margin: 0 !important;
  25. padding: 0 !important;
  26. }
  27. /* Chỉ giới hạn chiều rộng trên màn hình lớn (Tablet/Desktop) */
  28. @@media (min-width: 600px) {
  29. .all-screen {
  30. max-width: 414px !important;
  31. margin: 0 auto !important;
  32. }
  33. }
  34. .float-button-navigator-back-to-app {
  35. display: none !important;
  36. }
  37. /* ========== CHOOSE APP CUSTOM STYLES ========== */
  38. .ca-wrap {
  39. position: relative;
  40. width: 100%;
  41. height: 100%;
  42. }
  43. /* Hero background - covers the ENTIRE container */
  44. .ca-hero {
  45. position: absolute;
  46. top: 0;
  47. left: -20%;
  48. width: 140%;
  49. height: 100%;
  50. z-index: 0;
  51. }
  52. .ca-hero img {
  53. width: 100%;
  54. height: 100%;
  55. object-fit: cover;
  56. object-position: center top;
  57. }
  58. /* Gradient fades the image into the dark background color */
  59. .ca-hero-overlay {
  60. position: absolute;
  61. /* top: 0; */
  62. left: 0;
  63. right: 0;
  64. bottom: 0;
  65. background: linear-gradient(180deg,
  66. rgba(45, 5, 6, 0) 0%,
  67. rgba(45, 5, 6, 0) 45%,
  68. rgba(45, 5, 6, 0.6) 58%,
  69. rgba(45, 5, 6, 0.9) 68%,
  70. rgba(45, 5, 6, 1) 78%);
  71. }
  72. /* Logo */
  73. .ca-logo-wrap {
  74. position: absolute;
  75. top: 60px; /* Moved down from 10px */
  76. left: 0;
  77. right: 0;
  78. z-index: 5;
  79. text-align: center;
  80. }
  81. .ca-logo-wrap img {
  82. width: 275px;
  83. height: auto;
  84. filter: drop-shadow(0 6px 16px rgba(0,0,0,0.6));
  85. display: inline-block;
  86. }
  87. .ca-cards-section {
  88. position: absolute;
  89. top: 66dvh; /* Moved up from 58dvh */
  90. bottom: 2dvh;
  91. left: 20px;
  92. right: 20px;
  93. z-index: 10;
  94. display: flex;
  95. flex-direction: column;
  96. justify-content: center; /* Changed from space-evenly */
  97. align-items: center;
  98. gap: 15px; /* Added gap to keep them closer */
  99. }
  100. /* Card base */
  101. .ca-game-card {
  102. position: relative;
  103. width: 100%;
  104. height: 88px;
  105. border-radius: 12px;
  106. overflow: hidden;
  107. display: flex;
  108. align-items: center;
  109. justify-content: space-between;
  110. padding: 0 12px;
  111. text-decoration: none !important;
  112. border: 2px solid rgba(255, 255, 255, 0.15);
  113. box-sizing: border-box;
  114. cursor: pointer;
  115. }
  116. .ca-game-card:hover { opacity: 0.95; }
  117. .ca-game-card:active { transform: scale(0.98); }
  118. .ca-card-blue { background: #211ABF; }
  119. .ca-card-orange { background: linear-gradient(90deg, #FF921E 0%, #FF1E1E 100%); }
  120. /* Premium Border & Highlights */
  121. .ca-premium-border {
  122. position: absolute;
  123. inset: 0;
  124. border-radius: 12px;
  125. border: 1.5px solid rgba(255, 255, 255, 0.3);
  126. pointer-events: none;
  127. z-index: 20;
  128. }
  129. .ca-ellipse-left {
  130. position: absolute;
  131. left: -40px;
  132. top: -60px;
  133. width: 140px;
  134. height: 140px;
  135. pointer-events: none;
  136. z-index: 10;
  137. mix-blend-mode: screen;
  138. opacity: 0.9;
  139. transform: scaleY(-1);
  140. }
  141. .ca-ellipse-right {
  142. position: absolute;
  143. right: -30px;
  144. top: -10px;
  145. width: 130px;
  146. height: 130px;
  147. pointer-events: none;
  148. z-index: 10;
  149. mix-blend-mode: screen;
  150. opacity: 0.8;
  151. }
  152. /* Left: game name + balls */
  153. .ca-left {
  154. display: flex;
  155. align-items: center;
  156. gap: 6px;
  157. z-index: 2;
  158. flex-shrink: 0;
  159. }
  160. .ca-game-name {
  161. font-family: 'Montserrat', sans-serif !important;
  162. font-weight: 800 !important;
  163. font-size: 22px;
  164. color: #fff;
  165. line-height: 1.1;
  166. text-shadow: 0 2px 4px rgba(0,0,0,0.3);
  167. }
  168. .ca-game-lotto {
  169. font-family: 'Montserrat', sans-serif !important;
  170. font-weight: 800 !important;
  171. font-style: italic;
  172. font-size: 30px;
  173. line-height: 0.95;
  174. color: #fff;
  175. text-shadow: 0 2px 4px rgba(0,0,0,0.3);
  176. }
  177. /* Lottery balls */
  178. .ca-ball {
  179. width: 56px;
  180. height: 56px;
  181. border-radius: 50%;
  182. display: flex;
  183. align-items: center;
  184. justify-content: center;
  185. font-family: 'Bricolage Grotesque', sans-serif !important;
  186. font-weight: 800 !important;
  187. color: #000;
  188. position: relative;
  189. box-shadow: 3px 3px 9px rgba(0,0,0,0.45);
  190. }
  191. .ca-ball-sm {
  192. width: 44px;
  193. height: 44px;
  194. }
  195. .ca-ball-md {
  196. width: 52px;
  197. height: 52px;
  198. }
  199. .ca-ball::after {
  200. content: "";
  201. position: absolute;
  202. top: 12%;
  203. left: 20%;
  204. width: 50%;
  205. height: 30%;
  206. background: linear-gradient(180deg, rgba(255,255,255,0.65) 0%, rgba(255,255,255,0.05) 100%);
  207. border-radius: 50%;
  208. }
  209. /* Right: asset image + button */
  210. .ca-right {
  211. display: flex;
  212. flex-direction: column;
  213. align-items: center;
  214. justify-content: center;
  215. height: 100%;
  216. z-index: 2;
  217. flex-shrink: 0;
  218. position: relative;
  219. padding-top: -10px;
  220. }
  221. .ca-asset-img {
  222. object-fit: contain;
  223. filter: drop-shadow(0 0 4px rgba(255,255,255,0.7));
  224. margin-bottom: -8px;
  225. position: relative;
  226. z-index: 3;
  227. }
  228. /* Play now button */
  229. .ca-play-btn {
  230. background: linear-gradient(44deg, #EFAD19 0%, #FFF385 100%);
  231. border: 2px solid rgba(255, 255, 255, 0.4);
  232. border-radius: 12px;
  233. box-shadow: 0px 3px 8px rgba(0,0,0,0.25);
  234. padding: 5px 30px;
  235. font-family: 'Bricolage Grotesque', sans-serif !important;
  236. font-weight: 800 !important;
  237. font-size: 18px;
  238. color: #000 !important;
  239. text-decoration: none !important;
  240. text-transform: uppercase;
  241. white-space: nowrap;
  242. line-height: 1.3;
  243. }
  244. /* Small decorative dots */
  245. .ca-dot {
  246. position: absolute;
  247. border-radius: 50%;
  248. pointer-events: none;
  249. }
  250. </style>
  251. <link href="https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:wght@800&family=Montserrat:ital,wght@0,800;1,800&display=swap" rel="stylesheet">
  252. <div class="ca-wrap">
  253. <!-- Full background image -->
  254. <div class="ca-hero">
  255. <img src="~/LotteryV2/img/ChooseApp/main_bg.png" alt="" />
  256. <div class="ca-hero-overlay"></div>
  257. </div>
  258. <!-- Logo -->
  259. <div class="ca-logo-wrap">
  260. <img src="~/LotteryV2/img/ChooseApp/logo.png" alt="NATCOM LOTO" />
  261. </div>
  262. <!-- Game Cards -->
  263. <div class="ca-cards-section">
  264. <!-- BoLèt Lotto -->
  265. <a href="/Home" class="ca-game-card ca-card-blue">
  266. <div class="ca-premium-border"></div>
  267. <img src="/LotteryV2/img/decorations/ellipse_1183.png" class="ca-ellipse-left" alt="">
  268. <img src="/LotteryV2/img/decorations/ellipse_1181.png" class="ca-ellipse-right" alt="">
  269. <div class="ca-dot" style="width:10px;height:10px;background:#CAF7FF;left:55%;top:28%;"></div>
  270. <div class="ca-dot" style="width:14px;height:14px;background:rgba(255,255,255,0.7);left:50%;top:0;"></div>
  271. <div class="ca-dot" style="width:6px;height:6px;background:rgba(255,255,255,0.6);left:46%;top:2px;"></div>
  272. <div class="ca-left">
  273. <div>
  274. <div class="ca-game-name">BòLèt</div>
  275. <div class="ca-game-lotto">Lotto</div>
  276. </div>
  277. <div class="ca-ball" style="background:#6868FF;font-size:26px;margin-left:4px;">20</div>
  278. </div>
  279. <div class="ca-right">
  280. <img src="/LotteryV2/img/ChooseApp/money_stack.png" class="ca-asset-img" style="width:65px;height:40px;" alt="" />
  281. <span class="ca-play-btn" style="padding: 4px 15px; font-size: 16px;">@Lang.play</span>
  282. </div>
  283. </a>
  284. <!-- MEGA Lotto -->
  285. <a href="/LotteryV2/Home" class="ca-game-card ca-card-orange">
  286. <div class="ca-premium-border"></div>
  287. <img src="/LotteryV2/img/decorations/ellipse_1183.png" class="ca-ellipse-left" alt="">
  288. <img src="/LotteryV2/img/decorations/ellipse_1181.png" class="ca-ellipse-right" alt="">
  289. <div class="ca-dot" style="width:10px;height:10px;background:#FFD43D;left:48%;top:16px;"></div>
  290. <div class="ca-dot" style="width:14px;height:14px;background:rgba(255,255,255,0.7);left:54%;bottom:8px;"></div>
  291. <div class="ca-dot" style="width:6px;height:6px;background:rgba(255,255,255,0.6);left:46%;top:12px;"></div>
  292. <div class="ca-left">
  293. <div>
  294. <div class="ca-game-name">MEGA</div>
  295. <div class="ca-game-lotto">Lotto</div>
  296. </div>
  297. <!-- Overlapping balls: 88 behind, 66 in front -->
  298. <div style="position:relative;width:70px;height:68px;margin-left:2px;">
  299. <div class="ca-ball ca-ball-sm" style="background:#FFD43D;font-size:18px;position:absolute;left:0;top:0;z-index:1;">88</div>
  300. <div class="ca-ball ca-ball-md" style="background:#52A34D;font-size:22px;position:absolute;left:18px;top:14px;z-index:2;">66</div>
  301. </div>
  302. </div>
  303. <div class="ca-right">
  304. <img src="/LotteryV2/img/ChooseApp/gold_bag.png" class="ca-asset-img" style="width:50px;height:50px;" alt="" />
  305. <span class="ca-play-btn" style="padding: 4px 15px; font-size: 16px;">@Lang.play</span>
  306. </div>
  307. </a>
  308. </div>
  309. </div>