HTML preprocessors can make writing HTML more powerful or convenient. For instance, Markdown is designed to be easier to write and read for text documents and you could write a loop in Pug.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. So you don't have access to higher-up elements like the <html>
tag. If you want to add classes there that can affect the whole document, this is the place to do it.
In CodePen, whatever you write in the HTML editor is what goes within the <body>
tags in a basic HTML5 template. If you need things in the <head>
of the document, put that code here.
The resource you are linking to is using the 'http' protocol, which may not work when the browser is using https.
CSS preprocessors help make authoring CSS easier. All of them offer things like variables and mixins to provide convenient abstractions.
It's a common practice to apply CSS to a page that styles elements such that they are consistent across all browsers. We offer two of the most popular choices: normalize.css and a reset. Or, choose Neither and nothing will be applied.
To get the best cross-browser support, it is a common practice to apply vendor prefixes to CSS properties and values that require them to work. For instance -webkit-
or -moz-
.
We offer two popular choices: Autoprefixer (which processes your CSS server-side) and -prefix-free (which applies prefixes via a script, client-side).
Any URLs added here will be added as <link>
s in order, and before the CSS in the editor. You can use the CSS from another Pen by using its URL and the proper URL extension.
You can apply CSS to your Pen from any stylesheet on the web. Just put a URL to it here and we'll apply it, in the order you have them, before the CSS in the Pen itself.
You can also link to another Pen here (use the .css
URL Extension) and we'll pull the CSS from that Pen and include it. If it's using a matching preprocessor, use the appropriate URL Extension and we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
JavaScript preprocessors can help make authoring JavaScript easier and more convenient.
Babel includes JSX processing.
Any URL's added here will be added as <script>
s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.
You can apply a script from anywhere on the web to your Pen. Just put a URL to it here and we'll add it, in the order you have them, before the JavaScript in the Pen itself.
If the script you link to has the file extension of a preprocessor, we'll attempt to process it before applying.
You can also link to another Pen here, and we'll pull the JavaScript from that Pen and include it. If it's using a matching preprocessor, we'll combine the code before preprocessing, so you can use the linked Pen as a true dependency.
Search for and use JavaScript packages from npm here. By selecting a package, an import
statement will be added to the top of the JavaScript editor for this package.
Using packages here is powered by esm.sh, which makes packages from npm not only available on a CDN, but prepares them for native JavaScript ESM usage.
All packages are different, so refer to their docs for how they work.
If you're using React / ReactDOM, make sure to turn on Babel for the JSX processing.
If active, Pens will autosave every 30 seconds after being saved once.
If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.
If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.
Visit your global Editor Settings.
// Toggable sidebar navigation
// Toggable bet section (close and bet button)
.credits
span.credits__label Credits:
.credits__dribble
a href="https://dribbble.com/shots/7699472-GitBets-Betting-Platform?utm_source=Clipboard_Shot&utm_campaign=ermalength&utm_content=GitBets%20-%20Betting%20Platform&utm_medium=Social_Share" target="_blank"
img height="30" width="30" alt="Dribble" src="https://cdn0.iconfinder.com/data/icons/tuts/256/dribbble.png"
span GitBets by Vlad Ermakov
.credits__ticket
a href="https://codepen.io/Pustelto/pen/YwBZwK" target="_blank"
<svg style="width:24px;height:24px" viewBox="0 0 24 24"><path fill="currentColor" d="M22 10V6C22 4.89 21.1 4 20 4H4C2.9 4 2 4.89 2 6V10C3.11 10 4 10.9 4 12S3.11 14 2 14V18C2 19.1 2.9 20 4 20H20C21.1 20 22 19.1 22 18V14C20.9 14 20 13.1 20 12S20.9 10 22 10M20 8.54C18.81 9.23 18 10.53 18 12S18.81 14.77 20 15.46V18H4V15.46C5.19 14.77 6 13.47 6 12C6 10.5 5.2 9.23 4 8.54L4 6H20V8.54M11 15H13V17H11M11 11H13V13H11M11 7H13V9H11Z" /></svg>
span Ticket cut pattern by Pustelto
.credits__ticket__radius
a href="http://lea.verou.me/2011/03/beveled-corners-negative-border-radius-with-css3-gradients/" target="_blank"
<svg style="width:24px;height:24px" viewBox="0 0 24 24"><path fill="currentColor" d="M4,4A2,2 0 0,0 2,6V10A2,2 0 0,1 4,12A2,2 0 0,1 2,14V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V14A2,2 0 0,1 20,12A2,2 0 0,1 22,10V6A2,2 0 0,0 20,4H4M4,6H20V8.54C18.76,9.25 18,10.57 18,12C18,13.43 18.76,14.75 20,15.46V18H4V15.46C5.24,14.75 6,13.43 6,12C6,10.57 5.24,9.25 4,8.54V6Z" /></svg>
span Ticket intern border-radius by Lea Verou
.credits__ticket__icons
a href="https://materialdesignicons.com/" target="_blank"
<svg style="width:24px;height:24px" viewBox="0 0 24 24"><path fill="currentColor" d="M21,12C21,9.97 20.33,8.09 19,6.38V17.63C20.33,15.97 21,14.09 21,12M17.63,19H6.38C7.06,19.55 7.95,20 9.05,20.41C10.14,20.8 11.13,21 12,21C12.88,21 13.86,20.8 14.95,20.41C16.05,20 16.94,19.55 17.63,19M11,17L7,9V17H11M17,9L13,17H17V9M12,14.53L15.75,7H8.25L12,14.53M17.63,5C15.97,3.67 14.09,3 12,3C9.91,3 8.03,3.67 6.38,5H17.63M5,17.63V6.38C3.67,8.09 3,9.97 3,12C3,14.09 3.67,15.97 5,17.63M23,12C23,15.03 21.94,17.63 19.78,19.78C17.63,21.94 15.03,23 12,23C8.97,23 6.38,21.94 4.22,19.78C2.06,17.63 1,15.03 1,12C1,8.97 2.06,6.38 4.22,4.22C6.38,2.06 8.97,1 12,1C15.03,1 17.63,2.06 19.78,4.22C21.94,6.38 23,8.97 23,12Z" /></svg>
span Material Design Icons
div#app.layout
header.nav__top
nav.nav__top__item.main-navigation
ul.nav
li.nav-item
a.nav-link.active href="" Matches
li.nav-item
a.nav-link href="" Live Score
li.nav-item
a.nav-link href="" Statistics
li.nav-item
a.nav-link href="" Analitics
li.nav-item
a.nav-link href="" Forecasts
.nav__top__item.notifications
a
<svg width="24" height="24" viewBox="0 0 24 24"> <path d="M11.5,22C11.64,22 11.77,22 11.9,21.96C12.55,21.82 13.09,21.38 13.34,20.78C13.44,20.54 13.5,20.27 13.5,20H9.5A2,2 0 0,0 11.5,22M18,10.5C18,7.43 15.86,4.86 13,4.18V3.5A1.5,1.5 0 0,0 11.5,2A1.5,1.5 0 0,0 10,3.5V4.18C7.13,4.86 5,7.43 5,10.5V16L3,18V19H20V18L18,16M19.97,10H21.97C21.82,6.79 20.24,3.97 17.85,2.15L16.42,3.58C18.46,5 19.82,7.35 19.97,10M6.58,3.58L5.15,2.15C2.76,3.97 1.18,6.79 1,10H3C3.18,7.35 4.54,5 6.58,3.58Z" /> </svg>
span.sr-only Notifications
.nav__top__item.user
.user__profile-picture
img src='https://images.unsplash.com/photo-1494790108377-be9c29b29330?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=400&fit=max&ixid=eyJhcHBfaWQiOjE0NTg5fQ' alt='Linette Simmons'
.user__info
p.user__name Linette Simmons
.user__balance
p.user__balance__dollars 1 823.23$
p.user__balance__currency 6 385 PLN
.nav__left(:class="{ opened: leftBarOpened }")
.nav__left__item.nav__left__toggle
button.btn.btn--icon.btn--no-bg @click="leftBarOpened = !leftBarOpened"
span.sr-only Toggle navbar
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M19,13H3V11H19L15,7L16.4,5.6L22.8,12L16.4,18.4L15,17L19,13M3,6H13V8H3V6M13,16V18H3V16H13Z" /></svg>
nav.secondary-navigation(:class="{ opened: leftBarOpened }")
.nav__left__item
ul.nav.nav--vertical
li.nav-item
a.nav-link href="#"
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M13,3V9H21V3M13,21H21V11H13M3,21H11V15H3M3,13H11V3H3V13Z" /></svg>
span Feed
li.nav-item
a.nav-link href="#"
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M2.5,4.5H21.5C22.34,4.5 23,5.15 23,6V17.5C23,18.35 22.34,19 21.5,19H2.5C1.65,19 1,18.35 1,17.5V6C1,5.15 1.65,4.5 2.5,4.5M9.71,8.5V15L15.42,11.7L9.71,8.5M17.25,21H6.65C6.35,21 6.15,20.8 6.15,20.5C6.15,20.2 6.35,20 6.65,20H17.35C17.65,20 17.85,20.2 17.85,20.5C17.85,20.8 17.55,21 17.25,21Z" /></svg>
span Videos
li.nav-item
a.nav-link href="#"
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z" /></svg>
span Favourites
.nav__left__item
ul.nav.nav--vertical
li.nav-item
a.nav-link.active href="#"
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10,10 0 0,0 12,2M12,3C13.76,3 15.4,3.53 16.78,4.41L16.5,5H13L12,5L10.28,4.16L10.63,3.13C11.08,3.05 11.53,3 12,3M9.53,3.38L9.19,4.41L6.63,5.69L5.38,5.94C6.5,4.73 7.92,3.84 9.53,3.38M13,6H16L18.69,9.59L17.44,12.16L14.81,12.78L11.53,8.94L13,6M6.16,6.66L7,10L5.78,13.06L3.22,13.94C3.08,13.31 3,12.67 3,12C3,10.1 3.59,8.36 4.59,6.91L6.16,6.66M20.56,9.22C20.85,10.09 21,11.03 21,12C21,13.44 20.63,14.79 20.03,16H19L18.16,12.66L19.66,9.66L20.56,9.22M8,10H11L13.81,13.28L12,16L8.84,16.78L6.53,13.69L8,10M12,17L15,19L14.13,20.72C13.44,20.88 12.73,21 12,21C10.25,21 8.63,20.5 7.25,19.63L8.41,17.91L12,17M19,17H19.5C18.5,18.5 17,19.67 15.31,20.34L16,19L19,17Z" /></svg>
span Football
li.nav-item
a.nav-link href="#"
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M7.5,7.5C9.17,5.87 11.29,4.69 13.37,4.18C15.46,3.67 17.5,3.83 18.6,4C19.71,4.15 19.87,4.31 20.03,5.41C20.18,6.5 20.33,8.55 19.82,10.63C19.31,12.71 18.13,14.83 16.5,16.5C14.83,18.13 12.71,19.31 10.63,19.82C8.55,20.33 6.5,20.18 5.41,20.03C4.31,19.87 4.15,19.71 4,18.6C3.83,17.5 3.67,15.46 4.18,13.37C4.69,11.29 5.87,9.17 7.5,7.5M7.3,15.79L8.21,16.7L9.42,15.5L10.63,16.7L11.54,15.79L10.34,14.58L12,12.91L13.21,14.12L14.12,13.21L12.91,12L14.58,10.34L15.79,11.54L16.7,10.63L15.5,9.42L16.7,8.21L15.79,7.3L14.58,8.5L13.37,7.3L12.46,8.21L13.66,9.42L12,11.09L10.79,9.88L9.88,10.79L11.09,12L9.42,13.66L8.21,12.46L7.3,13.37L8.5,14.58L7.3,15.79Z" /></svg>
span Rugby
li.nav-item
a.nav-link href="#"
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M12.3,2C11.33,2.03 10.58,2.84 10.61,3.8C10.62,4.04 10.67,4.27 10.77,4.5L11.06,5.14V5.14C11.1,5.27 11.03,5.41 10.89,5.45C10.8,5.5 10.7,5.45 10.63,5.37L10.21,4.82C9.88,4.4 9.38,4.14 8.85,4.13C7.88,4.11 7.08,4.88 7.06,5.84C7.05,6.26 7.19,6.66 7.45,7L7.87,7.5H7.88C7.96,7.63 7.93,7.79 7.82,7.87C7.73,7.94 7.61,7.94 7.53,7.87L7,7.45C6.66,7.19 6.25,7.05 5.84,7.06C4.88,7.08 4.11,7.88 4.13,8.85C4.14,9.38 4.4,9.88 4.82,10.21L5.39,10.65C5.5,10.75 5.5,10.91 5.38,11C5.31,11.07 5.21,11.09 5.12,11.05H5.11L4.5,10.77C4.27,10.68 4.04,10.62 3.8,10.61C2.84,10.58 2.03,11.34 2,12.31C2,13.03 2.4,13.69 3.06,13.97L14.45,19.04L19.04,14.45L13.97,3.06C13.69,2.39 13,1.97 12.3,2M13.13,6.1C13.55,6.09 13.93,6.33 14.09,6.71L17.14,13.55L13.19,9.61L12.26,7.5C11.96,6.87 12.42,6.12 13.13,6.1M9.85,8.85C10.12,8.85 10.37,8.95 10.56,9.15L15.37,13.96C15.77,14.34 15.78,14.97 15.4,15.37C15,15.77 14.38,15.78 13.96,15.37L9.15,10.56C8.75,10.18 8.74,9.54 9.13,9.15C9.32,8.95 9.58,8.85 9.85,8.85M7.13,12.17C7.26,12.17 7.4,12.21 7.5,12.26L9.63,13.2L13.57,17.14L6.71,14.09C5.69,13.65 6.03,12.14 7.13,12.17M20.28,16.04L16.04,20.28L16.89,21.13C17.65,21.88 18.75,22.17 19.78,21.9C20.81,21.62 21.62,20.81 21.9,19.78C22.17,18.75 21.88,17.65 21.13,16.89L20.28,16.04Z" /></svg>
span Badminton
li.nav-item
a.nav-link href="#"
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M12,2A10,10 0 0,1 22,12A10,10 0 0,1 12,22A10,10 0 0,1 2,12A10,10 0 0,1 12,2M13.6,20.35C15.96,18.04 17.69,15.08 18.5,11.76C17.84,11.62 17.18,11.54 16.5,11.5C15.56,15.11 13.41,18.22 10.5,20.37C11,20.45 11.5,20.5 12,20.5C12.55,20.5 13.08,20.45 13.6,20.35M9.23,20.04C12.23,18.07 14.5,15.05 15.46,11.5C14.71,11.55 13.97,11.65 13.27,11.81C12.18,14.89 9.97,17.44 7.13,18.97C7.77,19.42 8.5,19.78 9.23,20.04M20.5,12.37C20.16,12.23 19.81,12.11 19.46,12C18.76,14.9 17.39,17.53 15.54,19.73C18.36,18.44 20.35,15.64 20.5,12.37M3.56,11.04C3.5,11.35 3.5,11.68 3.5,12C3.5,14.5 4.57,16.73 6.27,18.28C6.86,18 7.41,17.66 7.94,17.29C6.08,15.54 4.58,13.41 3.56,11.04M5.33,6.74C4.73,7.5 4.26,8.35 3.95,9.28C4.92,12.13 6.58,14.66 8.74,16.67C9.25,16.24 9.72,15.77 10.15,15.26C7.74,13.03 6,10.08 5.33,6.74M8.04,4.5C7.36,4.85 6.73,5.3 6.18,5.82C6.71,9.21 8.37,12.23 10.77,14.47C11.17,13.91 11.5,13.32 11.82,12.7C9.68,10.56 8.28,7.69 8.04,4.5M19.96,9.03C18.7,8.68 17.37,8.5 16,8.5C14.1,8.5 12.28,8.85 10.61,9.5C10.96,10.1 11.35,10.67 11.8,11.2C13.12,10.75 14.53,10.5 16,10.5C17.57,10.5 19.08,10.78 20.47,11.29C20.4,10.5 20.23,9.74 19.96,9.03M17.54,5.57C17.03,5.5 16.5,5.5 16,5.5C13.69,5.5 11.47,5.94 9.44,6.73C9.62,7.38 9.86,8 10.14,8.61C11.96,7.89 13.93,7.5 16,7.5C17.18,7.5 18.32,7.63 19.42,7.87C18.93,7 18.29,6.21 17.54,5.57M16,4.5C14.79,3.87 13.44,3.5 12,3.5C10.95,3.5 9.94,3.7 9,4.05C9.04,4.63 9.11,5.2 9.21,5.75C11.31,4.95 13.6,4.5 16,4.5Z" /></svg>
span Volleyball
li.nav-item
a.nav-link href="#"
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M18.5,14C19.9,14 21,15.1 21,16.5C21,17.9 19.9,19 18.5,19C17.1,19 16,17.9 16,16.5C16,15.1 17.1,14 18.5,14M7,15C7,15 8,16 8,17V20.5C8,21.3 8.7,22 9.5,22C10.3,22 11,21.3 11,20.5V17C11,16 12,15 12,15H7M8,14H11C11,14 16,14 16,9C16,4 12,2 9.5,2C7,2 3,4 3,9C3,14 8,14 8,14Z" /></svg>
span Table Tennis
li.nav-item
a.nav-link href="#"
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M6,7H18A5,5 0 0,1 23,12A5,5 0 0,1 18,17C16.36,17 14.91,16.21 14,15H10C9.09,16.21 7.64,17 6,17A5,5 0 0,1 1,12A5,5 0 0,1 6,7M19.75,9.5A1.25,1.25 0 0,0 18.5,10.75A1.25,1.25 0 0,0 19.75,12A1.25,1.25 0 0,0 21,10.75A1.25,1.25 0 0,0 19.75,9.5M17.25,12A1.25,1.25 0 0,0 16,13.25A1.25,1.25 0 0,0 17.25,14.5A1.25,1.25 0 0,0 18.5,13.25A1.25,1.25 0 0,0 17.25,12M5,9V11H3V13H5V15H7V13H9V11H7V9H5Z" /></svg>
span E-sport
li.nav-item
a.nav-link href="#"
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12C22,10.84 21.79,9.69 21.39,8.61L19.79,10.21C19.93,10.8 20,11.4 20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.6,4 13.2,4.07 13.79,4.21L15.4,2.6C14.31,2.21 13.16,2 12,2M19,2L15,6V7.5L12.45,10.05C12.3,10 12.15,10 12,10A2,2 0 0,0 10,12A2,2 0 0,0 12,14A2,2 0 0,0 14,12C14,11.85 14,11.7 13.95,11.55L16.5,9H18L22,5H19V2M12,6A6,6 0 0,0 6,12A6,6 0 0,0 12,18A6,6 0 0,0 18,12H16A4,4 0 0,1 12,16A4,4 0 0,1 8,12A4,4 0 0,1 12,8V6Z" /></svg>
span Archery
li.nav-item
a.nav-link href="#"
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M15.83 10.43A6.93 6.93 0 0 1 18.39 14.86A6.64 6.64 0 0 1 17.5 19.5L15.78 18.5A5 5 0 0 0 16.44 16A5.22 5.22 0 0 0 15.46 13.06L9.18 23.93L7.44 22.95L10.44 17.75L8.71 16.76L7.21 19.34L5.5 18.36L10.63 9.45A7 7 0 0 1 8.8 5.46A6.91 6.91 0 0 1 9.69 1.1L11.43 2.13A4.84 4.84 0 0 0 10.91 5.9A4.74 4.74 0 0 0 13.21 8.93M16 5A2 2 0 1 0 18 7A2 2 0 0 0 16 5M13.5 1A1.5 1.5 0 1 0 15 2.5A1.5 1.5 0 0 0 13.5 1Z" /></svg>
span Handball
li.nav-item
a.nav-link href="#"
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M2.34,14.63C2.94,14.41 3.56,14.3 4.22,14.3C5.56,14.3 6.73,14.72 7.73,15.56L4.59,18.7C3.53,17.5 2.78,16.13 2.34,14.63M15.56,9.8C17.53,11.27 19.66,11.63 21.94,10.88C21.97,11.09 22,11.47 22,12C22,13.03 21.75,14.18 21.28,15.45C20.81,16.71 20.23,17.73 19.55,18.5L13.22,12.19L15.56,9.8M8.77,16.64C9.83,18.17 10.05,19.84 9.42,21.66C8,21.25 6.73,20.61 5.67,19.73L8.77,16.64M12.19,13.22L18.5,19.55C16.33,21.45 13.78,22.25 10.88,21.94C11.09,21.28 11.2,20.56 11.2,19.78C11.2,19.16 11.06,18.43 10.78,17.6C10.5,16.77 10.17,16.09 9.8,15.56L12.19,13.22M8.81,14.5C7.88,13.67 6.8,13.15 5.58,12.91C4.36,12.68 3.19,12.75 2.06,13.13C2.03,12.91 2,12.53 2,12C2,10.97 2.25,9.82 2.72,8.55C3.19,7.29 3.77,6.27 4.45,5.5L11.11,12.19L8.81,14.5M15.56,7.73C14.22,6.08 13.91,4.28 14.63,2.34C15.25,2.5 15.96,2.8 16.76,3.26C17.55,3.71 18.2,4.16 18.7,4.59L15.56,7.73M21.66,9.38C21.06,9.59 20.44,9.7 19.78,9.7C18.69,9.7 17.64,9.38 16.64,8.72L19.73,5.67C20.61,6.77 21.25,8 21.66,9.38M12.19,11.11L5.5,4.45C7.67,2.55 10.22,1.75 13.13,2.06C12.91,2.72 12.8,3.44 12.8,4.22C12.8,4.94 12.96,5.75 13.29,6.66C13.62,7.56 14,8.28 14.5,8.81L12.19,11.11Z" /></svg>
span Basketball
button.btn.btn--icon.btn--primary.btn--round-lg.btn--add
<svg viewBox="0 0 24 24"><path fill="currentColor" d="M17,14H19V17H22V19H19V22H17V19H14V17H17V14M12,17V15H7V17H12M17,11H7V13H14.69C13.07,14.07 12,15.91 12,18C12,19.09 12.29,20.12 12.8,21H5C3.89,21 3,20.1 3,19V5C3,3.89 3.89,3 5,3H19A2,2 0 0,1 21,5V12.8C20.12,12.29 19.09,12 18,12L17,12.08V11M17,9V7H7V9H17Z" /></svg>
main.dashboard
.col-left
section.featured-live
h2.sr-only Featured live match
.card
.card__body
.featured-live__title
.featured-live__stage
h3 UEFA Champions League
small Groupe stage - Matchday 2 of 6
span.tag.tag--red.tag--icon
<svg width="24" height="24" viewBox="0 0 24 24"> <path d="M17,10.5V7A1,1 0 0,0 16,6H4A1,1 0 0,0 3,7V17A1,1 0 0,0 4,18H16A1,1 0 0,0 17,17V13.5L21,17.5V6.5L17,10.5Z" /> </svg>
| Live
.featured-live__score.score
p.score__team.score__team--home
img src="https://ssl.gstatic.com/onebox/media/sports/logos/paYnEE8hcrP96neHRNofhQ_96x96.png"
span Barcelona
.score__info
p.score__result
span.score__winner 2
span.score__separator = ":"
span.score__loser 0
p.score__time 36'
p.score__team.score__team--away
img src="https://ssl.gstatic.com/onebox/media/sports/logos/fhBITrIlbQxhVB6IjxUO6Q_96x96.png"
span Chelsea
div.featured-live__actions
button.btn.btn--icon
span.sr-only Fave
<svg width="24" height="24" viewBox="0 0 24 24"> <path d="M12,17.27L18.18,21L16.54,13.97L22,9.24L14.81,8.62L12,2L9.19,8.62L2,9.24L7.45,13.97L5.82,21L12,17.27Z" /> </svg>
button.btn.btn--primary @click="betOpened = true"
| Bet
a.btn href="#" Watch
div.card__footer.card__footer--link
a href="#" Match details
section.leagues
h2
| Football leagues
button.btn.btn--no-bg.btn--icon.btn--round-lg type="button"
<svg style="width:24px;height:24px" viewBox="0 0 24 24"><path fill="currentColor" d="M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z" /></svg>
.card
.card__item.league
img.league__logo src="http://www.foot-anglais.com/wp-content/uploads/sites/5/2015/11/logo-premier-league.png" alt=""/
.league__title
h3 Premier League
small England
span.league__number 29
.card__item.league
img.league__logo src="https://media.glassdoor.com/sqll/2045817/laliga-squarelogo-1567593025336.png" alt=""/
.league__title
h3 Laliga
small Spain
span.league__number 13
.card__item.league
img.league__logo src="https://www.tonicradio.fr/wp-content/uploads/2019/06/Ligue1.svg_.png" alt=""/
.league__title
h3 Ligue 1
small France
span.league__number 20
.card__item.league
img.league__logo src="https://seeklogo.com/images/S/serie-a-logo-BED7334CA4-seeklogo.com.png" alt=""/
.league__title
h3 Seria A
small Italia
span.league__number 20
.card__item.league
img.league__logo src="https://upload.wikimedia.org/wikipedia/fr/thumb/0/0a/Bundesliga-logo.svg/1200px-Bundesliga-logo.svg.png" alt=""/
.league__title
h3 Bundesliga
small Germany
span.league__number 17
.col-right
section.hero
.hero__img
img src="https://www.footyrenders.com/render/kylian-mbappe-48.png" alt=""/
h2.hero__title Win $100 000 with Free Prediction
p.hero__text Predict the first goal of two different teams in two selected matches and win up to $100 000.
a.hero__cta.btn.btn--secondary More details
section.matches
h2
| Matches
button.btn.btn--no-bg.btn--icon.btn--round-lg type="button"
<svg style="width:24px;height:24px" viewBox="0 0 24 24"><path fill="currentColor" d="M16,12A2,2 0 0,1 18,10A2,2 0 0,1 20,12A2,2 0 0,1 18,14A2,2 0 0,1 16,12M10,12A2,2 0 0,1 12,10A2,2 0 0,1 14,12A2,2 0 0,1 12,14A2,2 0 0,1 10,12M4,12A2,2 0 0,1 6,10A2,2 0 0,1 8,12A2,2 0 0,1 6,14A2,2 0 0,1 4,12Z" /></svg>
.card
.card__header.matches__nav
ul.nav
li.nav-item
a.nav-link.active All matches
li.nav-item
a.nav-link Live Play
li.nav-item
a.nav-link Completed
li.nav-item
a.nav-link Scheduled
a.matches__agenda.btn--icon
span.sr-only Agenda
<svg style="width:24px;height:24px" viewBox="0 0 24 24">
<path fill="currentColor" d="M19,19H5V8H19M16,1V3H8V1H6V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V5C21,3.89 20.1,3 19,3H18V1" />
</svg>
.card__body.matches__data
table
thead
tr
th Date
th Match
th 1x
th X
th 2x
th
span.sr-only Stats
tbody
tr
td
span.matches__time.matches__time--live 8:00
span.tag.tag--red.tag--icon
<svg width="6" height="6" viewBox="0 0 8 8">
<circle fill="currentColor" cx="4" cy="4" r="4"/>
</svg>
| Live
td
.score.score--vertical
.score__team.score__team--vertical
span Real Valladolid
img src="https://ssl.gstatic.com/onebox/media/sports/logos/HlIrXZRP96tv0H1uiiN0Jg_48x48.png" alt=""/
p.score__result.score__result--vertical
span.score__goals 3
span.score__separator = ":"
span.score__goals 2
.score__team.score__team--vertical
img src="https://ssl.gstatic.com/onebox/media/sports/logos/WKH7Ak5cYD6Qm1EEqXzmVw_48x48.png" alt=""/
span Villareal
td
span.tag.tag--green.rating.rating--up 1.63
td
span.tag.rating 2.13
td
span.tag.rating 1.82
td
a.matches__stats.btn.btn--icon
span.sr-only Stats
<svg width="24" height="24" viewBox="0 0 24 24"> <path d="M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z" /> </svg>
tr
td
span.matches__time.matches__time--live 9:30
span.tag.tag--red.tag--icon
<svg width="6" height="6" viewBox="0 0 8 8">
<circle fill="currentColor" cx="4" cy="4" r="4"/>
</svg>
| Live
td
.score.score--vertical
.score__team.score__team--vertical
span Qarabag FK
img src="https://ssl.gstatic.com/onebox/media/sports/logos/k-Mu0SCwDQG4SFQBxmettA_48x48.png" alt=""/
p.score__result.score__result--vertical
span.score__goals 1
span.score__separator = ":"
span.score__goals 0
.score__team.score__team--vertical
img src="https://ssl.gstatic.com/onebox/media/sports/logos/RnYaRw_k05CV-qhVouSEMA_48x48.png" alt=""/
span NK Maribor
td
span.tag.tag--green.rating.rating--up 1.22
td
span.tag.rating 1.74
td
span.tag.tag--red.rating.rating--down 2.55
td
a.matches__stats.btn.btn--icon
span.sr-only Stats
<svg width="24" height="24" viewBox="0 0 24 24"> <path d="M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z" /> </svg>
tr
td
span.matches__time 10:45
span.tag.tag--icon
<svg width="6" height="6" viewBox="0 0 8 8">
<circle fill="#613cea" cx="4" cy="4" r="4"/>
</svg>
| Today
td
.score.score--vertical
.score__team.score__team--vertical
span Arsenal
img src="https://ssl.gstatic.com/onebox/media/sports/logos/4us2nCgl6kgZc0t3hpW75Q_48x48.png" alt=""/
p.score__result.score__result--vertical.score__result--not-started
span.score__goals -
span.score__separator = ":"
span.score__goals -
.score__team.score__team--vertical
img src="https://ssl.gstatic.com/onebox/media/sports/logos/fhBITrIlbQxhVB6IjxUO6Q_48x48.png" alt=""/
span Chelsea
td
span.tag.rating 5.37
td
span.tag.rating 1.10
td
span.tag.rating 1.86
td
a.matches__stats.btn.btn--icon
span.sr-only Stats
<svg width="24" height="24" viewBox="0 0 24 24"> <path d="M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z" /> </svg>
tr
td
span.matches__time 12:00
span.tag.tag--icon
<svg width="6" height="6" viewBox="0 0 8 8">
<circle fill="#efefef" cx="4" cy="4" r="4"/>
</svg>
| Canceled
td
.score.score--vertical
.score__team.score__team--vertical
span Everton
img src="https://ssl.gstatic.com/onebox/media/sports/logos/C3J47ea36cMBc4XPbp9aaA_48x48.png" alt=""/
p.score__result.score__result--vertical.score__result--not-started
span.score__goals -
span.score__separator = ":"
span.score__goals -
.score__team.score__team--vertical
img src="https://ssl.gstatic.com/onebox/media/sports/logos/0iShHhASp5q1SL4JhtwJiw_48x48.png" alt=""/
span Liverpool
td
span.tag.tag--green.rating.rating--up 1.63
td
span.tag.rating 2.13
td
span.tag.tag--red.rating.rating--down 1.82
td
a.matches__stats.btn.btn--icon
span.sr-only Stats
<svg width="24" height="24" viewBox="0 0 24 24"> <path d="M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z" /> </svg>
tr
td
span.matches__time -- : --
span.tag.tag--icon
<svg width="6" height="6" viewBox="0 0 8 8">
<circle fill="orange" cx="4" cy="4" r="4"/>
</svg>
| Completed
td
.score.score--vertical
.score__team.score__team--vertical
span Villareal
img src="https://ssl.gstatic.com/onebox/media/sports/logos/WKH7Ak5cYD6Qm1EEqXzmVw_48x48.png" alt=""/
p.score__result.score__result--vertical.score__result--not-started
span.score__goals -
span.score__separator = ":"
span.score__goals -
.score__team.score__team--vertical
img src="https://ssl.gstatic.com/onebox/media/sports/logos/RnYaRw_k05CV-qhVouSEMA_48x48.png" alt=""/
span NK Maribor
td
span.tag.tag--green.rating.rating--up 1.63
td
span.tag.rating 2.13
td
span.tag.tag--red.rating.rating--down 1.82
td
a.matches__stats.btn.btn--icon
span.sr-only Stats
<svg width="24" height="24" viewBox="0 0 24 24"> <path d="M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z" /> </svg>
tr
td
span.matches__time 12:20
span.tag.tag--icon
<svg width="6" height="6" viewBox="0 0 8 8">
<circle fill="#613cea" cx="4" cy="4" r="4"/>
</svg>
| Today
td
.score.score--vertical
.score__team.score__team--vertical
span Girona FC
img src="https://ssl.gstatic.com/onebox/media/sports/logos/Tyy5rCdiLCw2_8z04DM-GQ_48x48.png" alt=""/
p.score__result.score__result--vertical.score__result--not-started
span.score__goals -
span.score__separator = ":"
span.score__goals -
.score__team.score__team--vertical
img src="https://ssl.gstatic.com/onebox/media/sports/logos/Th4fAVAZeCJWRcKoLW7koA_48x48.png" alt=""/
span Real Madrid
td
span.tag.tag--green.rating.rating--up 1.63
td
span.tag.rating 2.13
td
span.tag.tag--red.rating.rating--down 1.82
td
a.matches__stats.btn.btn--icon
span.sr-only Stats
<svg width="24" height="24" viewBox="0 0 24 24"> <path d="M22,21H2V3H4V19H6V10H10V19H12V6H16V19H18V14H22V21Z" /> </svg>
.invoice(:class="{ opened: betOpened }")
.invoice__wrapper
h2.invoice__title
| Invoice for payment
a.close href="#" @click.prevent="betOpened = !betOpened"
span.sr-only Close
<svg style="width:24px;height:24px" viewBox="0 0 24 24">
<path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z" />
</svg>
article
section.invoice__section.invoice__type
label.switch__label
input.switch__input.sr-only type='checkbox' name="simple"
span.switch__option Simple
.switch
span.switch__option Combo
section.invoice__section.invoice__bet.bet
p.bet__match
span.bet__team Barcelona
span.bet__team__separator vs
span.bet__team.bet__team--loser Chelsea
btn.btn.btn--round
span.sr-only Delete
<svg style="width:24px;height:24px" viewBox="0 0 24 24">
<path fill="currentColor" d="M19,6.41L17.59,5L12,10.59L6.41,5L5,6.41L10.59,12L5,17.59L6.41,19L12,13.41L17.59,19L19,17.59L13.41,12L19,6.41Z" />
</svg>
.bet__outcome
small.bet__outcome__state Winner
p.bet__outcome__rating
span Barcelona
span.tag.rating.rating--primary 1.22
section.invoice__section.invoice__payment.payment
.invoice__payment__amount.toggle-buttons
input.toggle.toggle--button.sr-only type="radio" id="toggle-1" name="amount" value="1"
label.btn.btn--toggle for="toggle-1" 1$
input.toggle.toggle--button.sr-only type="radio" id="toggle-2" name="amount" value="2" checked="checked"
label.btn.btn--toggle for="toggle-2" 2$
input.toggle.toggle--button.sr-only type="radio" id="toggle-5" name="amount" value="5"
label.btn.btn--toggle for="toggle-5" 5$
label.sr-only
| Any amount
input type="text" placeholder="20$"
.invoice__payment__options
h4.invoice__payment__options__title
| More options
btn.btn.btn--round
span.sr-only More information
<svg style="width:24px;height:24px" viewBox="0 0 24 24">
<path fill="currentColor" d="M13.5,4A1.5,1.5 0 0,0 12,5.5A1.5,1.5 0 0,0 13.5,7A1.5,1.5 0 0,0 15,5.5A1.5,1.5 0 0,0 13.5,4M13.14,8.77C11.95,8.87 8.7,11.46 8.7,11.46C8.5,11.61 8.56,11.6 8.72,11.88C8.88,12.15 8.86,12.17 9.05,12.04C9.25,11.91 9.58,11.7 10.13,11.36C12.25,10 10.47,13.14 9.56,18.43C9.2,21.05 11.56,19.7 12.17,19.3C12.77,18.91 14.38,17.8 14.54,17.69C14.76,17.54 14.6,17.42 14.43,17.17C14.31,17 14.19,17.12 14.19,17.12C13.54,17.55 12.35,18.45 12.19,17.88C12,17.31 13.22,13.4 13.89,10.71C14,10.07 14.3,8.67 13.14,8.77Z" />
</svg>
input.sr-only id="rules-agreement" type="checkbox" checked="checked"
label.checkbox for="rules-agreement" Accept rules of the agreement
input.sr-only id="odds-agreement" type="checkbox"
label.checkbox for="odds-agreement" Accept any odds changes
.invoice__payment__recap
.invoice__payment__recap__rating
h4.invoice__payment__recap__title Total Rate
span.tag.rating.rating--primary 1.22
.invoice__payment__recap__winnings
h4.invoice__payment__recap__title Possible winnings
p.invoice__payment__recap__winnings__amount 735, 38$
section.invoice__section.invoice__submit
button.btn.btn--primary
| Place a bet
.invoice__assistance
button.invoice__assistance__button.btn.btn--secondary.btn--icon type="button"
<svg width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" d="M12,1C7,1 3,5 3,10V17A3,3 0 0,0 6,20H9V12H5V10A7,7 0 0,1 12,3A7,7 0 0,1 19,10V12H15V20H19V21H12V23H18A3,3 0 0,0 21,20V10C21,5 16.97,1 12,1Z" /></svg>
| Technical Support 24/7
$black: #132536;
$gray_light: #efefef;
$gray_medium: #8b939a;
$gray: #a3a9b0;
$purple: #613cea;
$red: #e1223c;
$green: #52b49c;
$border_gray_light: 1px solid $gray_light;
$bg_gray: #f3f5f9;
$font-size: calc(0.7em + 0.3vw);
$main_font: "Roboto", sans-serif;
@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500;700;900&display=swap");
:root {
font-size: $font-size;
}
body {
font-family: $main-font;
color: $black;
}
.layout {
display: grid;
grid-template-columns: minmax(5.875rem, auto) 1fr auto;
grid-template-rows: auto 1fr;
grid-template-areas:
"sidebar navbar navbar"
"sidebar main invoice";
}
.nav {
&__top {
grid-area: navbar;
display: flex;
align-items: center;
border-bottom: 1px solid $gray_light;
padding: 1rem 0;
&__item {
padding: 0 1rem;
font-size: 1.15rem;
&.main-navigation {
flex: 1;
}
&:not(:first-child) {
border-left: 1px solid $gray_light;
}
}
}
&__left {
grid-area: sidebar;
display: flex;
flex-direction: column;
border-right: 1px solid $gray_light;
padding: 0 1rem;
overflow: hidden;
&__item {
padding: 1rem 0;
&:not(:last-child) {
border-bottom: $border_gray_light;
}
}
&__toggle {
button {
margin-left: 0.3rem;
margin-top: 0.3rem;
font-weight: normal;
svg {
width: 27px;
transition: transform 0.3s;
}
}
}
.btn--add {
margin: 2rem auto;
}
&.opened {
.nav__left__toggle {
button {
svg {
transform: rotate(180deg);
}
}
}
}
}
}
.nav {
margin: 0;
padding: 0;
list-style: none;
display: flex;
align-items: center;
.nav-link {
padding: 0.75rem 1rem;
color: $gray_medium;
display: inline-block;
transition: color 0.3s;
text-decoration: none;
&.active {
color: $purple;
font-weight: 500;
}
&:hover {
color: rgba($purple, 0.7);
}
}
&--vertical {
flex-direction: column;
}
}
.main-navigation {
.nav-link {
font-weight: 500;
}
.active {
position: relative;
color: inherit;
font-weight: bold;
&:before {
content: "";
display: inline-block;
width: 50%;
border-top: 4px solid $purple;
border-radius: 2px;
position: absolute;
top: -1.3rem;
left: 50%;
transform: translateX(-50%);
}
}
}
.notifications {
padding-top: 0.7rem;
padding-bottom: 0.7rem;
fill: $gray;
}
.user {
display: flex;
&__profile-picture {
border-radius: 50%;
width: 50px;
height: 50px;
overflow: hidden;
img {
object-fit: cover;
width: 100%;
height: 100%;
}
}
&__info {
margin: 0.2rem 0 0 0.75rem;
}
&__name {
font-size: 0.875rem;
margin: 0 0 0.2em;
font-weight: 500;
color: darken($gray, 25%);
}
&__balance {
display: flex;
align-items: baseline;
&__dollars {
font-size: 1.15rem;
font-weight: 500;
margin: 0 0.5rem 0 0;
}
&__currency {
font-size: 0.875rem;
color: $gray;
margin: 0;
}
}
}
.secondary-navigation {
transition: 0.3s;
width: 3.8125rem;
.nav {
align-items: flex-start;
}
.nav-link {
display: flex;
align-items: center;
color: lighten($gray, 17%);
text-decoration: none;
white-space: nowrap;
svg {
width: 27px;
}
span {
padding-left: 3rem;
transition: padding-left 0.3s;
}
}
.active {
position: relative;
color: $purple;
&::before {
content: "";
display: block;
height: 120%;
border-right: 3px solid $purple;
border-radius: 6px;
position: absolute;
top: 50%;
left: -1rem;
transform: translateY(-50%);
}
}
&.opened {
width: 200px;
.nav-link span {
padding-left: 1rem;
}
}
}
.dashboard {
display: grid;
grid-area: main;
grid-template-columns: auto 1fr;
grid-gap: 2rem;
grid-template-areas: "col-left col-right";
padding: 2rem;
h2 {
margin-top: 2rem;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 1.1rem;
.btn {
padding-top: 0.5rem;
padding-bottom: 0.5rem;
line-height: 1;
color: $gray;
}
}
}
.card {
border: $border_gray_light;
border-radius: 10px;
> * {
padding: 2rem;
}
&__header {
border-bottom: $border_gray_light;
}
&__footer {
border-top: $border_gray_light;
&--link {
padding: 0;
a {
display: block;
padding: 1.5rem 1.75rem;
text-align: center;
color: $gray;
text-decoration: none;
border-radius: 0 0 10px 10px;
&:hover {
color: $purple;
text-decoration: underline;
font-weight: 600;
}
}
}
}
&__item {
padding: 1.5rem 2rem;
&:not(:last-child) {
border-bottom: $border_gray_light;
}
}
}
.btn {
display: inline-block;
padding: 0.75rem 1.5rem;
line-height: 1.5;
border: 0;
background-color: $gray_light;
border-radius: 7px;
font-weight: 500;
color: $gray;
text-decoration: none;
text-align: center;
cursor: pointer;
transition: 0.3s;
&:hover:not(.btn--primary):not(.btn--secondary) {
background-color: darken($gray_light, 10%);
color: darken($gray, 10%);
}
&--primary {
background-color: $purple;
color: white;
}
&--secondary {
background-color: white;
color: $purple;
}
&--primary,
&--secondary {
transition: transform 0.3s, box-shadow 0.3s;
&:hover {
transform: translateY(-3px);
box-shadow: 0 3px 6px rgba(darken($purple, 10%), 0.16);
}
}
&--icon {
padding: 0.6rem 0.8rem;
svg {
width: 20px;
height: 25px;
stroke: currentColor;
fill: currentColor;
vertical-align: middle;
}
}
&--toggle {
border: 1px solid darken($gray_light, 5%);
padding: 0.5rem 0.65rem;
}
&--round {
display: flex;
justify-content: center;
align-items: center;
width: 0.875rem;
height: 0.875rem;
padding: 0;
background-color: $gray;
color: white;
svg {
width: 50%;
height: 90%;
}
}
&--round-lg {
@extend .btn--round;
width: 2.5rem;
height: 2.5rem;
border-radius: 50%;
}
&--add {
background-color: $purple;
}
&--no-bg {
background-color: rgba(0, 0, 0, 0);
}
}
.featured-live {
&__title {
display: flex;
justify-content: space-between;
align-items: center;
}
&__stage {
margin-right: 1.5rem;
h3 {
font-size: 1rem;
margin: 0 0 0.15rem;
}
small {
color: $gray_medium;
}
}
&__score {
margin: 1rem 0 0.5rem;
}
&__actions {
display: flex;
justify-content: space-between;
> *:not(:last-child) {
margin-right: 0.5rem;
}
> *:not(:first-child) {
flex: 1;
}
}
}
.tag {
display: inline-flex;
align-items: center;
border-radius: 5px;
font-weight: 500;
padding: 0.5rem 0.75rem;
color: $gray;
&--red {
color: $red;
background-color: rgba($red, 0.2);
}
&--green {
color: $green;
background-color: rgba($green, 0.2);
}
&--icon {
svg {
fill: currentColor;
margin-right: 0.3rem;
}
}
}
.rating {
border: 1px solid rgba($gray, 0.1);
padding: 0.5em 0.8em;
vertical-align: middle;
position: relative;
&--primary {
color: white;
background-color: $purple;
}
&--up {
border-color: rgba($green, 0.1);
&:before {
border-bottom: 6px solid;
top: -0.375rem;
transform: translate(-50%, -100%);
}
}
&--down {
border-color: rgba($red, 0.1);
&:before {
border-top: 6px solid;
bottom: -0.375rem;
transform: translate(-50%, 100%);
}
}
&--up,
&--down {
&:before {
content: "";
width: 0;
height: 0;
border-left: 4px solid transparent;
border-right: 4px solid transparent;
position: absolute;
left: 50%;
}
}
&:not([class*="--"]) {
background-color: rgba($gray, 0.1);
}
}
.close {
color: inherit;
display: contents;
}
.score {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
&--vertical {
justify-content: flex-start;
}
&__team {
text-align: center;
span {
display: block;
font-weight: 500;
padding-top: 0.25rem;
}
img {
width: 40px;
}
&--vertical {
display: flex;
align-items: center;
flex: 1;
&:first-child {
justify-content: flex-end;
}
span {
white-space: nowrap;
font-size: inherit;
}
img {
width: 32px;
margin: 0 0.5rem;
}
}
}
&__info {
display: flex;
flex-wrap: wrap;
justify-content: center;
align-items: center;
padding: 0 1rem;
margin: 1rem 0;
p {
margin: 0;
}
}
&__result {
text-align: center;
width: 100%;
font-weight: 900;
font-size: 1.75rem;
margin: 0;
letter-spacing: 0.4em;
&--not-started {
color: $gray;
}
&--vertical {
letter-spacing: 0.2em;
font-size: inherit;
flex: 0 0 auto;
width: auto;
}
}
&__time {
padding-top: 0.5rem;
color: $gray;
}
&__separator {
color: $gray;
}
&__loser {
color: $gray;
}
}
.league {
display: flex;
align-items: center;
&__logo {
width: 35px;
height: auto;
align-self: flex-start;
margin-right: 0.75rem;
}
&__title {
h3 {
margin: 0 0 0.25rem;
font-size: 1rem;
}
small {
color: $gray;
}
}
&__number {
margin-left: auto;
color: lighten($gray_medium, 25%);
font-size: 1.15rem;
}
}
.hero {
background-color: $purple;
padding: 2rem;
border-radius: 10px;
position: relative;
&__title {
color: white;
margin: 0 0 0.25rem !important;
font-weight: 400;
}
&__text {
color: rgba(white, 0.7);
font-weight: 300;
line-height: 1.7;
margin-top: 0;
max-width: 58%;
}
&__cta {
padding-left: 3rem;
padding-right: 3rem;
text-transform: uppercase;
font-size: 0.875rem;
}
&__img {
width: 40%;
max-width: 350px;
position: absolute;
overflow: hidden;
height: calc(110%);
top: -10%;
right: 2rem;
img {
width: 100%;
height: auto;
}
}
}
.matches {
.nav-item {
&:first-child {
.nav-link {
padding-left: 0;
}
}
.nav-link {
padding-top: 0;
padding-bottom: 0;
}
}
&__nav {
display: flex;
justify-content: space-between;
padding-top: 1rem;
padding-bottom: 1rem;
}
&__agenda {
color: $gray;
padding: 0;
}
&__data {
padding: 0;
}
&__time {
color: darken($gray, 20%);
margin-right: 0.5rem;
&--live {
margin-right: 1rem;
}
}
&__stats {
padding: 0.4rem 0.5rem;
svg {
width: 15px;
height: 15px;
}
}
table {
border-collapse: collapse;
width: 100%;
font-size: 0.825rem;
text-align: center;
font-weight: 500;
}
thead {
background-color: rgba($gray_medium, 0.05);
color: $gray;
}
tbody {
tr:last-child {
border: 0;
}
}
th {
font-weight: 500;
}
tr {
border-bottom: 1px solid $gray_light;
}
td,
th {
padding: 1rem 0.25rem;
&:first-child {
padding-left: 2rem;
text-align: left;
white-space: nowrap;
}
&:nth-child(2) {
width: 100%;
}
&:last-child {
padding-right: 2rem;
}
}
}
.switch {
border-radius: 1rem;
border: 1px solid darken($gray_light, 10%);
width: 2.5rem;
background-color: $gray_light;
padding: 0.25rem;
line-height: 1;
&:before {
content: "";
display: block;
border-radius: 50%;
background-color: $purple;
height: 1rem;
width: 1rem;
transition: transform 0.3s ease;
}
&__label {
display: flex;
justify-content: space-between;
align-items: center;
cursor: pointer;
}
&__option {
font-weight: bold;
transition: color 0.3s ease;
}
&__input:not(:checked) {
& ~ span:first-of-type {
color: $black;
}
& ~ span:last-of-type {
color: $gray;
}
}
&__input:checked {
& ~ span:last-of-type {
color: $black;
}
& ~ span:first-of-type {
color: $gray;
}
& ~ .switch::before {
transform: translateX(1.5rem);
}
}
}
.toggle {
&-buttons {
label.btn.btn--toggle {
&:hover {
color: $purple;
background-color: rgba($purple, 0.2);
border-color: rgba($purple, 0.3);
}
}
}
&--button {
&:checked + label {
color: $purple;
background-color: rgba($purple, 0.1);
border-color: rgba($purple, 0.5);
}
}
}
.checkbox {
display: block;
padding-left: 1.5rem;
position: relative;
margin-bottom: 1rem;
&::before {
content: "";
display: block;
background-color: $gray_light;
border: 1px solid darken($gray_light, 10%);
width: 1rem;
height: 1rem;
border-radius: 5px;
position: absolute;
top: -0.1rem;
left: 0rem;
}
&::after {
content: "✓";
text-align: center;
color: white;
font-size: 0.875rem;
display: block;
background: $purple;
border: 1px solid $purple;
width: 1rem;
height: 1rem;
border-radius: 5px;
position: absolute;
top: -0.1rem;
left: 0;
opacity: 0;
transition: opacity 0.3s;
}
}
input {
&[type="text"] {
border: 1px solid darken($gray_light, 10%);
border-radius: 7px;
padding: 0.25rem 0.5rem;
&::placeholder {
font-weight: 500;
color: $gray;
font-family: $main-font;
}
}
&[type="checkbox"] {
&:checked + .checkbox::after {
opacity: 1;
}
}
}
.bet {
&__match {
margin: 0 0 0.5rem;
display: flex;
align-items: center;
.btn {
margin-left: auto;
}
}
&__team {
font-weight: bold;
&__separator {
color: $gray_medium;
padding: 0.5rem;
}
}
&__outcome {
&__state {
color: lighten($gray, 15%);
}
&__rating {
display: flex;
justify-content: space-between;
align-items: center;
margin: 0.5rem 0 0;
background-color: rgba($purple, 0.1);
padding: 0.5rem 0.5rem 0.5rem 1rem;
border-radius: 5px;
color: $purple;
font-weight: bold;
.rating {
font-size: 0.7rem;
font-weight: normal;
}
}
}
}
.invoice {
grid-area: invoice;
background-color: $bg_gray;
font-size: 0.875rem;
width: 0;
overflow: hidden;
transition: width 0.3s;
&__wrapper {
width: 20rem;
padding: 1.2rem 1.5rem 2.5rem;
border-left: 1px solid $gray_light;
transform: translate(0, 0); // remove overflow wizardery
}
&.opened {
width: 23rem;
}
article {
filter: drop-shadow(0 0px 7px rgba($gray, 0.3));
}
&__section {
--bg-color: white;
padding: 1.5rem 2rem;
position: relative;
&:first-child,
&:nth-child(2) {
&:after {
content: "";
width: 85%;
border-top: 2px dashed $bg_gray;
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
}
}
}
&__title {
display: flex;
align-items: flex-end;
justify-content: space-between;
color: $gray_medium;
margin-top: 0;
font-size: 1.15rem;
font-weight: 500;
margin-bottom: 1.5rem;
}
.switch__option {
font-size: 1.15rem;
}
&__type {
background: linear-gradient(135deg, transparent 7px, var(--bg-color) 0) top
left,
linear-gradient(225deg, transparent 7px, var(--bg-color) 0) top right,
linear-gradient(315deg, transparent, var(--bg-color) 0) bottom right,
linear-gradient(45deg, transparent, var(--bg-color) 0) bottom left;
background-image: radial-gradient(
circle at 0 0,
transparent 0,
var(--bg-color) 0
),
radial-gradient(circle at 100% 0, transparent 0, var(--bg-color) 0),
radial-gradient(circle at 100% 100%, transparent 8px, var(--bg-color) 9px),
radial-gradient(circle at 0 100%, transparent 8px, var(--bg-color) 9px);
background-size: 52% 52%;
background-repeat: no-repeat;
&:before {
content: "";
background: radial-gradient(
circle,
transparent,
transparent 50%,
#fff 50%,
#fff 100%
) -7px -8px / 16px 16px repeat-x;
width: 100%;
height: 6px;
position: absolute;
top: -5px;
left: 0;
}
}
&__bet {
background: linear-gradient(135deg, transparent 7px, var(--bg-color) 0) top
left,
linear-gradient(225deg, transparent 7px, var(--bg-color) 0) top right,
linear-gradient(315deg, transparent 7px, var(--bg-color) 0) bottom right,
linear-gradient(45deg, transparent 7px, var(--bg-color) 0) bottom left;
background-image: radial-gradient(
circle at 0 0,
transparent 8px,
var(--bg-color) 9px
),
radial-gradient(circle at 100% 0, transparent 8px, var(--bg-color) 9px),
radial-gradient(circle at 100% 100%, transparent 8px, var(--bg-color) 9px),
radial-gradient(circle at 0 100%, transparent 8px, var(--bg-color) 9px);
background-size: 53% 53%;
background-repeat: no-repeat;
}
&__payment {
background: linear-gradient(135deg, transparent 7px, var(--bg-color) 0) top
left,
linear-gradient(225deg, transparent 7px, var(--bg-color) 0) top right,
linear-gradient(315deg, transparent, var(--bg-color) 0) bottom right,
linear-gradient(45deg, transparent, var(--bg-color) 0) bottom left;
background-image: radial-gradient(
circle at 0 0,
transparent 8px,
var(--bg-color) 9px
),
radial-gradient(circle at 100% 0, transparent 8px, var(--bg-color) 9px),
radial-gradient(circle at 100% 100%, transparent 0, var(--bg-color) 0),
radial-gradient(circle at 0 100%, transparent 0, var(--bg-color) 0);
background-size: 50% 50%;
background-repeat: no-repeat;
&:after {
content: "";
z-index: 1;
background: radial-gradient(
circle,
transparent,
transparent 50%,
var(--bg-color) 50%,
var(--bg-color) 100%
) -7px -8px / 16px 16px repeat-x;
width: 100%;
height: 6px;
transform: rotate(180deg);
position: absolute;
top: 100%;
left: 0;
}
&__amount {
display: flex;
label {
margin-right: 0.5rem;
}
[type="text"] {
flex: 1;
width: 0;
}
}
&__options {
&__title {
display: flex;
justify-content: space-between;
color: $gray_medium;
margin-top: 2rem;
}
}
&__recap {
display: flex;
margin-top: 1.5rem;
&__rating {
padding-right: 1.5rem;
margin-right: 1.5rem;
border-right: $border_gray_light;
.rating {
font-size: 0.75rem;
}
}
&__title {
margin: 0 0 0.5rem;
white-space: nowrap;
}
&__winnings {
&__amount {
color: $green;
margin: 0;
font-size: 1.35rem;
}
}
}
}
&__submit {
--bg-color: #{rgba($gray, 0.2)};
background-color: var(--bg-color);
padding: 2rem;
.btn {
width: 100%;
box-shadow: 0 2px 10px rgba($purple, 0.4);
}
&:after {
content: "";
z-index: 1;
background: radial-gradient(
circle,
transparent,
transparent 50%,
var(--bg-color) 50%,
var(--bg-color) 100%
) -7px -8px / 16px 16px repeat-x;
width: 100%;
height: 6px;
transform: rotate(180deg);
position: absolute;
top: 100%;
left: 0;
}
}
&__assistance {
padding: 2rem 1.5rem;
border-top: 1px solid lighten($gray, 23%);
&__button.btn {
width: 100%;
display: flex;
align-items: center;
justify-content: space-around;
font-weight: normal;
color: $gray;
font-size: 1.15rem;
border-radius: 2.5rem;
padding-top: 1rem;
padding-bottom: 1rem;
box-shadow: 1px 2px 2px rgba(darken($purple, 10%), 0.1);
svg {
width: 1.5rem;
color: $purple;
}
}
}
}
// utils
.sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
border: 0;
}
// Credits
.credits {
display: grid;
grid-template-columns: repeat(5, auto);
grid-auto-columns: auto;
grid-gap: 0.5rem;
align-items: center;
padding: 1rem 1.25rem;
border-radius: 1.75rem;
background-color: white;
box-shadow: 0 3px 3px rgba(0, 0, 0, 0.3);
position: fixed;
bottom: 0.5rem;
right: 0.5rem;
z-index: 3;
&__label {
font-weight: 500;
color: $purple;
}
a {
display: flex;
align-items: center;
height: 30px;
position: relative;
color: $gray;
span {
display: inline-block;
padding: 0.5rem 0.75rem;
border-radius: 0.75rem;
border-bottom-right-radius: 0;
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
white-space: nowrap;
background-color: $purple;
color: white;
opacity: 0;
transition: opacity 0.3s, transform 0.3s;
position: absolute;
bottom: calc(100% + 15px);
right: 10px;
&:after {
content: "";
display: block;
border-top: 10px solid $purple;
border-left: 8px solid transparent;
position: absolute;
top: 100%;
right: 0;
}
}
&:hover {
span {
opacity: 1;
}
}
}
}
new Vue({
el: "#app",
data: {
leftBarOpened: false,
betOpened: true
}
});
Also see: Tab Triggers