Newer
Older
vmk-demo-bot / admin / template / src / pug / views / notifications / modals.pug
extends ../../_layout/default.pug

block scripts
  // Plugins and scripts required by this view
  script(src='js/popovers.js')
  script(src='js/tooltips.js')

block canonical
  link(rel='canonical' href='https://coreui.io/docs/components/modal/')

block breadcrumb
  +breadcrumb(
    [
      { href: '#', label: 'Home'},
      { label: 'Components'},
      { label: 'Notifications'},
      'Modals'
    ]
  )

block view
  +docs-components('https://coreui.io/docs/components/modal/')
  .row
    .col-12
      .card.mb-4
        .card-header
          strong Modal
        .card-body
          p.text-body-secondary.small
            | Below is a 
            em static
            |  modal example (meaning its 
            code position
            |  and 
            code display
            |  have been overridden). Included are the modal header, modal body (required for 
            code padding
            | ), and modal footer (optional). We ask that you include modal headers with dismiss actions whenever possible, or provide another explicit dismiss action.
          +example('https://coreui.io/docs/components/modal/#modal-components')
            .docs-example-modal
              .modal(tabindex='-1')
                .modal-dialog
                  .modal-content
                    .modal-header
                      h5.modal-title Modal title
                      button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                    .modal-body
                      p Modal body text goes here.
                    .modal-footer
                      button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
                      button.btn.btn-primary(type='button') Save changes
    .col-12
      .card.mb-4
        .card-header
          strong Modal
          span.small.ms-1 Live demo
        .card-body
          p.text-body-secondary.small
            | Toggle a working modal demo by clicking the button below. It will slide down and fade in from the top of the page.
          +example('https://coreui.io/docs/components/modal/#live-demo')
            #exampleModalLive.modal.fade(tabindex='-1' aria-labelledby='exampleModalLiveLabel' aria-hidden='true')
              .modal-dialog
                .modal-content
                  .modal-header
                    h5#exampleModalLiveLabel.modal-title Modal title
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    p Woohoo, you're reading this text in a modal!
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
                    button.btn.btn-primary(type='button') Save changes
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalLive')
              | Launch demo modal
    .col-12
      .card.mb-4
        .card-header
          strong Modal
          span.small.ms-1 Static backdrop
        .card-body
          p.text-body-secondary.small
            | When backdrop is set to static, the modal will not close when clicking outside it. Click the button below to try it.
          +example('https://coreui.io/docs/components/modal/#static-backdrop')
            #staticBackdropLive.modal.fade(data-coreui-backdrop='static' data-coreui-keyboard='false' tabindex='-1' aria-labelledby='staticBackdropLiveLabel' aria-hidden='true')
              .modal-dialog
                .modal-content
                  .modal-header
                    h5#staticBackdropLiveLabel.modal-title Modal title
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    p I will not close if you click outside me. Don't even try to press escape key.
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
                    button.btn.btn-primary(type='button') Understood
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#staticBackdropLive')
              | Launch static backdrop modal
    .col-12
      .card.mb-4
        .card-header
          strong Modal
          span.small.ms-1 Scrolling long content
        .card-body
          p.text-body-secondary.small
            | When modals become too long for the user’s viewport or device, they scroll independent of the page itself. Try the demo below to see what we mean.
          +example('https://coreui.io/docs/components/modal/#scrolling-long-content')
            #exampleModalLong.modal.fade(tabindex='-1' aria-labelledby='exampleModalLongTitle' aria-hidden='true')
              .modal-dialog
                .modal-content
                  .modal-header
                    h5#exampleModalLongTitle.modal-title Modal title
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    p
                      | What follows is just some placeholder text for this modal dialog. Sipping on Rosé, Silver Lake sun, coming up all lazy. It’s in the palm of your hand now baby. So we hit the boulevard. So make a wish, I'll make it like your birthday everyday. Do you ever feel already buried deep six feet under? It's time to bring out the big balloons. You could've been the greatest. Passport stamps, she's cosmopolitan. Your kiss is cosmic, every move is magic.
                    p
                      | We're living the life. We're doing it right. Open up your heart. I was tryna hit it and quit it. Her love is like a drug. Always leaves a trail of stardust. The girl's a freak, she drive a jeep in Laguna Beach. Fine, fresh, fierce, we got it on lock. All my girls vintage Chanel baby.
                    p
                      | Before you met me I was alright but things were kinda heavy. Peach-pink lips, yeah, everybody stares. This is no big deal. Calling out my name. I could have rewrite your addiction. She's got that, je ne sais quoi, you know it. Heavy is the head that wears the crown. 'Cause, baby, you're a firework. Like thunder gonna shake the ground.
                    p
                      | Just own the night like the 4th of July! I’m gon’ put her in a coma. What you're waiting for, it's time for you to show it off. Can't replace you with a million rings. You open my eyes and I'm ready to go, lead me into the light. And here you are. I’m gon’ put her in a coma. Come on, let your colours burst. So cover your eyes, I have a surprise. As I march alone to a different beat. Glitter all over the room pink flamingos in the pool.
                    p
                      | You just gotta ignite the light and let it shine! Come just as you are to me. Just own the night like the 4th of July. Infect me with your love and fill me with your poison. Come just as you are to me. End of the rainbow looking treasure.
                    p
                      | I can't sleep let's run away and don't ever look back, don't ever look back. I can't sleep let's run away and don't ever look back, don't ever look back. Yes, we make angels cry, raining down on earth from up above. I'm walking on air (tonight). Let you put your hands on me in my skin-tight jeans. Stinging like a bee I earned my stripes. I went from zero, to my own hero. Even brighter than the moon, moon, moon. Make 'em go, 'Aah, aah, aah' as you shoot across the sky-y-y! Why don't you let me stop by?
                    p
                      | Boom, boom, boom. Never made me blink one time. Yeah, you're lucky if you're on her plane. Talk about our future like we had a clue. Oh my God no exaggeration. You're original, cannot be replaced. The girl's a freak, she drive a jeep in Laguna Beach. It's no big deal, it's no big deal, it's no big deal. In another life I would make you stay. I'm ma get your heart racing in my skin-tight jeans. I wanna walk on your wave length and be there when you vibrate Never made me blink one time.
                    p
                      | We'd keep all our promises be us against the world. If you get the chance you better keep her. It's time to bring out the big, big, big, big, big, big balloons. I hope you got a healthy appetite. Don't let the greatness get you down, oh, oh yeah. Yeah, she's footloose and so fancy free. I want the jaw droppin', eye poppin', head turnin', body shockin'. End of the rainbow looking treasure.
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
                    button.btn.btn-primary(type='button') Save changes
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalLong')
              | Launch demo modal
          p.text-body-secondary.small
            | You can also create a scrollable modal that allows scroll the modal body by adding 
            code .modal-dialog-scrollable
            |  to 
            code .modal-dialog
            | .
          +example('https://coreui.io/docs/components/modal/#scrolling-long-content')
            #exampleModalScrollable.modal.fade(tabindex='-1' aria-labelledby='exampleModalScrollableTitle' aria-hidden='true')
              .modal-dialog.modal-dialog-scrollable
                .modal-content
                  .modal-header
                    h5#exampleModalScrollableTitle.modal-title Modal title
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    p
                      | What follows is just some placeholder text for this modal dialog. You just gotta ignite the light and let it shine! Come just as you are to me. Just own the night like the 4th of July. Infect me with your love and fill me with your poison. Come just as you are to me. End of the rainbow looking treasure.
                    p
                      | I can't sleep let's run away and don't ever look back, don't ever look back. I can't sleep let's run away and don't ever look back, don't ever look back. Yes, we make angels cry, raining down on earth from up above. I'm walking on air (tonight). Let you put your hands on me in my skin-tight jeans. Stinging like a bee I earned my stripes. I went from zero, to my own hero. Even brighter than the moon, moon, moon. Make 'em go, 'Aah, aah, aah' as you shoot across the sky-y-y! Why don't you let me stop by?
                    p
                      | Boom, boom, boom. Never made me blink one time. Yeah, you're lucky if you're on her plane. Talk about our future like we had a clue. Oh my God no exaggeration. You're original, cannot be replaced. The girl's a freak, she drive a jeep in Laguna Beach. It's no big deal, it's no big deal, it's no big deal. In another life I would make you stay. I'm ma get your heart racing in my skin-tight jeans. I wanna walk on your wave length and be there when you vibrate Never made me blink one time.
                    p
                      | We'd keep all our promises be us against the world. In another life I would be your girl. We can dance, until we die, you and I, will be young forever. And on my 18th Birthday we got matching tattoos. So open up your heart and just let it begin. 'Cause she's the muse and the artist. She eats your heart out. Like Jeffrey Dahmer (woo). Pop your confetti. (This is how we do) I know one spark will shock the world, yeah yeah. If you only knew what the future holds.
                    p
                      | Sipping on Rosé, Silver Lake sun, coming up all lazy. It’s in the palm of your hand now baby. So we hit the boulevard. So make a wish, I'll make it like your birthday everyday. Do you ever feel already buried deep six feet under? It's time to bring out the big balloons. You could've been the greatest. Passport stamps, she's cosmopolitan. Your kiss is cosmic, every move is magic.
                    p
                      | We're living the life. We're doing it right. Open up your heart. I was tryna hit it and quit it. Her love is like a drug. Always leaves a trail of stardust. The girl's a freak, she drive a jeep in Laguna Beach. Fine, fresh, fierce, we got it on lock. All my girls vintage Chanel baby.
                    p
                      | Before you met me I was alright but things were kinda heavy. Peach-pink lips, yeah, everybody stares. This is no big deal. Calling out my name. I could have rewrite your addiction. She's got that, je ne sais quoi, you know it. Heavy is the head that wears the crown. 'Cause, baby, you're a firework. Like thunder gonna shake the ground.
                    p
                      | Just own the night like the 4th of July! I’m gon’ put her in a coma. What you're waiting for, it's time for you to show it off. Can't replace you with a million rings. You open my eyes and I'm ready to go, lead me into the light. And here you are. I’m gon’ put her in a coma. Come on, let your colours burst. So cover your eyes, I have a surprise. As I march alone to a different beat. Glitter all over the room pink flamingos in the pool.
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
                    button.btn.btn-primary(type='button') Save changes
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalScrollable')
              | Launch demo modal
    .col-12
      .card.mb-4
        .card-header
          strong Modal
          span.small.ms-1 Vertically centered
        .card-body
          p.text-body-secondary.small
            | Add 
            code .modal-dialog-centered
            |  to  
            code .modal-dialog
            |  to vertically center the modal.
          +example('https://coreui.io/docs/components/modal/#vertically-centered')
            #exampleModalCenter.modal.fade(tabindex='-1' aria-labelledby='exampleModalCenterTitle' aria-hidden='true')
              .modal-dialog.modal-dialog-centered
                .modal-content
                  .modal-header
                    h5#exampleModalCenterTitle.modal-title Modal title
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    p Placeholder text for this demonstration of a vertically centered modal dialog.
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
                    button.btn.btn-primary(type='button') Save changes
            #exampleModalCenteredScrollable.modal.fade(tabindex='-1' aria-labelledby='exampleModalCenteredScrollableTitle' aria-hidden='true')
              .modal-dialog.modal-dialog-centered.modal-dialog-scrollable
                .modal-content
                  .modal-header
                    h5#exampleModalCenteredScrollableTitle.modal-title Modal title
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    p Placeholder text for this demonstration of a vertically centered modal dialog.
                    p
                      | In this case, the dialog has a bit more content, just to show how vertical centering can be added to a scrollable modal.
                    p
                      | What follows is just some placeholder text for this modal dialog. Sipping on Rosé, Silver Lake sun, coming up all lazy. It’s in the palm of your hand now baby. So we hit the boulevard. So make a wish, I'll make it like your birthday everyday. Do you ever feel already buried deep six feet under? It's time to bring out the big balloons. You could've been the greatest. Passport stamps, she's cosmopolitan. Your kiss is cosmic, every move is magic.
                    p
                      | We're living the life. We're doing it right. Open up your heart. I was tryna hit it and quit it. Her love is like a drug. Always leaves a trail of stardust. The girl's a freak, she drive a jeep in Laguna Beach. Fine, fresh, fierce, we got it on lock. All my girls vintage Chanel baby.
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
                    button.btn.btn-primary(type='button') Save changes
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalCenter')
              | Vertically centered modal
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalCenteredScrollable')
              | Vertically centered scrollable modal
    .col-12
      .card.mb-4
        .card-header
          strong Modal
          span.small.ms-1 Tooltips and popovers
        .card-body
          p.text-body-secondary.small
            a(href='https://coreui.io/docs/components/tooltips/') Tooltips
            |  and
            a(href='https://coreui.io/docs/components/popovers/') popovers
            |  can be placed within modals as needed. When modals are closed, any tooltips and popovers within are also automatically dismissed.
          +example('https://coreui.io/docs/components/modal/#tooltips-and-popovers')
            #exampleModalPopovers.modal.fade(tabindex='-1' aria-labelledby='exampleModalPopoversLabel' aria-hidden='true')
              .modal-dialog
                .modal-content
                  .modal-header
                    h5#exampleModalPopoversLabel.modal-title Modal title
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    h5 Popover in a modal
                    p
                      | This
                      button.btn.btn-secondary.popover-test(href='#' role='button' title='' data-coreui-toggle="popover" data-coreui-content='Popover body content is set in this attribute.' data-coreui-container='#exampleModalPopovers' data-coreui-original-title='Popover title') button
                      |  triggers a popover on click.
                    hr
                    h5 Tooltips in a modal
                    p
                      a.tooltip-test(href='#' title='' data-coreui-toggle="tooltip" data-coreui-container='#exampleModalPopovers' data-coreui-original-title='Tooltip') This link
                      |  and
                      a.tooltip-test(href='#' title='' data-coreui-toggle="tooltip" data-coreui-container='#exampleModalPopovers' data-coreui-original-title='Tooltip') that link
                      |  have tooltips on hover.
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
                    button.btn.btn-primary(type='button') Save changes
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalPopovers')
              | Launch demo modal
    .col-12
      .card.mb-4
        .card-header
          strong Modal
          span.small.ms-1 Using the grid
        .card-body
          p.text-body-secondary.small
            | Utilize the Bootstrap grid system within a modal by nesting 
            code .container-fluid
            |  within the 
            code .modal-body
            | . Then, use the normal grid system classes as you would anywhere else.
          +example('https://coreui.io/docs/components/modal/#using-the-grid')
            #gridSystemModal.modal.fade(tabindex='-1' aria-labelledby='gridModalLabel' aria-hidden='true')
              .modal-dialog
                .modal-content
                  .modal-header
                    h5#gridModalLabel.modal-title Grids in modals
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    .container-fluid
                      .row
                        .col-md-4 .col-md-4
                        .col-md-4.ms-auto .col-md-4 .ms-auto
                      .row
                        .col-md-3.ms-auto .col-md-3 .ms-auto
                        .col-md-2.ms-auto .col-md-2 .ms-auto
                      .row
                        .col-md-6.ms-auto .col-md-6 .ms-auto
                      .row
                        .col-sm-9
                          | Level 1: .col-sm-9
                          .row
                            .col-8.col-sm-6
                              | Level 2: .col-8 .col-sm-6
                            .col-4.col-sm-6
                              | Level 2: .col-4 .col-sm-6
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
                    button.btn.btn-primary(type='button') Save changes
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#gridSystemModal')
              | Launch demo modal
    .col-12
      .card.mb-4
        .card-header
          strong Modal
          span.small.ms-1 Varying modal content
        .card-body
          p.text-body-secondary.small
            | Have a bunch of buttons that all trigger the same modal with slightly different contents? Use 
            code event.relatedTarget
            |  and 
            a(href='https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes')
              | HTML 
              code data-coreui-*
              |  attributes
            |  to vary the contents of the modal depending on which button was clicked.
          p.text-body-secondary.small
            | Below is a live demo followed by example HTML and JavaScript. For more information, 
            a(href='#events') read the modal events docs
            |  for details on 
            code relatedTarget
            | .
          +example('https://coreui.io/docs/components/modal/#varying-modal-content')
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModal' data-coreui-whatever='@mdo') Open modal for @mdo
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModal' data-coreui-whatever='@fat') Open modal for @fat
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModal' data-coreui-whatever='@getbootstrap') Open modal for @getbootstrap
            #exampleModal.modal.fade(tabindex='-1' aria-labelledby='exampleModalLabel' aria-hidden='true')
              .modal-dialog
                .modal-content
                  .modal-header
                    h5#exampleModalLabel.modal-title New message
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    form
                      .mb-3
                        label.col-form-label(for='recipient-name') Recipient:
                        input#recipient-name.form-control(type='text')
                      .mb-3
                        label.col-form-label(for='message-text') Message:
                        textarea#message-text.form-control
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
                    button.btn.btn-primary(type='button') Send message
    .col-12
      .card.mb-4
        .card-header
          strong Modal
          span.small.ms-1 Optional sizes
        .card-body
          p.text-body-secondary.small
            | Modals have three optional sizes, available via modifier classes to be placed on a 
            code .modal-dialog
            | . These sizes kick in at certain breakpoints to avoid horizontal scrollbars on narrower viewports.
          table.table
            thead
              tr
                th Size
                th Class
                th Modal max-width
            tbody
              tr
                td Small
                td
                  code .modal-sm
                td
                  code 300px
              tr
                td Default
                td.text-body-secondary None
                td
                  code 500px
              tr
                td Large
                td
                  code .modal-lg
                td
                  code 800px
              tr
                td Extra large
                td
                  code .modal-xl
                td
                  code 1140px
          p.text-body-secondary.small Our default modal without modifier class constitutes the “medium” size modal.
          +example('https://coreui.io/docs/components/modal/#optional-sizes')
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalXl') Extra large modal
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalLg') Large modal
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalSm') Small modal
            #exampleModalXl.modal.fade(tabindex='-1' aria-labelledby='exampleModalXlLabel' aria-hidden='true')
              .modal-dialog.modal-xl
                .modal-content
                  .modal-header
                    h5#exampleModalXlLabel.modal-title.h4 Extra large modal
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    | ...
            #exampleModalLg.modal.fade(tabindex='-1' aria-labelledby='exampleModalLgLabel' aria-hidden='true')
              .modal-dialog.modal-lg
                .modal-content
                  .modal-header
                    h5#exampleModalLgLabel.modal-title.h4 Large modal
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    | ...
            #exampleModalSm.modal.fade(tabindex='-1' aria-labelledby='exampleModalSmLabel' aria-hidden='true')
              .modal-dialog.modal-sm
                .modal-content
                  .modal-header
                    h5#exampleModalSmLabel.modal-title.h4 Small modal
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    | ...
    .col-12
      .card.mb-4
        .card-header
          strong Modal
          span.small.ms-1 Fullscreen Modal
        .card-body
          p.text-body-secondary.small
            | Another override is the option to pop up a modal that covers the user viewport, available via modifier classes that are placed on a 
            code .modal-dialog
            | .
          table.table
            thead
              tr
                th Class
                th Availability
            tbody
              tr
                td
                  code .modal-fullscreen
                td Always
              tr
                td
                  code .modal-fullscreen-sm-down
                td
                  | Below 
                  code 576px
              tr
                td
                  code .modal-fullscreen-md-down
                td
                  | Below 
                  code 768px
              tr
                td
                  code .modal-fullscreen-lg-down
                td
                  | Below 
                  code 992px
              tr
                td
                  code .modal-fullscreen-xl-down
                td
                  | Below 
                  code 1200px
              tr
                td
                  code .modal-fullscreen-xxl-down
                td
                  | Below 
                  code 1400px
          +example('https://coreui.io/docs/components/modal/#fullscreen-modal')
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalFullscreen') Full screen
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalFullscreenSm') Full screen below sm
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalFullscreenMd') Full screen below md
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalFullscreenLg') Full screen below lg
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalFullscreenXl') Full screen below xl
            button.btn.btn-primary(type='button' data-coreui-toggle='modal' data-coreui-target='#exampleModalFullscreenXxl') Full screen below xxl
            #exampleModalFullscreen.modal.fade(tabindex='-1' aria-labelledby='exampleModalFullscreenLabel' aria-hidden='true')
              .modal-dialog.modal-fullscreen
                .modal-content
                  .modal-header
                    h5#exampleModalFullscreenLabel.modal-title.h4 Full screen modal
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    p
                      | What follows is just some placeholder text for this modal dialog. I feel like I'm already there. I’m gon’ put her in a coma. Boom, boom, boom. You're reading me like erotica, boy, you make me feel exotic, yeah. Happy birthday. From Tokyo to Mexico, to Rio. I knew you were.
                    p
                      | Last Friday night. Calling out my name. Kiss her, touch her, squeeze her buns. Heavy is the head that wears the crown. So open up your heart and just let it begin. Boy all this time was worth the waiting. You know that I'm the girl that you should call. End of the rainbow looking treasure. You're reading me like erotica, boy, you make me feel exotic, yeah. Do you know that there's still a chance for you 'Cause there's a spark in you? So I sat quietly, agreed politely. From Tokyo to Mexico, to Rio.
                    p
                      | Don't be a shy kinda guy I'll bet it's beautiful. You fall asleep during foreplay, 'Cause the pills you take, are more your forte. Open up your heart. You're never gonna be unsatisfied. Know that you are worthy. This one goes out to the ladies at breakfast in last night's dress. You think you've seen her in a magazine. I should've told you what you meant to me 'Cause now I pay the price. Takes you miles high, so high, 'cause she’s got that one international smile.
                    p
                      | Yo, shout out to all you kids, buying bottle service, with your rent money. So I sat quietly, agreed politely. They say, be afraid you're not like the others, futuristic lover. Boom, boom, boom. Don't need apologies. We can dance, until we die, you and I, will be young forever. If you choose to walk away, don’t walk away. You know that I'm the girl that you should call. This Friday night, do it all again.
                    p
                      | I'm walking on air. But lil' mama so dope. It's time to bring out the big balloons. Are you ready for, ready for. The boys break their necks try'na to creep a little sneak peek. Summer after high school when we first met. If you want it all. (This is how we do) You open my eyes and I'm ready to go, lead me into the light.
                    p
                      | Growing fast into a bolt of lightning. We freak in my jeep, Snoop Doggy Dogg on the stereo. Baby do you dare to do this? Open up your heart and just let it begin. Peach-pink lips, yeah, everybody stares. Be your teenage dream tonight. Are you brave enough to let me see your peacock? You think I'm funny when I tell the punchline wrong. Woo! I knew you were. All this money can't buy me a time machine. I can't sleep let's run away and don't ever look back, don't ever look back.
                    p
                      | Make it like your birthday everyday. I'm not sticking around to watch you go down. Uh-huh, I see you. For you I'll risk it all, all. I’m gon’ put her in a coma. She ride me like a roller coaster. You hear my voice, you hear that sound. 'Cause I will love you unconditionally (oh yeah). They say, be afraid you're not like the others, futuristic lover. There is no fear now, let go and just be free, I will love you unconditionally.
                    p
                      | We can dance, until we die, you and I, will be young forever. Pop your Pérignon. Last Friday night, yeah I think we broke the law, always say we're gonna stop. Don't need apologies. Give you something good to celebrate. But don’t make me your enemy, your enemy, your enemy. Flowers in her hair, she don't care. Tone, tan fit and ready, turn it up cause its gettin' heavy.
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
            #exampleModalFullscreenSm.modal.fade(tabindex='-1' aria-labelledby='exampleModalFullscreenSmLabel' aria-hidden='true')
              .modal-dialog.modal-fullscreen-sm-down
                .modal-content
                  .modal-header
                    h5#exampleModalFullscreenSmLabel.modal-title.h4 Full screen below sm
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    | ...
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
            #exampleModalFullscreenMd.modal.fade(tabindex='-1' aria-labelledby='exampleModalFullscreenMdLabel' aria-hidden='true')
              .modal-dialog.modal-fullscreen-md-down
                .modal-content
                  .modal-header
                    h5#exampleModalFullscreenMdLabel.modal-title.h4 Full screen below md
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    | ...
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
            #exampleModalFullscreenLg.modal.fade(tabindex='-1' aria-labelledby='exampleModalFullscreenLgLabel' aria-hidden='true')
              .modal-dialog.modal-fullscreen-lg-down
                .modal-content
                  .modal-header
                    h5#exampleModalFullscreenLgLabel.modal-title.h4 Full screen below lg
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    | ...
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
            #exampleModalFullscreenXl.modal.fade(tabindex='-1' aria-labelledby='exampleModalFullscreenXlLabel' aria-hidden='true')
              .modal-dialog.modal-fullscreen-xl-down
                .modal-content
                  .modal-header
                    h5#exampleModalFullscreenXlLabel.modal-title.h4 Full screen below xl
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    | ...
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close
            #exampleModalFullscreenXxl.modal.fade(tabindex='-1' aria-labelledby='exampleModalFullscreenXxlLabel' aria-hidden='true')
              .modal-dialog.modal-fullscreen-xxl-down
                .modal-content
                  .modal-header
                    h5#exampleModalFullscreenXxlLabel.modal-title.h4 Full screen below xxl
                    button.btn-close(type='button' data-coreui-dismiss='modal' aria-label='Close')
                  .modal-body
                    | ...
                  .modal-footer
                    button.btn.btn-secondary(type='button' data-coreui-dismiss='modal') Close