File: D:/HostingSpaces/SBogers10/wingssprayer.komma.pro/resources/sass/6-Organisms/_organisms.flag.scss
$o-flag-bp1: 440;
$o-flag-bp2: 650;
$o-flag-bp-max: $bp-max;
$o-flag-content-height: 240px;
$o-flag-rating-max-size: 360px;
$o-flag-content-v-offset: halve($o-flag-rating-max-size - $o-flag-content-height);
$o-flag-rating-top-offset: 40px;
$o-flag-rating-left-offset: 40px;
.o-flag {
@include template();
color: palette(neutral, 0);
position: relative;
margin-top: calc(#{$o-flag-content-v-offset} + #{space(8)});
margin-bottom: $o-flag-content-v-offset;
// Left floating ornament with skewed edge
&::before {
@include mq($o-flag-bp-max) {
$width: column(2,14);
$height: $o-flag-content-height;
content: '';
display: block;
position: absolute;
top: $o-flag-content-v-offset;
left: calc(#{column(1,14)} - #{space(2)});
width: $width;
height: $height;
background-image: $gradient-blue;
transform: skew($site-skew-angle) translateX(-100%);
transform-origin: top right;
}
}
// Background-color with skewed edge
&:after {
content: '';
background-color: palette(primary);
position: absolute;
z-index: -1;
top: 0;
bottom: 0;
left: 0;
right: 0;
@include mq($o-flag-bp-max) {
transform: skew($site-skew-angle) translateX(-2vw);
left: column(-1);
right: 40px; // magic value: minimum needed offset to avoid a scrollbar
}
}
}
.o-flag__main {
@include contain;
position: relative;
}
.o-flag__partners {
display: flex;
flex-direction: column;
justify-content: center;
padding: space(2) 0 space(4);
margin: 0 auto;
max-width: 750px;
@include mq($o-flag-bp-max) {
margin: 0; // reset
max-width: none; // reset
height: $o-flag-content-height;
width: calc(100% - #{$o-flag-rating-max-size + $o-flag-rating-left-offset});
}
}
.o-flag__heading {
margin-bottom: space(2);
}
.o-flag__slider {
display: flex;
align-items: center;
margin-left: column(-0.5);
margin-right: column(-0.5);
@include mq($o-flag-bp2) {
margin: 0;
}
}
.o-flag__button {
flex: none;
display: none;
align-items: center;
justify-content: center;
width: 30px;
height: 30px;
color: palette(secondary, 300);
background-color: transparent;
border: 1px solid currentColor;
border-radius: 500px;
transition: all 150ms linear;
cursor: pointer;
@include mq($o-flag-bp2) {
width: 48px;
height: 48px;
}
&:hover {
color: palette(secondary, 100);
}
&:focus {
outline: none;
}
&[data-activated="true"] {
display: flex;
}
}
.o-flag__tray {
overflow-x: hidden;
width: 100%;
}
.o-flag__list {
display: flex;
list-style: none;
margin-left: 0;
}
.o-flag__item {
$o-flag-item-gap: space(0.5);
flex: none;
order: 999;
align-items: center;
width: calc(#{column(1,4)} - #{double($o-flag-item-gap)});
margin: 0 $o-flag-item-gap;
@include mq($o-flag-bp2) {
$o-flag-item-gap: space(1.5);
width: calc(#{column(1,4)} - #{double($o-flag-item-gap)});
margin: 0 $o-flag-item-gap;
}
@include mq($o-flag-bp-max) {
$o-flag-item-gap: space(3);
width: calc(#{column(1,4)} - #{double($o-flag-item-gap)});
margin: 0 $o-flag-item-gap;
}
// Active state is set by javascript
&.is-active {
display: flex;
// Set order of all active sliders so they are in the right position.
@for $i from 1 through 4 {
&[data-range-index="#{$i}"] {
order: $i;
}
}
}
}
.o-flag__image {
pointer-events: none;
}
.o-flag__rating {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
margin-left: calc(#{column(-1)});
margin-right: calc(#{column(-1)});
padding: space(4);
text-align: center;
color: palette(neutral, 0);
background-image: $gradient-blue;
@include mq($o-flag-bp-max) {
position: absolute;
margin: auto; // reset
padding: space(2);
right: 0;
top: 50%;
width: 360px;
height: 360px;
border-radius: 100%;
transform: translateY(-50%);
}
}
.o-flag__logo {
margin-bottom: space(5);
}
.o-flag__score {
width: 240px;
display: flex;
justify-content: space-between;
align-items: center;
border-radius: 500px;
margin-bottom: space(3);
padding: 9px space(3);
border: 1px solid palette(neutral, 0);
}
.o-flag__stars {
display: flex;
}
.o-flag__points {
@include font-size(l);
@include font-weight(bold);
}
.o-flag__reviews {
@include font-weight(bold);
}