Files
wyczarujprezent.pl/themes/EZE-249/_dev/css/partials/_commons.scss
2024-10-28 22:14:22 +01:00

971 lines
17 KiB
SCSS

/**
* Styles for rtl-version.
*/
.lang-rtl {
* {
direction: rtl !important;
}
main {
text-align: right !important;
}
}
/**
* Main elements styles
*/
html {
min-height: 100vh;
font-size: 0.750rem;
@include media-breakpoint-up(lg) {
font-size: 0.813rem;
}
@include media-breakpoint-up(xl) {
font-size: 0.875rem;
}
}
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
background: $body-bg;
color: $body-color;
}
main {
min-height: 100vh;
display: flex;
flex-direction: column;
overflow: hidden;
background: $main-bg;
}
a {
outline: none;
transition: all 0.3s ease-in-out;
color: $black;
@include hover-focus-active {
color: $brand-primary;
}
}
.bg-primary-lighten {
background: $brand-primary-lighten;
&.gift {
@include media-breakpoint-up(xl) {
background: url("../img/vector.png") no-repeat 12.5% 0% $brand-primary-lighten;
}
.product-buttons {
.add-to-cart {
.price {
color: $white;
}
&:hover,
&:focus {
color: $white;
background: $red;
}
}
}
}
}
.title-block {
font: 500 24px/26px $font-family-base;
@include media-breakpoint-up(md) {
font-size: 36px;
line-height: 1.1;
}
}
.products-section-title {
display: flex;
justify-content: center;
align-items: center;
font: 300 40px/44px $font-family-base;
text-transform: capitalize;
@include media-breakpoint-up(xl) {
&:before {
position: relative;
display: inline-block;
margin-right: 25px;
content: '';
width: 40px;
height: 43px;
background: url(../img/title-left.png) no-repeat;
}
&:after {
position: relative;
display: inline-block;
margin-left: 25px;
content: '';
width: 40px;
height: 43px;
background: url(../img/title-right.png) no-repeat;
}
}
}
.subcategory-title {
font: 300 22px/26px $font-family-base;
}
.subcategory-name {
font: 500 18px/22px $font-family-base;
}
.subpage-title {
font: 500 18px/24px $font-family-base;
color: $black;
margin-bottom: 20px;
@include media-breakpoint-up(xl) {
font-size: 24px;
}
}
.link {
cursor: pointer;
&.link-primary {
font-size: 12px;
text-transform: uppercase;
letter-spacing: 0.06em;
color: $brand-primary;
span {
text-decoration: underline;
}
i {
font-size: 18px;
margin-right: 5px;
}
&:hover {
color: $black;
span {
text-decoration: none;
}
}
}
&.link-dark {
color: $gray-900;
&:hover, &:focus {
color: $brand-primary;
}
}
}
button, .btn {
text-transform: uppercase;
font-weight: 500;
font-size: 13px;
line-height: 1.23;
padding: 13px 30px;
letter-spacing: $letter-spacing-xs;
position: relative;
z-index: 1;
transition: all 0.3s ease-in-out;
cursor: pointer;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
border-radius: 0;
border: none;
&:active, &:focus {
outline: none;
}
&:disabled, &.disabled {
pointer-events: none;
opacity: 0.6;
}
&.fa {
display: inline-block;
font-family: $font-awesome;
font-size: 14px;
line-height: 1;
}
@include media-breakpoint-up(md) {
letter-spacing: $letter-spacing;
}
}
.btn-sm {
font-size: 12px;
line-height: 14px;
padding: 11px 13px;
}
.btn-md {
padding: 14px 30px;
}
.btn-lg {
padding: 22px 50px;
}
.btn-link {
text-transform: uppercase;
font: 500 13px/15px $font-family-base;
letter-spacing: $letter-spacing;
color: $black;
@include hover-focus-active {
color: $brand-primary;
}
}
.btn-default {
background: $brand-primary;
color: $white;
&:hover, &:active, &:focus {
color: $white;
background: $red;
}
}
.btn-primary {
background: $brand-primary;
color: $white;
border: solid 1px $brand-primary;
@include hover-focus-active {
background: $white;
border-color: $brand-primary;
color: $brand-primary;
}
&:not(:disabled):not(.disabled):active,
&:not(:disabled):not(.disabled).active {
color: rgba($brand-primary, .7);
background: rgba($white, .7);
border-color: rgba($brand-primary, .7);
}
&.disabled, &:disabled {
background: $brand-primary;
color: $white;
border: solid 1px $brand-primary;
}
}
.btn-secondary {
background: $gray-100;
color: $black;
border: solid 1px $gray-100;
@include hover-focus-active {
background: $black;
color: $white;
border-color: $black;
}
}
ul {
list-style: none;
padding-left: 0;
&.list-default > li {
margin-bottom: 12px;
&:last-child {
margin-bottom: 0;
}
}
&.list-style-disk {
li {
position: relative;
padding-left: 15px;
margin-bottom: 5px;
a {
font: 300 13px/15px $font-family-base;
}
&:before {
content: '';
font-size: 16px;
line-height: 1;
position: absolute;
top: 3px;
left: 1px;
color: $brand-primary;
}
}
}
}
/**
* Extends and overrides Bootstrap classes
* breadcrumb styles
*/
.breadcrumb {
position: relative;
z-index: 0;
&:before, &:after {
position: absolute;
content: '';
background: $breadcrumb-bg;
top: 0;
bottom: 0;
width: 10000px;
z-index: -1;
}
&:before {
right: 99%;
}
&:after {
left: 99%;
}
}
.breadcrumb-item {
font: 300 13px/16px $font-family-base;
color: $white;
a {
color: $white;
@include hover-focus-active {
color: $brand-primary;
}
}
& + .breadcrumb-item::before {
font-size: 10px;
color: $white;
line-height: 1;
font-family: $font-linearicons;
}
}
/**
* Card style
*/
.card-header {
text-transform: uppercase;
font-weight: 500;
letter-spacing: $letter-spacing-1;
}
/**
* Disable margin in notifications lists
*/
#notifications, .alert, .help-block {
text-align: left;
&:empty {
display: none;
}
ul:last-child {
margin-bottom: 0;
}
}
.alert {
padding-left: 60px;
position: relative;
font-size: 12px;
line-height: 1.429rem;
&:before {
font-family: 'FontAwesome';
font-size: 20px;
line-height: 20px;
display: block;
position: absolute;
top: 13px;
left: 22px;
}
&.alert-info:before {
content: '\f05a';
}
&.alert-warning:before {
content: '\f05a';
}
&.alert-danger:before {
content: '\f071';
}
&.alert-success:before {
content: '\f058';
}
&.alert-dismissible .close {
padding: 0;
top: 14px;
right: 15px;
i {
font-size: 15px;
}
}
}
/**
* Styles for errors in login/registration forms
*/
.has-error {
input,
select {
outline: 0.1875rem solid $red;
}
.help-block {
@extend .col-12, .col-sm-10, .offset-sm-2;
padding: 0;
margin-top: ($spacer * .5);
.alert {
margin-bottom: 10px;
&:last-child {
margin-bottom: 0;
}
}
}
}
/**
* Extends and overrides Bootstrap classes
* Use if you can't override it with a variable.
*/
// add opened accordion icon
[data-toggle="collapse"] {
i {
transition: all 0.3s ease-in-out;
display: inline-block;
}
&[aria-expanded*='true'] {
i {
transform: rotate(180deg);
}
}
}
.toggle-wrapper {
i {
transition: transform 0.3s ease-in-out;
display: inline-block;
font-size: 16px;
transform-origin: 50% 40%;
}
&[aria-expanded*='true'] i {
transform: rotate(180deg);
}
}
/**
* Extends and overrides Bootstrap classes
* dropdown.
*/
// dropdown custom close button
.dropdown-menu .dropdown-close.close {
cursor: pointer;
outline: none;
position: absolute;
right: 10px;
top: 10px;
z-index: 5;
width: auto;
height: auto;
font-size: 16px;
line-height: 1;
@include media-breakpoint-up(md) {
font-size: 24px;
line-height: 1;
top: 35px;
right: 40px;
}
}
.close {
opacity: 1;
transition: all 0.3s ease-in-out;
&:not(:disabled):not(.disabled) {
opacity: 1;
}
@include hover-focus-active {
color: $black;
}
}
// duplicated '.active' styles for current dropdown item
.dropdown-item {
&.current {
@extend .dropdown-item.active;
}
}
// override input style for chrome
input:-webkit-autofill {
-webkit-box-shadow: 0 0 0 30px $input-bg inset;
-webkit-text-fill-color: $body-color !important;
}
// hide element without !important
.to-hide {
display: none;
}
// extend default 'bootstrap form' styles
form {
&:not(#add-to-cart-or-refresh):not(#product-customization):not(.jxsearchform) {
max-width: 600px;
}
}
label {
color: $black;
}
.form-control {
font-size: 13px;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::before {
background: $gray-200;
}
.custom-radio .custom-control-input:checked ~ .custom-control-label::after {
border: 4px solid $gray-200;
background: $gray-800;
border-radius: 100%;
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
@include addLinearIcons('\ec34', 13px, 14px, color);
}
.custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
box-shadow: none;
}
.form-group {
margin-bottom: 30px;
&.form-check-radio {
margin-bottom: 23px;
}
}
.custom-select {
max-width: 100%;
white-space: nowrap;
overflow: hidden;
text-align: left;
text-overflow: ellipsis;
letter-spacing: 0;
text-transform: none;
}
.custom-file-wrapper {
.custom-file {
height: auto;
.custom-file-input {
position: absolute;
height: 100%;
padding: 0;
z-index: 0;
}
}
}
// remove border radius from jquery.bootstrap-touchspin.css
.bootstrap-touchspin .btn {
@if $enable-rounded != true {
border-radius: 0 !important;
}
}
/**
* Styles for product images container
* close button styles(in image section)
*/
.product-thumbnail {
display: block;
text-align: center;
position: relative;
a.product-thumbnail-link {
display: block;
}
.close-product {
position: absolute;
right: 3px;
top: 3px;
width: auto;
height: auto;
text-align: center;
z-index: 1;
opacity: 1;
font-size: 14px;
line-height: 1;
color: $gray-61;
@include hover-focus-active {
color: $brand-primary;
}
}
}
/**
* Product flags styles
* Used on product badges 'new', 'sale', 'pack' etc.
*/
ul.product-flags {
position: absolute;
left: 0;
top: 0;
width: 0;
z-index: 1;
li {
padding: 2px 5px 0;
min-width: 35px;
color: white;
font-weight: 400;
font-size: 12px;
line-height: 20px;
letter-spacing: $letter-spacing-xs;
text-transform: uppercase;
white-space: nowrap;
float: left;
clear: left;
&:not(:first-child) {
margin-top: 5px;
}
&.discount, &.label-daydeal, &.on-sale {
background: $brand-primary;
}
&.new {
background: $black;
}
&.online-only {
background: $brand-info;
}
&.pack {
background: $brand-warning;
}
}
@include media-breakpoint-up(md) {
li {
padding: 2px 6px 0 10px;
font-weight: 600;
font-size: 13px;
line-height: 25px;
letter-spacing: $letter-spacing;
&:not(:first-child) {
margin-top: 10px;
}
}
}
}
/**
* Product info styles
*/
.product-title {
font: 500 13px/15px $font-family-base;
color: $black;
a {
color: $black;
@include hover-focus-active {
color: $brand-primary;
}
}
}
.product-description-short {
font-size: $font-size-sm;
margin-bottom: 20px;
}
/**
* Category info styles
*/
.category-name {
font-weight: 300;
font-size: 30px;
line-height: 1.1;
font-family: $font-family-base;
@include media-breakpoint-up(xl) {
font-size: 40px;
}
}
/**
* Styles for color or texture attributes
* used in 'faceted search' module, product miniatures block and product combinations(product page and quickview).
*/
.variant-links {
margin: 0 -7px 10px;
line-height: 0;
.variant-links-item {
margin: 0 7px 10px;
display: inline-block;
a, label {
display: block;
margin: 0;
text-align: center;
cursor: pointer;
position: relative;
font-weight: 300;
font-size: 18px;
line-height: 20px;
font-family: $font-family-base;
color: $black;
transition: 0.3s;
&:after {
position: absolute;
content: '';
left: 0;
top: 100%;
background: $black;
height: 1px;
transition: all 0.3s ease-in-out;
width: 0;
opacity: 0;
}
&.color span, input {
display: none;
}
&.color {
width: 44px;
height: 44px;
border-radius: 100%;
&:after {
display: none;
}
&:before {
position: absolute;
@include addLinearIcons('\ec34', 13px, 44px, $black);
left: 0;
right: 0;
top: 0;
bottom: 0;
opacity: 0;
text-align: center;
transition: all 0.3s ease-in-out;
}
&[style*='background-color: #ffffff'] {
box-shadow: inset 0 0 0 1px $border-color;
}
}
}
&.active, &:hover {
a, label {
&:after {
width: 100%;
opacity: 1;
}
&.color {
}
}
}
&:hover {
a, label {
&.color {
transform: scale(0.9);
}
}
}
&.active {
a, label {
font-weight: 500;
&.color {
&:before {
opacity: 1;
}
}
}
}
}
.js-count {
display: none;
}
}
/**
* Products prices styles
* Use "product-price", "product-price-lg", "product-price-sm" classes on container with prices.
*/
.product-price, *[class^="product-price-"], *[class*=" product-price-"] {
font-size: 18px;
line-height: 1.111;
display: inline-flex;
align-items: baseline;
flex-wrap: wrap;
.price {
order: 1;
}
.regular-price {
order: 2;
}
.discount-percentage, .discount-amount {
order: 3;
}
.tax-shipping-delivery-label {
order: 4;
margin-right: 5px;
}
.daydeal-box {
order: 5;
flex: 1 1 100%;
}
.unit-price-cart {
order: 5;
}
&.product-price-lg {
font-size: 40px;
.price {
font-size: 40px;
line-height: 1.111;
margin-right: 10px;
}
.regular-price, .discount-percentage, .discount-amount {
font-size: 24px;
line-height: 1.111;
}
}
&.product-price-sm {
font-size: 16px;
.price {
font-size: 16px;
line-height: 1.111;
margin-right: 5px;
}
.regular-price {
margin-right: 5px;
}
.discount-percentage, .discount-amount, .unit-price-cart {
font-size: 16px;
line-height: 1.111;
}
}
&.with-discount {
.price {
margin-right: 8px;
}
.regular-price {
margin-right: 8px;
}
&.product-price-lg {
.price, .regular-price, .discount-percentage, .discount-amount {
margin-right: 10px;
}
}
}
}
.price {
font: $product-price-font;
color: $black;
}
.regular-price {
text-decoration: line-through;
font: $product-regular-price-font;
color: $gray-61;
}
.discount-percentage, .discount-amount, .unit-price-cart {
font: $product-discount-percentage;
color: $brand-primary;
}
.tax-shipping-delivery-label {
font: $product-regular-price-font;
color: $gray-61;
}
/**
* Styles for to top button | plugin material-scrolltop(npm)
*/
.material-scrolltop {
display: block;
position: fixed;
width: 0;
height: 0;
bottom: 23px;
right: 23px;
padding: 0;
overflow: hidden;
outline: none !important;
border: none;
box-shadow: 0 3px 10px rgba($brand-primary, 0.5);
cursor: pointer;
border-radius: 50%;
background: $brand-primary;
transition: all 0.3s cubic-bezier(0.25, 0.25, 0, 1);
&:hover {
background-color: darken($brand-primary, 10);
text-decoration: none;
box-shadow: 0 3px 10px rgba($brand-primary, 0.5), 0 3px 15px rgba($brand-primary, 0.5);
}
&.reveal {
width: 56px;
height: 56px;
}
i {
display: block;
font-size: 25px;
color: white;
}
}
.blockreassurance_product .item-product img.svg {
width: 25px;
height: 25px;
}
/**
* Styles for stick-up section
*/
#header .isStuck {
transition: 0.3s;
transform: translateY(0);
left: 0 !important;
width: 100% !important;
background: $header-bg;
border-bottom: solid 1px $black;
padding: 5px 15px;
&:not(:hover):not(.active) {
transform: translateY(-100%);
}
}
/**
* Styles for empty blocks, when you change content using a responsive.js
*/
div[id^="_mobile_"]:empty, div[class*="mobile_for_"]:empty {
display: none;
}
div[id^="_mobile_"]:not(:empty), div[class*="mobile_for_"]:not(:empty) {
-webkit-animation-duration: 1s;
animation-duration: 1s;
-webkit-animation-name: fadeIn;
animation-name: fadeIn;
}