#vips {}
@media (min-width: 900px) { #vips { margin: 100px 0; } }
@media (max-width: 899.99px) { #vips { margin: 75px 0; } }

/*------------------------------------------------------------------------*/

#vips > .content-wrapper {
	display: flex;
	flex-direction: column;
}
@media (min-width: 900px)	 { #vips > .content-wrapper { row-gap: 65px; } }
@media (max-width: 899.99px) { #vips > .content-wrapper { row-gap: 35px; } }

/*------------------------------------------------------------------------*/

#vips > .content-wrapper > header {
	text-align: center;
}
#vips > .content-wrapper > header > * {
	max-width: 650px;
	margin: 0 auto;
}
#vips > .content-wrapper > header > :not(:last-child) { margin-bottom: 25px; }
#vips > .content-wrapper > header > .hook {
	line-height: 130%;
	font-weight: 500;
}
#vips > .content-wrapper > header > .title {
	max-width: 450px;
	
	line-height: 100%;
	font-weight: 500;
}
@media (min-width: 900px) {
	#vips > .content-wrapper > header > .hook {
		line-height: 25px;
		font-size: 20px;
	}
	#vips > .content-wrapper > header > .title {
		font-size: 50px;
	}
}
@media (max-width: 899.99px) {
	#vips > .content-wrapper > header > .hook {
		line-height: 25px;
		font-size: 20px;
	}
	#vips > .content-wrapper > header > .title {
		font-size: 36px;
	}
}

/*------------------------------------------------------------------------*/

#vips > .content-wrapper > .vips-wrapper {
	position: relative;
	display: grid;
	row-gap: 25px;
}
@media (min-width: 900px) {
	#vips > .content-wrapper > .vips-wrapper {
		grid-template-areas:
			"vips	vips"
			"cta	controls";
		grid-template-columns: repeat(2, auto);
		grid-template-rows: 650px auto;
		padding-top: 90px;
	}
}
@media (max-width: 899.99px) {
	#vips > .content-wrapper > .vips-wrapper {
		grid-template-areas:
			"vips"
			"controls"
			"cta";
		grid-template-columns: 1fr;
		grid-template-rows: 650px auto auto;
		padding-top: 75px;
	}
}

/*------------------------------------------------------------------------*/

#vips > .content-wrapper > .vips-wrapper > .vips {
	grid-area: vips;
	position: relative;
	
	isolation: isolate;
}

#vips > .content-wrapper > .vips-wrapper > .vips > .vip {
	position: absolute; top: 0; left: 0; z-index: -3;
	display: grid; height: 100%; width: 100%;
	
	background-clip:
		padding-box,
		border-box;
	border: solid 1px transparent;
	border-radius: 30px;
	
	color: #000;
	
	isolation: isolate;
}
#vips > .content-wrapper > .vips-wrapper > .vips > .vip:nth-last-child(3) { z-index: -2; }
#vips > .content-wrapper > .vips-wrapper > .vips > .vip:nth-last-child(2) { z-index: -1; }
#vips > .content-wrapper > .vips-wrapper > .vips > .vip:nth-last-child(1) { z-index: 0; }
#vips > .content-wrapper > .vips-wrapper > .vips > .vip.slide-1 {
	background-image:
		linear-gradient(295deg, #B3CCDC 8%, #D5ED99 75%),
		linear-gradient(245deg, #FFFFFF, #D6FFBB);
}
#vips > .content-wrapper > .vips-wrapper > .vips > .vip.slide-2 {
	background-image:
		linear-gradient(180deg, rgba(201,221,233,.93), rgba(219,191,200,.93)),
		linear-gradient(245deg, #FFFFFF, #D6FFBB);
}
#vips > .content-wrapper > .vips-wrapper > .vips > .vip.slide-3 {
	background-image:
		linear-gradient(0deg, #FBFAF5, #FBFAF5),
		linear-gradient(245deg, #FFFFFF, #D6FFBB);
}
#vips > .content-wrapper > .vips-wrapper > .vips > .vip.slide-4 {
	background-image:
		linear-gradient(0deg, #364A67, #364A67),
		linear-gradient(245deg, #FFFFFF, #D6FFBB);
	color: #FFF;
}

#vips > .content-wrapper > .vips-wrapper > .vips > .vip > * {
	position: absolute; top: 0; left: 0;
	height: 100%; width: 100%;
}
#vips > .content-wrapper > .vips-wrapper > .vips > .vip > .illustration {
	grid-area: illustration;
	overflow: hidden;
	
	background-image: linear-gradient(245deg, #FFFFFF, #D6FFBB);
	border: solid 1px transparent;
	border-radius: 15px;
}
#vips > .content-wrapper > .vips-wrapper > .vips > .vip > .wrapper { grid-area: content; }
#vips > .content-wrapper > .vips-wrapper > .vips > .vip > .wrapper > .content {
	height: 100%; overflow: auto;
	padding: 50px 0;
	
	--mask-image: linear-gradient(to bottom, transparent 25px , #000 50px, #000 calc(100% - 50px), transparent calc(100% - 25px));
	
	-webkit-mask-image: var(--mask-image);
	mask-image: var(--mask-image);
}
#vips > .content-wrapper > .vips-wrapper > .vips > .vip > .wrapper > .content > .scrollable {
	display: flex; min-height: 100%; width: 100%;
	flex-direction: column;
	justify-content: center;
	row-gap: 25px;
}
#vips > .content-wrapper > .vips-wrapper > .vips > .vip > .wrapper > .content > .scrollable > .title {
	margin: 0;
	
	line-height: 110%;
	font-weight: 600;
}
#vips > .content-wrapper > .vips-wrapper > .vips > .vip > .wrapper > .content > .scrollable > .title:before { content: open-quote; }
#vips > .content-wrapper > .vips-wrapper > .vips > .vip > .wrapper > .content > .scrollable > .title:after { content: close-quote; }
#vips > .content-wrapper > .vips-wrapper > .vips > .vip > .wrapper > .content > .scrollable > .description {
	line-height: 130%;
	font-size: 20px;
}
@media (min-width: 900px) {
	#vips > .content-wrapper > .vips-wrapper > .vips > .vip {
		transform: translateY(-90px);
		grid-template-areas: "illustration content";
		grid-template-columns: repeat(2, 1fr);
		grid-template-rows: 1fr;
		column-gap: 50px;
		padding: 30px;
	}
	#vips > .content-wrapper > .vips-wrapper > .vips > .vip:nth-last-child(3) { transform: translateY(-60px); }
	#vips > .content-wrapper > .vips-wrapper > .vips > .vip:nth-last-child(2) { transform: translateY(-30px); }
	#vips > .content-wrapper > .vips-wrapper > .vips > .vip:nth-last-child(1) { transform: translateY(0); }
	
	#vips > .content-wrapper > .vips-wrapper > .vips .vip > .wrapper > .content {
		padding-right: 30px;
		margin-right: -30px;
	}
	#vips > .content-wrapper > .vips-wrapper > .vips .vip > .wrapper > .content > .scrollable > .title { font-size: 36px; }
}
@media (max-width: 899.99px) {
	#vips > .content-wrapper > .vips-wrapper > .vips > .vip {
		grid-template-areas:
			"illustration"
			"content";
		grid-template-columns: 1fr;
		grid-template-rows: repeat(2, 1fr);
		padding: 25px;
	}
	#vips > .content-wrapper > .vips-wrapper > .vips > .vip:not(:last-child)  { transform: translateY(-75px); }
	#vips > .content-wrapper > .vips-wrapper > .vips > .vip:nth-last-child(3) { transform: translateY(-50px); }
	#vips > .content-wrapper > .vips-wrapper > .vips > .vip:nth-last-child(2) { transform: translateY(-25px); }
	
	#vips > .content-wrapper > .vips-wrapper > .vips .vip > .wrapper > .content {
		padding-right: 25px;
		margin-right: -25px;
	}
	#vips > .content-wrapper > .vips-wrapper > .vips .vip > .wrapper > .content > .scrollable .title { font-size: 28px; }
}

