HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/ste.komma.pro/resources/sass/6-Organisms/_organisms.testimonials.scss
$o-testimonials-bp-medium:              900;
$o-testimonial-button-size:             32px;
$o-testimonial-button-offset:           space(3);
$o-testimonials-small-picture-size:     160px;
$o-testimonials-large-picture-size:     432px;
$o-testimonials-item-pad:               space(3);


.o-testimonials {
	position: relative;
	overflow: hidden; // needed because of sliding cards off screen causes unwanted scrollbar
}


.o-testimonials--no-items {
	&:before {
		display: none;
	}

	background-image: linear-gradient(palette(primary, 500) space(5), palette(primary, 600) calc(100% - #{space(5)}));
}


.o-testimonials__main {
	position: relative;
	z-index: 1;

	@include mq($max: $o-testimonials-bp-medium) {
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-top: halve($o-testimonials-small-picture-size);
		background-image: linear-gradient(palette(primary, 500) space(5), palette(primary, 600) calc(100% - #{space(5)}));
	}

	@include contain($o-testimonials-bp-medium);
}


.o-testimonials__tray {
	position: relative;
	display: grid;
	grid-template-rows: auto;
	grid-template-columns: auto;

	@include mq($max: $o-testimonials-bp-medium) {
		padding: space(3) 0;
		max-width: 440px;
	}

	@include mq($o-testimonials-bp-medium) {
		margin: 0 $o-testimonial-button-size + $o-testimonial-button-offset;

		&::before {
		    content: '';
		    position: absolute;
		    z-index: -1;
		    top: 50%;
		    bottom: -100%;
		    right: -100vw;
		    left: -100vw;
			background-image: linear-gradient(palette(primary, 500) space(5), palette(primary, 600) calc(100% - #{space(5)}));
		}
	}
}


.o-testimonials__button {
	position: absolute;
	z-index: 2;
	top: calc(50% - #{halve($o-testimonial-button-size)});
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: $o-testimonial-button-size;
	height: $o-testimonial-button-size;
	color: palette(primary, 500);
	background-color: palette(primary, 200);
	border: none;
	border-radius: 50%;
	transition: all 150ms linear;
	cursor: pointer;

	& svg {
		width: 12px;
		height: 12px;
	}

	&:hover {
		background-color: palette(secondary, 200);
		color: palette(secondary, 500);
	}

	&:active {
		background-color: palette(secondary, 400);
		color: palette(secondary, 200);
	}

	&:focus {
		outline: none;
	}

	&.is-previous {
		left: calc(#{column(1)} - #{halve($o-testimonial-button-size)});

		@include mq($o-testimonials-bp-medium) {
			left: -1 * ($o-testimonial-button-size + $o-testimonial-button-offset);
		}
	}

	&.is-next {
		right: calc(#{column(1)} - #{halve($o-testimonial-button-size)});

		@include mq($o-testimonials-bp-medium) {
			right: -1 * ($o-testimonial-button-size + $o-testimonial-button-offset);
		}
	}
}


.o-testimonials__item {
	opacity: 0; // hide by default
	grid-row: 1;
	grid-column: 1;
	z-index: 0;
	padding-top: 20px; // for shadow
	transition: transform 650ms cubic-bezier(0.37, 0.16, 0.21, 1),
				opacity 650ms cubic-bezier(0.37, 0.16, 0.21, 1);
	transition-delay: 0s, 0s;

	&.is-previous {
		transform: translateX(-140px) scale(0.8);
		transition-delay: 0s, 0.3s;
	}

	&.is-next {
		transform: translateX(140px) scale(0.8);
		transition-delay: 0s, 0.3s;
	}

	&.is-active {
		opacity: 1;
		transform: none;
		z-index: 1;
	}
}


.o-testimonials__card {
	background: palette(neutral, 0);
	box-shadow: 0 20px 48px 0 rgba(0,0,0,0.20);

	@include mq($max: $o-testimonials-bp-medium) {
		margin: 0 column(1);
		padding: $o-testimonials-item-pad;
		border-radius: map_get($border-radius, s) map_get($border-radius, s) map_get($border-radius, l) map_get($border-radius, xs);
	}

	// Picture and content side by side
	@include mq($o-testimonials-bp-medium) {
		position: relative;
		display: flex;
		border-radius: map_get($border-radius, s) map_get($border-radius, xs) map_get($border-radius, xl) map_get($border-radius, s);

		&::before {
		    content: '';
		    position: absolute;
		    z-index: -1;
		    bottom: 48px;
		    left: -60px;
			width: 88px;
			height: 88px;
			background-image: url(/img/plane-ornament-1.svg);
		}
		&::after {
			content: '';
			position: absolute;
			z-index: -1;
			bottom: 136px;
			right: -16px;
			width: 32px;
			height: 32px;
			background-image: url(/img/plane-ornament-2.svg);
		}
	}
}


.o-testimonials__picture-small {
	display: block;
	width: $o-testimonials-small-picture-size;
	height: $o-testimonials-small-picture-size;
	pointer-events: none;

	@include mq($max: $o-testimonials-bp-medium) {
		margin-top: calc(-1 * (#{$o-testimonials-item-pad} + #{space(3)} + #{halve($o-testimonials-small-picture-size)}));
		margin-left: auto;
		margin-right: auto;
	}

	& img {
		border-radius: map_get($border-radius, xs);
		object-fit: cover;
	}

	// hide small image on large viewports
	@include mq($o-testimonials-bp-medium) {
		display: none;
	}
}


.o-testimonials__picture-large {
	border-top-left-radius: map_get($border-radius, s);
	border-bottom-left-radius: map_get($border-radius, s);
	flex: 1 1 $o-testimonials-large-picture-size;
	overflow: hidden;
	pointer-events: none;

	@include mq($max: $o-testimonials-bp-medium) {
		display: none;
	}

	& img {
		height: 100%;
		object-fit: cover;
	}
}


.o-testimonials__content {
	display: flex;
	flex-direction: column;
	flex: 1 1 55%;

	@include mq($o-testimonials-bp-medium) {
		padding: space(6);
	}
}


.o-testimonials__name{
	@include font-weight(extraBold);
	margin-top: space(1);
	color: palette(primary, 500);
}


.o-testimonials__subtitle {
	@include font-weight(extraBold);
}


.o-testimonials__description {
	margin-top: space(4);
	margin-bottom: space(3);
}


.o-testimonials__more {
	margin-top: auto;
}


// Footer includes feedback rating & button
.o-testimonials__footer {
	@include contain;
	padding-bottom: space(5);
	color: palette(neutral, 0);

	@include mq($max: $o-testimonials-bp-medium) {
		text-align: center;
	}

	@include mq($o-testimonials-bp-medium) {
		display: flex;
		padding: space(10) 0 space(10) space(15);
	}
}


.o-testimonials__feedback {
	display: inline-flex;
	flex-direction: column;

	@include mq($o-testimonials-bp-medium) {
		flex: 1 1 column(4);
	}
}


.o-testimonials__rating {
	display: flex;
	margin-top: space(3);
}


.o-testimonials__cta {
	@include mq($max: $o-testimonials-bp-medium) {
		margin-top: space(5);
	}
	@include mq($o-testimonials-bp-medium) {
		flex: 1 1 column(8);
	}
}

.o-testimonials__cta-heading {
	@include font-size(l);
	@include font-weight(extraBold);
	margin-bottom: space(3);
}