// Banners // # Contents // 1. Banner // 1.1) Banner Base // 1.2) Banner Layer Positions // 1.3) Banner Layer Vertical // 2. Banner Property // 2.1) Banner Min Height // 3. Responsive // # Variables @include set-default( ( banner: ( layer: ( top: 7%, left: 6%, right: 6%, bottom: 5% ) ) ) ); // 1. Banner // 1.1) Banner Base .banner { position: relative; font-size: 1.6rem; figure { margin: 0; } img { width: 100%; object-fit: cover; } h1, h2, h3, h4, h5, h6 { line-height: 1; } .container:not(.banner-content) { position: absolute; top: 0; bottom: 0; left: 0; right: 0; } } .ibanner { font-size: 10px; } aside .banner { font-size: 1.6rem; } .banner-layer { position: absolute; @include css(left, banner, layer, left); @include css(right, banner, layer, right); } .banner-content { position: relative; } // 1.2) Banner Layer Positions .banner-layer-top { @include css(top, banner, layer, top); } .banner-layer-bottom { @include css(bottom, banner, layer, bottom); } .banner-layer-space { left: 0; right: 0; padding: 1em 1.5625em; } .banner-layer-left { right: auto; } .banner-layer-right { left: auto; } .banner-layer-center { left: 50%; top: 50%; transform: translate(-50%, -50%); } .banner-layer-middle { top: 50%; transform: translateY(-50%); } .bg-img { background-position: center; background-repeat: no-repeat; background-size: cover; } .banner-h-100 { height: 100vh; } // 3. Responsive @include mq(xl, max) { .banner { font-size: 1.4rem; } .ibanner { font-size: 1rem; } } @include mq(md, max) { .banner-md-vw-small { font-size: 1.8vw; } .banner-md-vw { font-size: 2.3vw; } .banner-md-vw-large { font-size: 3vw; } } @include mq(sm, max) { .banner-md-vw-small { font-size: 2.3vw; } .banner-sm-vw { font-size: 1.2rem; } .banner-sm-vw-large { font-size: 4vw; } }