File: D:/HostingSpaces/blijegasten/blijegasten.be/resources/sass/site/6-Organisms/_organisms.modal.scss
$o-modal-gutter: space(3);
$o-modal-bp: 550;
.o-modal {
@include z(z-modal);
display: block;
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
opacity: 0;
overflow: auto;
transition: opacity 200ms linear;
pointer-events: none;
&.is-modal-visible {
opacity: 1;
pointer-events: auto;
}
}
.o-modal__shader {
position: fixed;
top: 0;
left: 0;
bottom: 0;
right: 0;
background-color: palette(neutral, 1000);
cursor: pointer;
opacity: 0.8;
transition: background-color .15s linear;
}
.o-modal__main {
position: relative;
z-index: 2;
width: 100%;
min-height: 100%;
padding: 5vw;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
.is-modal-visible & {
pointer-events: none;
}
}
.o-modal__content {
position: relative;
z-index: 3;
display: flex;
align-items: center;
width: 90vw;
background-color: palette(neutral, 0);
opacity: 0;
transform: translateY(25px);
transition-property: transform, opacity;
transition-timing-function: cubic-bezier(.17, .84, .44, 1), linear;
transition-duration: 300ms, 300ms;
transition-delay: 0s;
@include mq(640) {
max-width: 576px;
}
.is-modal-visible & {
opacity: 1;
pointer-events: all;
transform: translateY(0px);
transition-delay: 150ms, 150ms;
}
}
.o-modal__image-container {
display: block;
text-align: center;
//display: flex;
//align-content: center;
width: column(2,6);
padding: 10px;
img {
display: inline-block;
}
}
.o-modal__main-content {
width: column(4,6);
padding: 32px 50px 20px 0;
}
.o-modal__form {
.c-input {
padding: 10px 0;
text-align: center;
}
@include mq($o-modal-bp) {
display: flex;
justify-content: flex-start;
.c-input {
padding: 10px 0 10px 12px;
}
}
}
.o-modal__input {
max-width: 68px;
}
.o-modal__stack {
margin-top: 6px;
@include font-weight(semi-bold);
color: palette(neutral, 400);
}
.o-modal__add {
@include mq($max: $o-modal-bp) {
margin-top: space(1);
}
@include mq($o-modal-bp) {
margin-left: space(1);
}
}
.o-modal__add-to-cart-content {
margin-top: space(4);
//min-height: 164px;
@include mq($o-modal-bp) {
margin-top: space(7);
}
}
.o-modal__continue{
padding: $o-modal-gutter;
}
.o-modal__button {
& + & {
margin-top: space(2);
}
}
.o-modal__heading {
@include font-family(primary);
@include font-size(l);
@include font-weight('bold');
line-height: 1.4;
margin-bottom: space(0.5);
}
.o-modal__price {
color: palette(neutral, 400);
@include font-size(base);
@include font-weight('semi-bold');
}
.o-modal__price-amount {
display: inline-block;
margin-right: space(0.5);
@include font-size(l);
}
.o-modal__continue-choices {
margin-top: space(2);
padding-bottom: space(1);
}
.o-modal__product-added-notification {
display: flex;
justify-content: space-between;
align-content: flex-start;
max-width: 280px;
margin-bottom: space(2);
padding: space(1) space(1.5);
background-color: palette(positive, 100);
border: 1px solid palette(positive);
@include border-radius(s);
@include font-size(15, 19);
color: palette(positive, 700);
}
.o-modal__product-added-text {
width: calc(100% - #{space(1)} - 12px);
}
.o-modal__check {
display: inline-block;
padding-top: 5px;
svg {
width: 12px;
height: 10px;
}
}
.o-modal__image {
display: block;
margin: auto;
}
.o-modal__continue-line {
@include font-size(base);
}
.o-modal__close {
position: absolute;
z-index: 2;
right: 20px;
top: 10px;
flex: none;
text-align: center;
padding: 16px 0 0;
margin-top: 12px;
appearance: none;
background-color: transparent;
border: none;
cursor: pointer;
color: palette(neutral, 1000);
transition: color 0.3s;
&::after,
&::before {
content: "";
position: absolute;
top: 8px;
left: 50%;
display: inline-block;
background-color: currentColor;
width: 14px;
height: 2px;
transform: translate3d(-50%,0,0) rotate(45deg);
}
&::after {
transform: translate3d(-50%,0,0) rotate(-45deg);
}
&:hover {
color: palette(neutral, 400);
}
}
.o-modal__close-text {
display: inline-block;
color: palette(neutral, 400);
@include font-size(base);
@include font-weight(semi-bold);
transition: color 0.3s;
.o-modal__close:hover & {
color: palette(neutral, 200);
}
}