<template> <section class="section" :class="sectionClass"> <div class="section--inner container" :class="sectionClassInner"> <slot/> </div> <div v-if="dots" class="section__dots-bg dots-bg" /> <slot name="outer" /> </section> </template> <script> export default { props: ['dark', 'dots', 'container', 'framed', 'secondary'], computed: { sectionClass() { let classes = [] if(this.secondary) classes.push('section--secondary') if(this.dark) classes.push('section--dark') return classes }, sectionClassInner() { let classes = [] if(this.framed) { classes.push('container--framed') } if(this.container) { classes.push('container-' + this.container) } return classes } } } </script> <style lang="scss"> .section { padding: calc(2% + var(--space)) 0; position: relative; width: 100%; flex: 1; &--secondary { background-color: var(--bg-secondary); border-top: 1px solid var(--border-color); border-bottom: 1px solid var(--border-color); + .section--secondary { border-top-color: transparent; margin-top: -1px; } } &__dots-bg { height: 700px; max-width: 1500px; max-height: 100%; margin: 0 auto; position: absolute; left:0; right:0; bottom: 0; z-index: 1; opacity: 1; } &--inner { position: relative; z-index: 2; } &--dark { color: #FFF; background: var(--dark-bg); p { color: currentColor; } h1, h2, h3, h4, a { color: #FFF; } } } </style>