Pen Settings

HTML

CSS

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

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.

+ add another resource

JavaScript

Babel includes JSX processing.

Add External Scripts/Pens

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.

+ add another resource

Packages

Add Packages

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.

Behavior

Auto Save

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

Format on Save

If enabled, your code will be formatted when you actively save your Pen. Note: your code becomes un-folded during formatting.

Editor Settings

Code Indentation

Want to change your Syntax Highlighting theme, Fonts and more?

Visit your global Editor Settings.

HTML

              
                // 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
              
            
!

CSS

              
                $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;
      }
    }
  }
}

              
            
!

JS

              
                new Vue({
  el: "#app",
  data: {
    leftBarOpened: false,
    betOpened: true
  }
});

              
            
!
999px

Console