@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap); html, body { padding: 0; margin: 0; // font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, // Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif; font-family: 'Inter', sans-serif; overflow: hidden; } a { color: inherit; text-decoration: none; } * { box-sizing: border-box; } // my code below: p, h1, h3 { margin: 0; } .app { color: white; letter-spacing: 1px; width: 100vw; height: 100vh; margin: auto; overflow: hidden; background-size: cover; background-repeat: no-repeat; background-position: 0% 50%; text-align: center; } /** * Component <- Header */ header.header { display: flex; justify-content: space-between; align-items: center; width: 92vw; margin: auto; margin-top: 20px; position: relative; z-index: 5; .logo { width: 80px; aspect-ratio: 1; border-radius: 100%; background-image: url("/images/logo.png"); background-size: cover; border: 2px solid rgba(255, 255, 255, 0.2); cursor: pointer; } h2 { cursor: pointer; } nav { ul { display: flex; flex-direction: row; list-style-type: none; li { margin-right: 4rem; &:last-child { margin-right: 0; } } } &.mainHeaderNavigation { ul { li { cursor: pointer; } } } } } /** * Component <- Full Width Text * * Used in "Welcome To Caessino" */ .fullwidthText { width: 100vw; display: flex; flex-direction: column; justify-content: center; align-items: center; margin-top: 40px; padding: 15px 0 20px 0; background-color: rgba(0, 0, 0, .6); h1 { color: #FFD700; font-weight: lighter; font-size: 2.5rem; } h3 { margin-top: 15px; font-weight: lighter; } } /** * Component <- Alert * * Similar to Full Width Text */ .alert { z-index: 30; width: 100vw; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 20px 0 25px 0; background-color: rgba(0, 0, 0, .9); position: absolute; transform: translateY(-70%); transition: '.5s linear'; h1 { color: #FFD700; font-weight: lighter; font-size: 2.5rem; } h3 { margin-top: 10px; font-weight: lighter; } button { width: 500px; margin-top: 20px; } } /** * Component <- Notification * * Displayed fixed in the top right corner */ .notification { z-index: 30; position: fixed; top: 40px; right: 30px; width: 500px; min-height: 200px; display: flex; flex-direction: column; justify-content: center; align-items: flex-end; svg { cursor: pointer; } &>div { flex: 1; width: 100%; display: flex; justify-content: center; align-items: center; font-size: 1.5rem; margin-bottom: 1.2rem; text-align: center; } font-size: 2rem; padding: 20px; border-radius: 15px; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.25); } /** * Component <- Game Circle * * Used in Landing Page -> to display the games in circles */ .gameCircles { display: flex; flex-direction: row; justify-content: space-between; align-items: center; width: 92vw; margin: auto; margin-top: 50px; .gameCircle { transition: all .2s linear; cursor: pointer; display: flex; flex-direction: column; justify-content: center; align-items: center; .circleLarge { transition: all .2s linear; width: 22vw; aspect-ratio: 1; border-radius: 100%; background: linear-gradient(to top right, #ffd900cc, #B65714); opacity: .95; display: flex; flex-direction: column; .circle { border-radius: 100%; width: 98%; background-size: cover; margin: auto; aspect-ratio: 1; } } h3 { transition: all .2s linear; font-weight: lighter; margin-top: 30px; opacity: 0; } h1.loading { color: white; position: absolute; width: 100vw; top: 50vh; left: 50vw; transform: translate(-50%, -50%); font-size: 5rem; z-index: 10; } &:hover { .circleLarge { transform: scale(1.1); opacity: 1; } h3 { opacity: 1; } } } &:hover { .gameCircle { .circleLarge { opacity: 1 !important; } } } } /** * Full Screen Overlay */ .fullscreen { position: fixed; top: 0; left: 0; width: 100vw; height: 100vh; background: linear-gradient(to right, #0B932E, #097625); color: #ead24d; z-index: 10; } .fs-centered { &>div { position: fixed; top: 50vh; left: 50vw; transform: translate(-50%, -50%); } } .fs-inputs-container { &>div { margin: auto; margin-top: 2.4rem; width: fit-content; display: flex; flex-direction: column; justify-content: center; align-items: center; &>span { margin-bottom: .5rem; font-size: 1.5rem; } &>input { margin-bottom: 2rem; padding-left: 4px; padding-right: 4px; font-size: 2rem; } } } .statsScreen { svg { cursor: pointer; font-size: 2.5rem; color: white; } &>div { h1 { font-size: 2.5rem; margin-bottom: 5rem; } p { display: flex; justify-content: space-between; font-size: 1.5rem; margin-bottom: 1rem; &:nth-child(2n) { color: white; } span { margin-left: 5rem; } } } } .manageCreditsScreen { .inlineAlert { font-size: 1.5rem !important; cursor: auto; } svg { z-index: 100; cursor: pointer; font-size: 2.5rem; color: white; } &>div { top: 0%; transform: translate(-50%, 0); width: 100%; h2 { font-size: 1.5rem; margin-bottom: 1rem; } p { margin-bottom: 5rem; color: white; } button { span { color: white; } } &>div:not(.main) { margin-top: 5vh; height: 15vh; } &>div.main { height: 70vh; display: flex; &>div { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; .fs-inputs-container { width: 40%; &>div { width: 100%; label { color: white; } span { color: #ead24d; } input { font-size: 1.2rem; width: 100%; text-align: center; } } } } } } } .complainScreen { .inlineAlert { cursor: auto; } &>div { &>div { textarea { background-color: rgb(195, 255, 210); width: 50vw; height: 40vh; font-size: 2rem; margin-top: 1rem; margin-bottom: 3rem; } } } } .inlineAlert { cursor: pointer; background-color: #ffdddd; padding: .8rem 2.4rem; border-radius: 15px; color: #ff0000; font-size: 1.8rem !important; font-weight: 100; letter-spacing: -.030em; } /** * Component <- Loading */ .loadingScreen { h1 { font-size: 5rem; } } .lostConnectionScreen { &>div { text-align: center; } h3 { font-size: 2rem; margin-bottom: 1rem; &:nth-child(2) { color: white; } } } .activateScreen { &>div { text-align: center; } h3 { font-size: 2rem; margin-bottom: 1rem; &:nth-child(1) { color: white; } } button { font-size: 1.8rem; margin-top: 8rem; } } /** * Component <- RegisterScreen */ /** * Primary Thingies */ .primaryButton { background: linear-gradient(to right, #0B932E, #097625); color: #ead24d; outline: none; border: none; border-radius: 10px; font-size: 1.5rem; font-weight: bold; padding: 5px 20px; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.25); cursor: pointer; transition: all .2s linear; &:hover { transform: scale(1.1) rotateZ(-1deg); // padding: 10px 20px; } &:active { transition: .05s linear; transform: scale(1) rotateZ(-1deg); } } .secondaryButton { background: linear-gradient(to right, #4d99ea, #4d99ea); color: white; outline: none; border: none; border-radius: 10px; font-size: 1.5rem; font-weight: bold; padding: 5px 20px; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.25); cursor: pointer; transition: all .2s linear; &:hover { transform: scale(1.1) rotateZ(-1deg); // padding: 10px 20px; } &:active { transition: .05s linear; transform: scale(1) rotateZ(-1deg); } } .tertiaryButton { background: linear-gradient(to right, #484848, #6a6a6a); color: white; outline: none; border: none; border-radius: 10px; font-size: 1.5rem; font-weight: bold; padding: 5px 20px; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.25); cursor: pointer; transition: all .2s linear; &:hover { background: linear-gradient(to right, #6e6e6e, #a0a0a0); } &:active { transition: .05s linear; background: linear-gradient(to right, #484848, #6a6a6a); } } /** * Input Sliders */ .primarySlider { -webkit-appearance: none; width: 250px; height: 10px; background: #0B932E; outline: none; border-radius: 10px; -webkit-transition: .2s; transition: opacity .2s; box-shadow: 0 5px 25px rgba(234, 210, 77, 0.25); } .primarySlider:hover { opacity: 1; } .primarySlider::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; outline: none; border: none; width: 35px; height: 35px; border-radius: 50%; background: url("/images/gold-coin.png"); background-size: contain; background-color: #ead24d; cursor: pointer; } .primarySlider::-moz-range-thumb { appearance: none; outline: none; border: none; width: 35px; height: 35px; border-radius: 50%; background: url("/images/gold-coin.png"); background-size: contain; background-color: #ead24d; cursor: pointer; } /** * Scrollbar */ /* width */ ::-webkit-scrollbar { width: 15px; } /* Track */ ::-webkit-scrollbar-track { background: #0B932E; } /* Handle */ ::-webkit-scrollbar-thumb { background: #ead24d; } /* Handle on hover */ ::-webkit-scrollbar-thumb:hover { background: #efcb00; } /** * File <- Blackjack Main */ .blackjackButtons { position: absolute; left: 0; top: 90vh; width: 100vw; height: 10vh; overflow: hidden; &>div { display: flex; flex-direction: row; justify-content: center; align-items: center; transition: .5s ease-in-out; &>button { width: 300px; } &>button:nth-child(2) { margin-left: 30px; } } } .card { aspect-ratio: 400/560; height: 150px; background-size: contain; position: absolute; transition: .5s ease-in-out; border-radius: 10px; border: 1px solid black; } .blackjackDisplayBet { position: absolute; transform: translate(-50%, -50%); left: 51vw; top: 63.5vh; } .blackjackSideBetsModal { z-index: 20; flex-direction: column !important; position: fixed; left: 50vw; top: 45vh; width: 41vw; height: 80vh; padding: 10px; transform: translate(-50%, -50%); background: linear-gradient(to right, #0B932Ec0, #097625e0); box-shadow: 0 5px 50px rgba(0, 0, 0, 0.25); border-radius: 20px; overflow-y: scroll; .blackjackSideBetSelect { &:first-child { margin-top: 10rem; } display: flex; flex-direction: column; width: 100%; h1 { margin-bottom: 1rem; color: #ead24d; } &>div { text-align: left; p { margin-bottom: 1rem; padding: 10px 20px; border-radius: 5px; cursor: pointer; transition: all .25s linear; span { font-size: 1.2rem; color: #ead24d; } &:hover { color: #ead24d; box-shadow: 0 5px 25px rgba(0, 0, 0, 0.25); } } } } } .blackjackSideBetsChooseCreditsModal { z-index: 20; flex-direction: column !important; position: fixed; left: 50vw; top: 45vh; width: 41vw; height: 80vh; padding: 10px; transform: translate(-50%, -50%); background: linear-gradient(to right, #00000080, #00000080); box-shadow: 0 5px 50px rgba(0, 0, 0, 0.25); border-radius: 20px; p { margin-bottom: 1rem; padding: 10px 20px; border-radius: 5px; transition: all .25s linear; span { font-size: 1.2rem; color: white; } } } /** * File <- Roulette Main */ .rouletteMainContainer { background-color: #006600; } #rouletteBall { position: absolute; top: 87.5%; left: 17.5%; width: 1rem; } #rouletteBetsImg { position: absolute; top: 65%; left: 59%; transform: translate(-50%, -50%); width: 50vw; height: auto; cursor: url(/gold-coin.cur), auto; } #rouletteWheelImg { position: absolute; top: 60%; left: 18%; transition: all .5s ease-in-out; width: 450px; height: auto; } .rouletteInfoText { position: absolute; top: 15%; width: 100vw; text-align: center; font-size: 1.1rem; } .roulettePlayersContainer { position: absolute; top: 15%; right: 4%; width: 10vw; height: 80vh; box-shadow: 0 0 10px rgba(10, 148, 45, .25); padding: 1rem; display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); overflow-x: hidden; overflow-y: scroll; p { word-wrap: break-word; margin-top: .5rem; } } .rouletteTimer { position: absolute; top: calc((60% + 450px) / 2); left: calc(18.5%); transform: translate(-50%, -50%); display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5px; font-size: 2.5rem; color: black; } .rouletteBetModal { z-index: 20; flex-direction: column; justify-content: center; align-items: center; position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; background: #000000c0; p { margin-bottom: 1rem; padding: 10px 20px; border-radius: 5px; transition: all .25s linear; span { font-size: 1.2rem; color: #ead24d; } } } .pokerRaiseModal { z-index: 20; flex-direction: column; justify-content: center; align-items: center; position: fixed; left: 0; top: 0; width: 100vw; height: 100vh; background: #000000c0; p { margin-bottom: 1rem; padding: 10px 20px; border-radius: 5px; transition: all .25s linear; span { font-size: 1.2rem; color: #ead24d; } } } /** * Spin effect on the roulette wheel */ .spin { animation: spinner 4s infinite; animation-timing-function: ease-in-out; } @keyframes spinner { 0% { transform: translate(-50%, -50%) rotateZ(0deg); } 10% { transform: translate(-50%, -50%) rotateZ(calc(20 * 360deg)); } 20% { transform: translate(-50%, -50%) rotateZ(calc(38 * 360deg)); } 30% { transform: translate(-50%, -50%) rotateZ(calc(54 * 360deg)); } 40% { transform: translate(-50%, -50%) rotateZ(calc(78 * 360deg)); } 50% { transform: translate(-50%, -50%) rotateZ(calc(90 * 360deg)); } 60% { transform: translate(-50%, -50%) rotateZ(calc(100 * 360deg)); } 70% { transform: translate(-50%, -50%) rotateZ(calc(108 * 360deg)); } 80% { transform: translate(-50%, -50%) rotateZ(calc(116 * 360deg)); } 90% { transform: translate(-50%, -50%) rotateZ(calc(120 * 360deg)); } 100% { transform: translate(-50%, -50%) rotateZ(calc(122 * 360deg)); } } /** * File <- Poker Main */ .pokerMainContainer { .pokerPickATableContainer { position: absolute; left: 0; top: 0; width: 100vw; height: 100vh; background-color: #111; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 5rem; .createATable { &>input { margin-bottom: 2rem; padding-left: 4px; padding-right: 4px; font-size: 1.5rem; margin-right: 1rem; border-radius: .5rem; } } &>div:not(.createATable) { &>h3 { margin-bottom: 1rem; } &>div { display: flex; flex-direction: column; align-items: center; gap: 2rem; width: 100vw; max-height: 45vh; padding-block: 2rem; overflow-x: hidden; overflow-y: scroll; &>div { box-shadow: 0 5px 25px #4d99eaaa; width: 60vw; padding: 1rem 3rem; border-radius: .5rem; cursor: pointer; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); place-items: center; transition: all .2s ease-out; &:hover { transform: scale(1.05); box-shadow: 0 10px 35px #4d99eaaa; } } } } } .pokerChairsContainer { .pokerChair { position: absolute; transform: translate(-50%, -50%); width: 110px; aspect-ratio: 1; border-radius: 50%; border: 5px solid #ead24daa; background-color: black; display: grid; place-items: center; font-size: .8rem; &.onTurn { border: 5px dotted #ead24d; background-color: #ead24d55; } &.folded { border: 5px solid rgba(59, 59, 59, 0.667); background-color: rgba(59, 59, 59, 0.667); } &>div { p { margin-block: 2px; } } .pokerPlayerCardsContainer { position: relative; &>div { position: absolute; top: -2vh; transform: translate(-50%, -50%); display: flex; .card { height: 80px; margin-inline: -1rem; position: relative; &:first-child { transform: rotateZ(-5deg); } &:last-child { transform: rotateZ(5deg); } } } } } } .pokerPotContainer { position: absolute; top: 57vh; left: 50vw; transform: translate(-50%, -50%); } .pokerPlayButtonsContainer { position: absolute; top: 62vh; left: 50vw; transform: translate(-50%, -50%); display: flex; justify-content: center; gap: 1rem; button { min-width: 110px; } } .cardsInTheMiddleContainer { position: absolute; top: 45vh; left: 50vw; transform: translate(-50%, -50%); display: flex; justify-content: center; .card { height: 130px; position: relative; margin-inline: 2px; } } .pokerMessagesContainer { position: absolute; top: 5vh; left: 50vw; transform: translateX(-50%); &>p:first-child { font-style: italic; color: #c1fbaa; } &>p:not(:first-child):not(:last-child) { font-size: 1.2rem; margin-top: 1rem; } &>p:last-child { margin-top: .5rem; color: #ccc; } } }