/*------------------------------------------------------------------------*/

#vips > .content-wrapper > .vips-wrapper > .controls {
	grid-area: controls;
	display: flex;
	flex-direction: row;
	column-gap: 10px;
}
@media (min-width: 900px)	 { #vips > .content-wrapper > .vips-wrapper > .controls { justify-self: flex-end; } }
@media (max-width: 899.99px) { #vips > .content-wrapper > .vips-wrapper > .controls { justify-self: center; } }

#vips > .content-wrapper > .vips-wrapper > .controls > .control {
	position: relative;
	display: block; height: 50px; width: 50px;
	
	background-color: #1C3558;
	border: solid 1px rgba(0,0,0,.3);
	border-radius: 50%;
	
	transition:
		background-color .4s ease-out,
		border-width	 .4s ease-out,
		border-color	 .4s ease-out;
	
	cursor: pointer;
}
#vips > .content-wrapper > .vips-wrapper > .controls > .control:after {
	content: '';
	box-sizing: border-box;
	position: absolute; top: 0; left: 0;
	display: block; height: 100%; width: 100%;
	padding: 15.5px;
	
	background-color: #FFF;
	transition: background-color .4s ease-out;
	
	--mask-image: url("../../images/icons/arrow.down.svg");
	--mask-repeat: no-repeat;
	--mask-position: center;
	--mask-origin: content-box;
	--mask-size: contain;
	
	-webkit-mask-image: var(--mask-image);
	mask-image: var(--mask-image);
	-webkit-mask-repeat: var(--mask-repeat);
	mask-repeat: var(--mask-repeat);
	-webkit-mask-position: var(--mask-position);
	mask-position: var(--mask-position);
	-webkit-mask-origin: var(--mask-origin);
	mask-origin: var(--mask-origin);
	-webkit-mask-size: var(--mask-size);
	mask-size: var(--mask-size);
}
#vips > .content-wrapper > .vips-wrapper > .controls > .control-prev:after { transform: rotate(90deg); }
#vips > .content-wrapper > .vips-wrapper > .controls > .control-next:after { transform: rotate(-90deg); }
#vips > .content-wrapper > .vips-wrapper > .controls > .control:hover {
	background-color: #FFF;
	border-color: #000;
}
#vips > .content-wrapper > .vips-wrapper > .controls > .control:hover:after { background-color: #000; }

/*------------------------------------------------------------------------*/

#vips > .content-wrapper > .vips-wrapper > .cta-btn { grid-area: cta; }
@media (min-width: 900px)	 { #vips > .content-wrapper > .vips-wrapper > .cta-btn { justify-self: flex-start; } }
@media (max-width: 899.99px) { #vips > .content-wrapper > .vips-wrapper > .cta-btn { justify-self: center; } }