.header { position: relative; height: 100vh; min-height: 600px; @include flex; align-items: center; justify-content: center; background-image: url(../imgs/header.jpg); background-size: cover; background-repeat: no-repeat; background-position: center center; .overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-image: linear-gradient(to top, $white 0%, rgba($primary, .35) 99%, rgba($primary, .5) 100%); } .header-content { margin-top: 20px; flex-grow: 1; max-width: 550px; .header-title { .up { font-size: calc(30px + (60 - 30) * ((100vw - 300px) / (1300 - 300))); font-weight: 500; color: #444; margin-bottom: 5px; position: relative; display: block; } .down { font-size: calc(30px + (75 - 30) * ((100vw - 300px) / (1300 - 300))); margin-bottom: 0; position: relative; display: block; } } .header-subtitle { font-size: calc(10px + (22 - 10) * ((100vw - 300px) / (1300 - 300))); letter-spacing: calc(1px + (7 - 1) * ((100vw - 300px) / (1300 - 300))); opacity: .8; margin-top: -10px; margin-bottom: 20px; } .btn { position: relative; margin-top: 20px; border-radius: 20px; padding: 8px 15px; } } // header title &-title { font-size: 2.4rem; font-weight: bold; opacity: .8; color: $body-color; } // header mini &-mini { min-height: 24rem; height: 24rem; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 1rem; background: lighten($primary, 20%); } } @include media-breakpoint-down(md) { .header { background-size: cover; } .header-content { padding-left: calc(100% / 5) !important; } }