// Pre-defined background colors based on variables @each $color, $value in $theme-colors { @include bg-variant(".bg-light-#{$color}", lighten($value, 10%)); @include bg-variant(".bg-dark-#{$color}", darken($value, 10%)); @include bg-soft-variant(".bg-soft-#{$color}", theme-color-level($color, $bg-soft-bg-level)); @include bg-gradient-variant(".bg-gradient-#{$color}", $value); @include bg-translucent-variant(".bg-translucent-#{$color}", $value); } @each $color, $value in $colors { @include bg-variant(".bg-#{$color}", $value); @include bg-gradient-variant(".bg-gradient-#{$color}", $value); } @each $color, $value in $section-colors { @include bg-section-variant(".bg-section-#{$color}", $value); } @each $color, $value in $brand-colors { @include bg-variant(".bg-brand-#{$color}", $value); } @each $color, $value in $grays { @include bg-variant(".bg-gray-#{$color}", $value); } @include bg-variant(".bg-black", $black); // Fill, stroke and other svg color utilities @each $color, $value in $theme-colors { // Solid colors .fill-#{$color} { fill: $value !important; } .fill-light-#{$color} { fill: lighten($value, 10%) !important; } .fill-dark-#{$color} { fill: darken($value, 10%) !important; } .stroke-#{$color} { stroke: $value !important; } // Soft solid colors @include fill-soft-variant(".fill-soft-#{$color}", theme-color-level($color, $bg-soft-bg-level)); } @each $color, $value in $colors { .fill-#{$color} { fill: $value !important; } .stroke-#{$color} { stroke: $value !important; } } // Additional shades for the $primary color .fill-primary-100 { fill: lighten($primary, 50%) !important; } .fill-primary-200 { fill: lighten($primary, 40%) !important; } .fill-primary-300 { fill: lighten($primary, 30%) !important; } .fill-primary-400 { fill: lighten($primary, 20%) !important; } .fill-primary-500 { fill: lighten($primary, 10%) !important; } .fill-primary-600 { fill: lighten($primary, 5%) !important; } .stroke-primary-100 { stroke: lighten($primary, 50%) !important; } .stroke-primary-200 { stroke: lighten($primary, 40%) !important; } .stroke-primary-300 { stroke: lighten($primary, 30%) !important; } .stroke-primary-400 { stroke: lighten($primary, 20%) !important; } .stroke-primary-500 { stroke: lighten($primary, 10%) !important; } .stroke-primary-600 { stroke: lighten($primary, 5%) !important; } // SVG colors used for section backgrounds @each $color, $value in $section-colors { .fill-section-#{$color} { fill: $value !important; } .stroke-section-#{$color} { stroke: $value !important; } } // Section gradieent bg .bg-section-fade { background: linear-gradient(177.86deg, section-color("secondary") 0%, rgba(255, 255, 255, 0) 100%) } // Image background - Covers .bg-cover { position: relative; background-repeat: no-repeat; } .bg-absolute-cover { background-repeat: no-repeat; position: absolute; overflow: hidden; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; svg { height: 1000px; pointer-events: none; } } @include media-breakpoint-down(lg) { .bg-lg-cover { background-image: none !important; } } @include media-breakpoint-down(md) { .bg-md-cover { background-image: none !important; } } .bg-size--cover { background: no-repeat center center/cover; } .bg-size--contain { background-size: contain; } // Text background .bg-text { color: rgba(255, 255, 255, .2); position: absolute; top: 50%; left: 0%; white-space: nowrap; transform: translate(0%, -50%); text-transform: uppercase; font-size: 40rem; font-weight: 700; } .bg-inner--text { height: 1em; line-height: 1em; transform: none; opacity: 1; transition: 2s 0s; display: block; animation: text_slide 40s linear infinite; width: auto; max-width: none; white-space: nowrap; display: inline-block; } // Background image holder @include media-breakpoint-down(md) { .bg-img-holder { background-image: none !important; img { max-width: 100%; } } } @include media-breakpoint-up(lg) { .bg-img-holder { position: absolute; height: 100%; min-height: 20rem; background-repeat: no-repeat; z-index: -1; img { display: none; } } } // Image backshapes .img-bg { &:after { position: absolute; content: ''; background: none no-repeat 50%; background-image: none; background-size: auto auto; background-size: contain; width: 783px; height: 725px; left: 31px; top: -168px; z-index: 1; background-image: str-replace(url("data:image/svg+xml;charset=utf-8,%3Csvg width='783' height='726' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M606.14 725.179c144.64-.87 225.447-587.194 144.64-694.046-73.915-97.74-579.852 50.733-716.756 222.443-12.763 16.009-22.32 32.22-28.019 48.451-66.83 190.337 442.822 424.098 600.136 423.152z' fill='#{$secondary}' fill-rule='evenodd'/%3E%3C/svg%3E"), "#", "%23"); } img { position: relative; z-index: 2; } } // Images as backgrounds .img-as-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; object-fit: cover; } // Blend modes .blend-mode { &--multiply { mix-blend-mode: multiply; @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { &:after{ content:''; background: transparentize(darken(blue, 8), .5); position: absolute; top:0; bottom:0; width:100%; } } } &--color-burn { mix-blend-mode: color-burn; @media all and (-ms-high-contrast: none), (-ms-high-contrast: active) { &:after{ content:''; background: transparentize(darken(blue, 8), .5); position: absolute; top:0; bottom:0; width:100%; } } } }