.game { position: relative; width: 80%; height: 80vh; margin: auto; } .game nav[role="navigation"] img, svg { width: auto; } .game text { font-family: Helvetica, Arial, sans-serif; font-size: 1.2rem; pointer-events: none; fill: #0f5961; font-family: 'Azuki'; } .game #chart { position: absolute; width: 500px; height: 500px; top: 0; left: 0; } .game #question { position: absolute; width: 400px; height: 500px; top: 0; left: 520px; } .game #question h1 { font-size: 2rem; font-weight: bold; position: absolute; padding: 0; margin: 0; top: 50%; color: #1e7d71; -webkit-transform: translate(0, -50%); transform: translate(0, -50%); font-family: serif; border: 0.01rem solid #1e7c70; padding: 1rem; border-radius: 0.3rem; min-width: 100%; } .game .dropdown { width: 100%; } .game .dropdown-menu.show { display: block; width: 100%; padding: 1rem; box-shadow: 1px 1px 7px #6c6c6c; transform: none !important; } .game .row { margin-top: 0.3rem; } .game .custom_small_btn { font-size: 0.8rem; color: #fff !important; border-radius: 0.3rem; padding: 0.2rem 1rem; } .game .custom_small_btn.btn-danger { background-color: #d30303; } .game #answer_value { display: none; font-size: 2rem; } .light-container { display: flex; justify-content: center; margin-top: 10px; } .light { width: 10px; height: 10px; background-color: #bbb; border-radius: 50%; margin: 0 5px; box-shadow: 0 0 5px #999; animation: blink 1s infinite alternate; } .light:nth-child(2) { animation-delay: 0.2s; } .light:nth-child(3) { animation-delay: 0.4s; } @keyframes blink { from { opacity: 1; } to { opacity: 0.4; } } #chart { text-align: center; margin-bottom: 1rem; } .cloud-top { text-align: center; } .cloud-top img { width: 9rem; top: -9rem; position: relative; margin: auto; } .modal-content { background: transparent; border: none; } .cloud-body { margin-top: -8rem; text-align: center; background-color: #ffdadf; padding: 1rem; border-radius: 1rem; } #prize_label_cloud { font-size: 3rem; color: #e60012; text-shadow: 1px 1px 4px #ffffff; font-family: 'Baloo Paaji'; } .modal-backdrop.show { opacity: 0.8 !important; background-color: #000 !important; } .facebook-container { width: 100%; /* Đảm bảo vùng chứa rộng 100% */ max-width: 500px; /* Giới hạn chiều rộng tối đa nếu cần */ margin: 0 auto; /* Căn giữa vùng chứa nếu muốn */ } .facebook-container iframe { width: 100% !important; /* Quan trọng để iframe luôn vừa với vùng chứa */ border: none; overflow: hidden; } .custom_title { /* border-radius: 5rem; */ width: 90%; text-transform: uppercase; letter-spacing: 0.5em; display: inline-block; padding: 0; position: absolute; top: 1rem; /* left: 50%; */ /* margin: 0 0 0 -20em; */ } .custom_title span { font: 700 4.5em "Oswald", sans-serif; letter-spacing: 0; padding: 0.25em 0 0.6em; display: block; margin: 0 auto; text-shadow: 0 0 80px rgba(255, 255, 255, .5); background: url(../imgs/animated-text-fill.png) repeat-y; -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; -webkit-animation: aitf 80s linear infinite; -webkit-transform: translate3d(0, 0, 0); -webkit-backface-visibility: hidden; border: 1rem double rgb(227 10 0); border-width: 10px 0; } /* Animate Background Image */ @-webkit-keyframes aitf { 0% { background-position: 0% 50%; } 100% { background-position: 100% 50%; } } @media (max-width: 991px) { .prize-display { position: static; width: 100%; } #prize_label_cloud { font-size: 2rem; } .cloud-body { margin-top: -1rem; } /* .custom_title { width: 68%; margin: auto; margin-top: 0rem !important; height: 6rem !important; color: #ffffff !important; font-size: 2.3rem; } */ .custom-navbar .logo { font-size: 1rem; text-align: center; padding-right: 3rem; } .logo-container { display: none !important; } .demonstration_img { display: none; } } body { height: 100%; background-color: #000; /* Màu nền chính */ background-image: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.02) 1px, transparent 1px, transparent 10px), repeating-linear-gradient(90deg, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.02) 1px, transparent 1px, transparent 10px); } .default_background { background-color: #fff; } .custom_list.container { max-width: 600px; margin: 0 auto; background-color: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); } .custom_list.container h1 { text-align: center; color: #333; margin-bottom: 20px; } .custom_list.container .input-group { display: flex; margin-bottom: 15px; } .custom_list.container .input-group input[type="text"] { flex-grow: 1; padding: 10px; border: 1px solid #ddd; border-radius: 4px 0 0 4px; font-size: 16px; } .custom_list.container .input-group button { background-color: #5cb85c; color: white; border: none; padding: 10px 15px; border-radius: 0 4px 4px 0; cursor: pointer; font-size: 16px; transition: background-color 0.3s ease; } .custom_list.container .input-group button:hover { background-color: #4cae4c; } .custom_list.container #taskList { list-style-type: none; padding: 0; } .custom_list.container #taskList li { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px dotted #eee; font-size: 16px; } .custom_list.container #taskList li:last-child { border-bottom: none; } .custom_list.container .delete-btn { background-color: #d9534f; color: white; border: none; padding: 5px 10px; border-radius: 4px; cursor: pointer; font-size: 14px; transition: background-color 0.3s ease; } .custom_list.container .delete-btn:hover { background-color: #c9302c; } .chart_containter { width: 95%; background-color: #fff; /* margin: 1rem; */ border-radius: 0.3rem; padding-top: 3rem; box-shadow: 7px -5px 9px #2a2a2ad9; /* background-image: url(../../images/background.webp); */ background-size: cover; background-position: center; background-repeat: no-repeat; top: 6rem; position: absolute; padding-top: 0; } .chart_containter .ribbon { height: -webkit-fill-available; overflow: hidden; margin-bottom: -2.3rem; } /* hiển thị giải thưởng */ .grid-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)); gap: 20px; padding: 20px; max-width: 1200px; margin: 0 auto; } .grid-item { position: relative; overflow: hidden; border-radius: 10px; transition: transform 0.3s ease, box-shadow 0.3s ease; aspect-ratio: 3 / 1; padding: 0.5rem; background-color: #fff; /* box-shadow: inset 1px 3px 0px #c1c1c1; */ padding-left: 15rem; border: 0.01rem solid #eb0a0a57; } .grid-item:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); } .grid-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease, filter 0.3s ease; } .grid-item:hover img { transform: scale(1.05); filter: brightness(1.1); } .overlay { position: absolute; bottom: 0.1rem; left: 0; right: 0; color: white; padding: 1rem; transform: translateY(100%); transition: transform 0.3s ease; opacity: 0; transform: translateY(0); opacity: 1; } .grid-item:hover .overlay { transform: translateY(0); opacity: 1; } .title { font-size: 1.5rem; margin-bottom: -0.5rem; transition: transform 0.3s ease 0.1s, opacity 0.3s ease 0.1s; width: 100%; padding: 0.3rem; background-color: #eb0a0a; text-align: center; color: #fff; border-radius: 1rem; } .grid-item:hover .title { transform: translateX(0); opacity: 1; } .description { color: #ff0000; font-weight: 800; font-size: 1.5rem; margin-bottom: 15px; transform: translateX(-20px); opacity: 0; transition: transform 0.3s ease 0.2s, opacity 0.3s ease 0.2s; } .grid-item:hover .description { transform: translateX(0); opacity: 1; } .button { display: inline-block; padding: 8px 16px; background-color: #ff4757; color: white; text-decoration: none; border-radius: 4px; font-size: 0.8rem; transform: translateY(20px); opacity: 0; transition: transform 0.3s ease 0.3s, opacity 0.3s ease 0.3s, background-color 0.2s ease; } .grid-item:hover .button { transform: translateY(0); opacity: 1; } .button:hover { background-color: #ff6b81; } /* Pulsing animation */ @keyframes pulse { 0% { transform: scale(1); } 50% { transform: scale(1.02); } 100% { transform: scale(1); } } .grid-item { animation: pulse 4s infinite; } /* Glow effect on hover */ .grid-item:hover { animation: none; } @keyframes glow { 0% { box-shadow: 0 0 0 rgba(255, 255, 255, 0.7); } 50% { box-shadow: 0 0 20px rgba(255, 255, 255, 0.9); } 100% { box-shadow: 0 0 0 rgba(255, 255, 255, 0.7); } } .grid-item:hover::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 10px; animation: glow 2s infinite; pointer-events: none; } /* .custom_title { font-size: 5rem; text-align: left; color: #ffffff; font-family: 'Baloo Paaji'; text-shadow: 3px 3px #ff0000; height: 4rem; margin: auto; z-index: 2; width: 100%; } */ .wrap { width: 100%; height: 190px; position: absolute; top: -0.5rem; left: -0.5rem; overflow: hidden; cursor: pointer; } .wrap:before, .wrap:after { content: ""; position: absolute; } .wrap:before { width: 40px; height: 8px; top: 0rem; left: 94px; background: #ff7373; border-radius: 8px 8px 0px 0px; } .wrap:after { width: 8px; height: 40px; left: 0px; top: 92px; background: #ff7373; border-radius: 0px 8px 8px 0px; transform: scaleX(-1); } .ribbon6 { width: 200px; height: 40px; line-height: 40px; position: absolute; top: 30px; left: -50px; z-index: 2; overflow: hidden; -webkit-transform: rotate(45deg); transform: rotate(-45deg); border: 2px dashed #ffffff; box-shadow: 0 0 13px 3px #727272, 0px 21px 5px -18px rgba(0, 0, 0, 0.6); background: #ff0000; text-align: center; color: #ffffffeb; } @media (min-width: 500px) { .ribbons-wrapper { display: flex; flex-wrap: wrap; justify-content: space-between; } /* .ribbon { width: 48%; } */ } .wrap_item { width: 100%; height: 190px; position: absolute; top: -1.5rem; left: -0.3rem; overflow: hidden; cursor: pointer; } .wrap_item:before, .wrap_item:after { content: ""; position: absolute; } .wrap_item:before { width: 40px; height: 8px; left: 100px; background: #890404; border-radius: 8px 8px 0px 0px; } .wrap_item:after { width: 8px; height: 40px; left: 0px; top: 100px; background: #890404; border-radius: 0px 8px 8px 0px; } .ribbon_minitem { width: 200px; height: 40px; line-height: 40px; position: absolute; top: 42px; left: -58px; z-index: 2; overflow: hidden; -webkit-transform: rotate(45deg); transform: rotate(-45deg); border: 2px dashed #ffffff; background: #ff0000; text-align: center; color: #ffffffeb; } @media (min-width: 500px) { .ribbons-wrapper { display: flex; flex-wrap: wrap; justify-content: space-between; } } .default_dialog { background-color: #fff !important; } /* CSS cho Bootstrap 4 để làm modal full màn hình */ @media (max-width: 575.98px) { .full-modal-dialog.modal-dialog { max-width: 90%; margin: auto; } .modal-content { height: 100vh; border: 0; border-radius: 0; } } @media (min-width: 576px) and (max-width: 767.98px) { .full-modal-dialog.modal-dialog { max-width: 90%; margin: auto; } .modal-content { height: 100vh; border: 0; border-radius: 0; } } @media (min-width: 768px) and (max-width: 991.98px) { .full-modal-dialog.modal-dialog { max-width: 90%; margin: auto; } .modal-content { height: 100vh; border: 0; border-radius: 0; } } @media (min-width: 992px) and (max-width: 1199.98px) { .full-modal-dialog.modal-dialog { max-width: 90%; margin: auto; } .modal-content { height: 100vh; border: 0; border-radius: 0; } } @media (min-width: 1200px) { .full-modal-dialog.modal-dialog { max-width: 90%; margin: auto; } .modal-content { height: 100vh; border: 0; border-radius: 0; margin-top: 8rem; } } .full-modal-dialog { background-color: #fff !important; } .full-modal-dialog .modal-content { /* margin-top: 5rem; */ } .full-modal-dialog .modal-content .modal-body { background: #00000036; } .modal-body { background-color: #fff; } .bg { animation: slide 3s ease-in-out infinite alternate; background-image: linear-gradient(-60deg, #E91E63 50%, #09f 50%); bottom: 0; left: -50%; opacity: .5; position: fixed; right: -50%; top: 0; z-index: -1; } .bg2 { animation-direction: alternate-reverse; animation-duration: 4s; } .bg3 { animation-duration: 5s; } .bg_content { background-color: rgba(255, 255, 255, .8); border-radius: .25em; box-shadow: 0 0 .25em rgba(0, 0, 0, .25); box-sizing: border-box; padding: 3rem 1rem; } @keyframes slide { 0% { transform: translateX(-25%); } 100% { transform: translateX(25%); } } @media (max-width: 991px) { .grid-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; padding: 0; max-width: 1200px; margin: 0 auto; } .title { font-size: 1.2rem; margin-bottom: 0; background-color: #ffffffd9; border-radius: 1rem; } /* .custom_title { width: 100%; font-size: 2rem; margin-top: -6rem !important; color: #bf0c0c !important; text-shadow: none; } */ } @media (min-width: 1200px) { .container { max-width: 80% !important; } } .custom-navbar { background-color: #bd021b !important; margin: 0; width: 100%; border-radius: 0; box-shadow: 1px 1px 9px #00000085; } .custom-navbar .logo img { width: 4rem; margin-right: 1rem; background-color: #fff; padding: 0.3rem; border-radius: 0.5rem; } .custom_subtitle { text-align: right; font-weight: 800; color: #e90000; border-bottom: 0.01rem solid #e90000; } body { background-color: #950000; animation: none; height: 100vh; } /* phiên bản v2 */ .content-wrapper { display: flex; width: 100%; gap: 4rem; justify-content: center; align-items: stretch; min-height: 450px; } .left-section, .right-section { flex: 1; max-width: 450px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2rem; } .wheel-section { display: flex; flex-direction: column; align-items: center; /* gap: 2rem; */ width: 100%; } /* Vòng quay chính */ #luckywheel_container { display: flex; flex-direction: column; align-items: center; justify-content: center; /* gap: 30px; */ margin-top: 0; } .wheel-section { width: fit-content; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; background-color: #db0202; border-radius: 50%; padding: 20px; box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.1), 0 5px 15px rgba(0, 0, 0, 0.2); z-index: 1; } .wheel-container { position: relative; width: 500px; height: 500px; border-radius: 50%; overflow: hidden; background-color: #db0202; box-shadow: inset 0 5px 15px rgba(0, 0, 0, 0.842); } /* Div bọc ngoài để tạo border dày và đèn */ .wheel-border-lights { width: 100%; /* Bằng với wheel-container */ height: 100%; border-radius: 50%; position: relative; /* Quan trọng cho pseudo-elements */ overflow: hidden; /* Quan trọng để chấm đèn không tràn ra */ /* Dùng box-shadow để tạo viền dày */ box-shadow: 0 0 0 1.5rem #f90d0d, /* Viền đỏ chính, dày 1.5rem */ 0 0 0 1.8rem rgba(249, 13, 13, 0.5); /* Lớp viền phụ mờ hơn một chút */ } /* Các chấm đèn sẽ nằm trên pseudo-element của .wheel-border-lights */ .wheel-border-lights::before { content: ''; position: absolute; top: 5px; left: 5px; width: calc(100% - 10px); height: calc(100% - 10px); border-radius: 50%; background: radial-gradient(circle at 50% calc(0% + 15px), #ffffff 15px, transparent 16px), radial-gradient(circle at calc(85.35% - 5px) calc(14.65% + 20px), #f9f9f9 15px, transparent 16px), radial-gradient(circle at calc(100% - 15px) 50%, #ffffff 15px, transparent 16px), radial-gradient(circle at calc(85.35% - 10px) calc(85.35% - 10px), #ffffff 15px, transparent 16px), radial-gradient(circle at calc(50%) calc(100% - 15px), #ffffff 15px, transparent 16px), radial-gradient(circle at calc(14.65% + 10px) calc(85.35% - 10px), #ffffff 15px, transparent 16px), radial-gradient(circle at calc(0% + 15px) calc(50%), #ffffff 15px, transparent 16px), radial-gradient(circle at calc(14.65% + 10px) calc(14.65% + 10px), #ffffff 15px, transparent 16px); background-position: top center, right top, right center, right bottom, bottom center, left bottom, left center, left top; /* background-size: 20px 20px; */ background-repeat: no-repeat; animation: rotateLights 5s linear infinite; opacity: 0.9; /* z-index: 1; */ pointer-events: none; } /* Keyframes cho hiệu ứng xoay các chấm */ @keyframes rotateLights { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Keyframes cho hiệu ứng xoay chấm */ @keyframes rotateDots { from { background-position: 0% 0%; } to { background-position: 100% 100%; } } /* Canvas bên trong */ #wheelCanvas { /* Đặt kích thước nhỏ hơn một chút và căn giữa */ width: calc(100% - 5rem); /* 100% trừ đi 2 lần độ dày của viền */ height: calc(100% - 5rem); position: absolute; /* Quan trọng để căn giữa trong .wheel-border-lights */ top: 50%; left: 50%; transform: translate(-50%, -50%); /* Căn giữa hoàn hảo */ border-radius: 50%; background-color: #fff; /* Màu nền của vòng quay bên trong */ cursor: pointer; box-shadow: none; /* Bỏ box-shadow ở đây vì đã có ở div bọc ngoài */ transition: transform 0.3s ease; box-shadow: 1px 1px 14px #383838; ; } /* #wheelCanvas:hover { transform: scale(1.02); } */ #spinButton { padding: 0.8rem 1.5rem; font-size: 1rem; font-weight: bold; background: linear-gradient(45deg, #ff0505, #ac0808); color: #fff; border: 0.2rem solid #ffffffb5; border-radius: 50px; cursor: pointer; transition: all 0.3s ease; text-transform: uppercase; letter-spacing: 1px; box-shadow: 0 5px 20px rgba(108, 92, 231, 0.4); width: fit-content; /* max-width: 220px; */ margin: auto; margin-top: 1rem; bottom: 8.2rem; position: relative; align-items: center; display: block; } #spinButton:hover { transform: translateY(-2px); box-shadow: 0 8px 25px rgba(108, 92, 231, 0.6); } .input-container { width: 100%; background: rgba(255, 255, 255, 0.1); padding: 1.5rem; border-radius: 15px; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); display: flex; flex-direction: column; gap: 1rem; } .input-group { display: flex; gap: 1rem; width: 100%; } .input-container input { flex: 1; padding: 0.7rem 1rem; font-size: 0.9rem; border: none; border-radius: 8px; background: rgba(255, 255, 255, 0.9); box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1); } .input-container button { padding: 0.7rem 1.2rem; font-size: 0.9rem; background: #6c5ce7; color: white; border: none; border-radius: 8px; cursor: pointer; transition: all 0.3s ease; font-weight: bold; white-space: nowrap; } .input-container button:hover { background: #a367dc; transform: translateY(-2px); } #result { width: 100%; display: flex; flex-direction: column; justify-content: center; align-items: center; font-size: 1rem; font-weight: 600; text-align: center; color: #fff; opacity: 0; transform: translateY(20px) scale(0.9); transition: all 0.8s cubic-bezier(0.17, 0.67, 0.29, 1.01); padding: 1rem; border-radius: 20px; background: rgba(0, 0, 0, 0.4); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 2px solid rgba(255, 255, 255, 0.1); box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); } #result.show { opacity: 1; transform: translateY(0) scale(1); position: absolute; top: 0; height: 100%; z-index: 2; } .result-content { display: flex; align-items: center; justify-content: center; gap: 0.8rem; } .result-dot { width: 20px; height: 20px; border-radius: 50%; display: inline-block; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); border: 2px solid rgba(255, 255, 255, 0.3); } .logo-container { width: 15%; height: auto; aspect-ratio: 1; perspective: 1000px; position: relative; display: flex; justify-content: center; align-items: center; /* border: 2px solid #ccc; */ border-radius: 50%; /* background-color: #fff; */ /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); */ box-shadow: inset 1px 1px 13px #0000002e; margin: auto; margin-top: 7rem; z-index: 1; background-color: #ffffff; border: 0.5rem double #e24242; } .logo-container .logo { width: 80%; height: 80%; object-fit: contain; display: block; animation: spin 3s linear infinite; transform-style: preserve-3d; backface-visibility: hidden; scale: 1.1; background-color: #fff; border: 0.3rem solid #cc0707de; border-radius: 50%; padding: 1rem; } /* Định nghĩa animation */ @keyframes spin { 0% { transform: rotateY(0deg); /* Xoay quanh trục Y cho hiệu ứng cánh cửa */ } 100% { transform: rotateY(360deg); /* Xoay 360 độ quanh trục Y */ } } .demonstration_img { width: 80%; margin: auto; } .demonstration_img img { width: 100%; } @media (max-width: 1600px) { .custom_title span { font: 700 3em "Oswald", sans-serif !important; } .logo-container { margin-top: 5rem; } } @media (max-width: 900px) { .content-wrapper { flex-direction: column; min-height: unset; gap: 2rem; } .left-section, .right-section { width: 100%; max-width: 500px; gap: 1.5rem; } .wheel-container { width: min(350px, 80vw); height: min(350px, 80vw); } .chart_containter { width: 100%; } } @media (max-width: 480px) { .content-wrapper { gap: 1.5rem; } .wheel-container { width: min(300px, 85vw); height: min(300px, 85vw); } .input-group { flex-direction: column; } .input-container { padding: 1rem; } #spinButton, .input-container button { width: fit-content; max-width: none; padding: 0.5rem 2rem; } #spinButton { margin-top: 0.5rem; } } @media (max-width: 800px) { .wheel-container { width: min(450px, 55vh, 80vw); height: min(450px, 55vh, 80vw); } .chart_containter { top: 5rem; position: absolute; padding-top: 0; } /* .custom_title { height: 6rem !important; } */ .cylinder { width: 60% !important; } .cylinder:before, .cylinder:after { width: 100% !important; } .cylinder2 { width: 100% !important; } .cylinder2:before, .cylinder2:after { width: 100% !important; } .prize_title { font-size: 1.5rem !important; } .prize-info { margin: 1rem !important; } .prize-info p { font-size: 1rem !important; } .prize-name { font-size: 2rem !important; } #result.show { height: 100vh; } } .prize-info { position: absolute; top: 0; } .prize-info p { font-size: 1.5rem; color: #fff; } .prize_title { font-size: 3rem; color: #fff; text-shadow: 1px 1px 9px #ff0000; } .prize-name { font-size: 3rem; font-family: system-ui; color: #ffcb01; font-weight: 800; text-shadow: 1px 1px 20px #970000; } .cylinder_container { position: relative; height: 200px; width: 100%; top: -39px; } .cylinder { height: 130px; margin: auto; position: relative; transform: translateX(-4px) rotateX(70deg); transform-origin: 0 150px; transform-style: preserve-3d; width: 308px; background-color: #d90202; box-shadow: 1px 19px 6px #0000008c; top: -208px; } .cylinder:before, .cylinder:after { border: 8px solid #17e1e3; border-radius: 50%; content: ''; height: 130px; left: 0px; position: absolute; width: 308px; } .cylinder:before { top: -68px; border: 5px solid #710000; background-color: #7b0000; box-shadow: inset 1px 1px 100px #e30a00; } .cylinder:after { bottom: -65px; background-color: #d90202; border: none; box-shadow: 0px 15px 2px #00000040; } .cylinder2 { height: 150px; margin: 0 auto; position: relative; transform: translateX(-4px) rotateX(70deg); transform-origin: 0 150px; transform-style: preserve-3d; width: 500px; background-color: #d90202; box-shadow: 1px 19px 6px #0000008c; } .cylinder2:before, .cylinder2:after { border: 8px solid #17e1e3; border-radius: 50%; content: ''; height: 150px; left: 0px; position: absolute; width: 500px; } .cylinder2:before { top: -83px; border: 5px solid #710000; background-color: #a50505; box-shadow: inset 1px 1px 30px #00000054; } .cylinder2:after { bottom: -74px; background-color: #d90202; border: none; box-shadow: 0px 15px 2px #00000040; } .alert_wheel_spin { width: 100%; margin: auto; position: absolute; z-index: 2; box-shadow: 1px 1px 20px #000; border-radius: 1rem; min-height: fit-content; } .alert_wheel_spin .alert { margin: 0; text-align: center !important; } /* Ẩn thanh scrollbar cho toàn bộ trang */ body::-webkit-scrollbar { display: none; /* Hoặc width: 0; height: 0; */ } /* Ẩn thanh scrollbar cho một phần tử cụ thể (ví dụ: một div có overflow) */ .my-scrollable-element::-webkit-scrollbar { display: none; } .luckywheel_inner { box-shadow: inset 1px 1px 14px #000; padding: 1rem 1rem 0 1rem; border-radius: 21rem 21rem 0 0; margin-bottom: -3rem; }