.rivs-wrapper{
	max-width: 1400px;
	margin: 0 auto;
	padding: 40px 16px 14px;
	box-sizing: border-box;
}

.rivs-wrapper *{
	box-sizing: border-box;
}

.rivs-title{
	text-align: center;
	font-size: 32px;
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 28px;
	color: var(--rivs-title-color, #11211D);
}

/* =========================
   SLIDER
   ========================= */

.rivs-swiper{
	width: 100%;
	padding: 0 0 52px;
	overflow: hidden;
}

.rivs-swiper .swiper-slide{
	width: auto;
	max-width: min(85vw, 1100px);

	border-radius: 14px;
	overflow: hidden;

	opacity: var(--rivs-side-opacity, .65);
	transform: scale(.94);

	background: #eee;

	transition:
		opacity .35s ease,
		transform .35s ease,
		box-shadow .35s ease;
}

.rivs-swiper .swiper-slide-active{
	opacity: 1;
	transform: scale(1);

	box-shadow: 0 12px 32px rgba(0,0,0,.13);
}

.rivs-swiper .rivs-media{
	height: 500px;
	width: auto;
	max-width: 100%;

	object-fit: cover;
	object-position: center;

	display: block;

	border-radius: 14px;
	background: #e9edeb;
}

/* =========================
   ARROWS
   ========================= */

.rivs-prev,
.rivs-next{
	color: var(--rivs-arrow-color, #0F5C4C);
	background: var(--rivs-arrow-bg, #FFFFFF);

	width: var(--rivs-arrow-size, 46px);
	height: var(--rivs-arrow-size, 46px);

	border-radius: 50%;

	box-shadow: 0 8px 22px rgba(0,0,0,.16);

	transition:
		transform .2s ease,
		box-shadow .2s ease;
}

.rivs-prev:hover,
.rivs-next:hover{
	transform: scale(1.06);

	box-shadow: 0 12px 28px rgba(0,0,0,.22);
}

.rivs-prev::after,
.rivs-next::after{
	font-size: calc(var(--rivs-arrow-size, 46px) * .36);
	font-weight: 900;
}

.rivs-swiper .swiper-button-disabled{
	opacity: .35;
}

/* =========================
   PAGINATION
   ========================= */

.rivs-pagination{
	position: absolute !important;

	left: 50% !important;
	right: auto !important;

	bottom: 5px !important;

	transform: translateX(-50%) !important;

	width: max-content !important;
	max-width: calc(100% - 30px);

	display: flex !important;
	align-items: center;
	justify-content: center;

	padding: 6px 10px;

	border-radius: 30px;

	background: rgba(255,255,255,.95);

	box-shadow: 0 4px 16px rgba(0,0,0,.12);

	white-space: nowrap;
	overflow: hidden;

	z-index: 10;
}

.rivs-pagination .swiper-pagination-bullet{
	width: 7px;
	height: 7px;

	margin: 0 3px !important;

	flex: 0 0 auto;

	background: var(--rivs-dot-inactive, #D6DEDC);

	opacity: 1;

	border-radius: 50%;

	transition:
		width .2s ease,
		background .2s ease;
}

.rivs-pagination .swiper-pagination-bullet-active{
	width: 18px;
	height: 7px;

	border-radius: 20px;

	background: var(--rivs-dot-active, #0F5C4C);
}

/* =========================
   SETTINGS
   ========================= */

.rivs-wrapper.rivs-no-arrows .rivs-prev,
.rivs-wrapper.rivs-no-arrows .rivs-next{
	display: none !important;
}

.rivs-wrapper.rivs-no-dots .rivs-pagination{
	display: none !important;
}

/* =========================
   ZOOM ICON
   ========================= */

.rivs-slide-trigger{
	position: relative;
	display: block;
	cursor: zoom-in;
}

.rivs-zoom-icon{
	position: absolute;

	right: 14px;
	bottom: 14px;

	width: 38px;
	height: 38px;

	border-radius: 50%;

	background: rgba(0,0,0,.55);
	color: #fff;

	display: flex;
	align-items: center;
	justify-content: center;

	opacity: 0;
	transform: translateY(6px);

	transition:
		opacity .25s ease,
		transform .25s ease,
		background .25s ease;

	pointer-events: none;
}

.rivs-slide-trigger:hover .rivs-zoom-icon{
	opacity: 1;
	transform: translateY(0);
}

.rivs-slide-trigger:hover .rivs-zoom-icon{
	background: rgba(0,0,0,.70);
}

/* =========================
   LIGHTBOX
   ========================= */

.rivs-lightbox{
	position: fixed;
	inset: 0;

	z-index: 999999;

	background: rgba(8,14,12,.94);

	display: flex;
	align-items: center;
	justify-content: center;

	opacity: 0;
	visibility: hidden;

	transition:
		opacity .3s ease,
		visibility .3s ease;
}

.rivs-lightbox.is-open{
	opacity: 1;
	visibility: visible;
}

.rivs-lb-stage{
	max-width: 90vw;
	max-height: 84vh;

	display: flex;
	align-items: center;
	justify-content: center;
}

.rivs-lb-stage img,
.rivs-lb-stage video{
	max-width: 90vw;
	max-height: 84vh;

	width: auto;
	height: auto;

	border-radius: 8px;

	display: block;

	box-shadow: 0 30px 80px -20px rgba(0,0,0,.6);
}

.rivs-lb-close,
.rivs-lb-prev,
.rivs-lb-next{
	position: absolute;

	background: rgba(255,255,255,.12);
	color: #fff;

	border: none;
	cursor: pointer;

	border-radius: 50%;

	display: flex;
	align-items: center;
	justify-content: center;

	transition:
		background .2s ease,
		transform .2s ease;
}

.rivs-lb-close:hover,
.rivs-lb-prev:hover,
.rivs-lb-next:hover{
	background: rgba(255,255,255,.25);
}

.rivs-lb-close{
	top: 22px;
	right: 22px;

	width: 42px;
	height: 42px;

	font-size: 22px;
	line-height: 1;
}

.rivs-lb-prev,
.rivs-lb-next{
	top: 50%;

	transform: translateY(-50%);

	width: 50px;
	height: 50px;

	font-size: 22px;
}

.rivs-lb-prev{
	left: 20px;
}

.rivs-lb-next{
	right: 20px;
}

.rivs-lb-prev:hover,
.rivs-lb-next:hover{
	transform: translateY(-50%) scale(1.06);
}

.rivs-lb-counter{
	position: absolute;

	bottom: 22px;
	left: 50%;

	transform: translateX(-50%);

	color: rgba(255,255,255,.85);

	font-size: 13px;
	letter-spacing: .04em;

	background: rgba(255,255,255,.12);

	padding: 6px 14px;

	border-radius: 100px;
}

/* =========================
   TABLET
   ========================= */

@media (max-width: 900px){

	.rivs-wrapper{
		padding: 30px 12px 10px;
	}

	.rivs-swiper{
		padding-bottom: 48px;
	}

	.rivs-swiper .rivs-media{
		height: 320px;
	}

	.rivs-title{
		font-size: 26px;
		margin-bottom: 22px;
	}

}

/* =========================
   MOBILE
   ========================= */

@media (max-width: 640px){

	.rivs-wrapper{
		padding: 24px 8px 8px;
	}

	.rivs-swiper{
		width: 100%;
		padding-bottom: 46px;
	}

	.rivs-swiper .swiper-slide{
		max-width: 88vw;

		border-radius: 11px;

		transform: scale(.95);
	}

	.rivs-swiper .swiper-slide-active{
		transform: scale(1);
	}

	.rivs-swiper .rivs-media{
		height: 220px;
		width: auto;
		max-width: 100%;

		border-radius: 10px;
	}

	.rivs-title{
		font-size: 21px;
		margin-bottom: 18px;
	}

	/* Mobile dots */

	.rivs-pagination{
		left: 50% !important;
		right: auto !important;

		bottom: 3px !important;

		transform: translateX(-50%) !important;

		max-width: calc(100% - 30px);

		padding: 5px 8px;
	}

	.rivs-pagination .swiper-pagination-bullet{
		width: 6px;
		height: 6px;

		margin: 0 2.5px !important;
	}

	.rivs-pagination .swiper-pagination-bullet-active{
		width: 16px;
		height: 6px;
	}

	.rivs-prev,
	.rivs-next{
		width: 38px;
		height: 38px;
	}

	.rivs-prev::after,
	.rivs-next::after{
		font-size: 13px;
	}

	.rivs-lb-prev,
	.rivs-lb-next{
		width: 40px;
		height: 40px;

		font-size: 18px;
	}

	.rivs-lb-prev{
		left: 8px;
	}

	.rivs-lb-next{
		right: 8px;
	}

	.rivs-lb-close{
		top: 12px;
		right: 12px;

		width: 36px;
		height: 36px;

		font-size: 18px;
	}

	.rivs-zoom-icon{
		opacity: 1;
		transform: none;

		width: 32px;
		height: 32px;

		right: 10px;
		bottom: 10px;
	}

}

/* =========================
   SMALL MOBILE
   ========================= */

@media (max-width: 560px){

	.rivs-wrapper{
		padding: 22px 6px 6px;
	}

	.rivs-swiper{
		padding-bottom: 44px;
	}

	.rivs-swiper .swiper-slide{
		max-width: 90vw;
	}

	.rivs-swiper .rivs-media{
		height: 220px;
	}

}

/* =========================
   VERY SMALL MOBILE
   ========================= */

@media (max-width: 380px){

	.rivs-swiper .swiper-slide{
		max-width: 91vw;
	}

	.rivs-swiper .rivs-media{
		height: 170px;
	}

	.rivs-pagination{
		max-width: calc(100% - 20px);
		padding: 5px 7px;
	}

	.rivs-pagination .swiper-pagination-bullet{
		width: 5px;
		height: 5px;
		margin: 0 2px !important;
	}

	.rivs-pagination .swiper-pagination-bullet-active{
		width: 14px;
		height: 5px;
	}

}