:root {
	--measure: 1392px;
	--border-radius--default: 8px;
	--gap--default: 32px;
	--gap--smaller: 16px;
	--body-padding: 16px;
	--r2-font-size: clamp(16px, calc(0.8vw + 10px), 20px);
	--r2-font-size-xl: calc(var(--r2-font-size) * 3.6);
	--r2-font-size-h1: calc(var(--r2-font-size) * 2.1);
	--r2-font-size-h2: calc(var(--r2-font-size) * 1.6);
	--r2-font-size-h3: calc(var(--r2-font-size) * 1.3);
	--r2-font-size-smaller: calc(var(--r2-font-size) * 0.9);
	--r2-font-size-caption: calc(var(--r2-font-size) * 0.8);
	--r2-font-size-lead: var(--r2-font-size-h3);
	--color-revizto-red: #ed1c24;
	--color-demo-blue: #1d6fed;
	--color-demo-blue--hover: #1964D6;
	--color-demo-blue--active: #1658bb;
	--color-revup-grey: #636973;
	--color-light-grey: #cecece;
	--color-xlight-grey: #f7f7fa;
	--card-width--default: 300px;
	--card-width--mobile: calc(calc(100vw - var(--gap--default) * 2))
}

div.r2 {
	font-weight: 400;
	font-size: var(--r2-font-size);
	line-height: 1.2
}

div.r2 *,
div.r2 *::before,
div.r2 *::after {
	box-sizing: border-box
}

div.r2 h1 {
	font-weight: 600;
	font-size: var(--r2-font-size-h1);
	line-height: 1.1;
	margin: 0 0 calc(var(--r2-font-size-h1)/2) 0
}

div.r2 h2 {
	font-weight: 600;
	font-size: var(--r2-font-size-h2);
	line-height: 1.2;
	margin: 0 0 calc(var(--r2-font-size-h2)/2) 0
}

div.r2 h3 {
	font-weight: 600;
	font-size: var(--r2-font-size-h3);
	line-height: 1.3;
	margin: 0 0 calc(var(--r2-font-size-h3)/2) 0
}

div.r2 h4 {
	font-weight: 600;
	font-size: var(--r2-font-size);
	line-height: 1.4;
	margin: 0 0 calc(var(--r2-font-size)/2) 0
}

div.r2 p {
	font-weight: 400;
	font-size: var(--r2-font-size);
	line-height: 1.4;
	margin: 0 0 calc(var(--r2-font-size)/2) 0
}

div.r2 p:has(+h1, +h2, +h3) {
	margin-bottom: calc(var(--r2-font-size)*1.5)
}



/* banner-set */
#home-bcta {
	padding-left: 0;
	padding-right: 0;
	margin: 0 auto var(--gap--default) auto;
	display: flex;
	flex-direction: column;
	gap: var(--gap--default)
}

@media(min-width: 768px) {
	#home-bcta {
		gap: 64px
	}
}

@media(min-width: 1024px) {
	#home-bcta {
		gap: 80px
	}
}

#home-bcta * {
	box-sizing: border-box
}

#home-bcta img {
	width: 100%;
	border: 0
}

#home-bcta>.main-stage {
	margin-top: 32px;
	padding: 0 16px;
	display: grid;
	align-items: end;
	grid-template-columns: 1fr;
	grid-template-areas:
		"seo"
		"title"
		"image"
		"lead"
		"cta"
}

@media(min-width: 768px) {
	#home-bcta>.main-stage {
		margin-top: 48px;
		grid-template-columns: 2fr 5fr;
		grid-template-rows: min-content min-content auto min-content;
		grid-template-areas:
			"seo	seo"
			"title	title"
			"lead	image"
			"cta	image"
	}
}

@media(min-width: 1024px) {
	#home-bcta>.main-stage {
		grid-template-columns: 1fr 2fr;
		grid-template-areas:
			"seo	image"
			"title	image"
			"lead	image"
			"cta	image"
	}
}

#home-bcta>.main-stage .title {
	grid-area: seo;
	margin: 0 0 8px 0;
	font-size: var(--r2-font-size-caption);
	line-height: 1;
	font-weight: 500;
	color: var(--color-revup-grey)
}

#home-bcta>.main-stage .subtitle {
	grid-area: title;
	margin: 0 0 16px 0;
	font-weight: 700;
	font-size: var(--r2-font-size-xl);
	line-height: 1
}

#home-bcta>.main-stage p {
	grid-area: lead;
	margin: 0;
	font-size: var(--r2-font-size-lead);
	line-height: 1.3;
	font-weight: 400
}

#home-bcta>.main-stage .button {
	grid-area: cta;
	margin-top: 16px;
	font-size: var(--r2-font-size-smaller);
	font-weight: 500;
	text-decoration: none;
	background-color: var(--color-demo-blue);
	color: #fff;
	border-radius: 8px;
	padding: 12px 16px;
	text-align: center
}

@media(min-width: 768px) {
	#home-bcta>.main-stage .button {
		width: max-content
	}
}

#home-bcta>.main-stage .button:hover {
	background-color: var(--color-demo-blue--hover)
}

#home-bcta>.main-stage img {
	grid-area: image;
	margin-bottom: 16px
}

@media(min-width: 768px) {
	#home-bcta>.main-stage img {
		margin-bottom: 0
	}
}

#home-bcta>.mini-block {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	padding-bottom: var(--gap--smaller)
}

@media(min-width: 1024px) {
	#home-bcta>.mini-block {
		padding-bottom: var(--gap--default)
	}
}

#home-bcta>.mini-block>.unit {
	min-width: var(--card-width--default);
	scroll-snap-align: start;
	scroll-margin-left: 16px;
	border: 1px solid #c0c1c3;
	border-radius: 8px;
	overflow: hidden;
	font-size: var(--r2-font-size-smaller);
	line-height: 1.3;
	text-decoration: none;
	color: #000;
	display: grid;
	grid-template-rows: min-content auto;
	margin: 0 16px
}

@media(max-width: 767px) {
	#home-bcta>.mini-block>.unit {
		margin: 0 8px;
		position: relative;
		left: 0
	}

	#home-bcta>.mini-block>.unit:first-child {
		left: 8px
	}

	#home-bcta>.mini-block>.unit:last-child {
		left: -8px
	}
}

#home-bcta>.mini-block>.unit>div {
	padding: 0 16px 16px 16px;
	display: grid;
	gap: 8px;
	grid-template-rows: min-content auto min-content
}

@media(min-width: 1024px) {
	#home-bcta>.mini-block>.unit>div {
		padding: 0 24px 32px 24px
	}
}

#home-bcta>.mini-block>.unit img {
	display: inline-block;
	max-width: 100%;
	transition: transform .3s ease;
	transform-origin: center center
}

#home-bcta>.mini-block>.unit h2 {
	margin: 0;
	font-size: var(--r2-font-size-lead);
	line-height: 1.1
}

#home-bcta>.mini-block>.unit p {
	margin: 0
}

#home-bcta>.mini-block>.unit .cta {
	margin-top: 8px;
	color: #000;
	font-weight: 600;
	text-decoration: underline
}

#home-bcta>.mini-block>.unit:hover img {
	transform: scale(1.01)
}

#home-bcta>.mini-block>.unit:hover .cta {
	color: var(--color-revizto-red)
}


/* testimonial-slider */
	.testimonial-slider {
		padding-top: 48px;
		padding-bottom: 64px;
	}
	.testimonial-slider .title_block {
		margin-bottom: 32px;
	}

.testimonial-card {
	--photo-size: 72px
}

@media(min-width: 768px) {
	.testimonial-card {
		--photo-size: 80px
	}
}

@media(min-width: 1024px) {
	.testimonial-card {
		--photo-size: 96px
	}
}

.testimonial-card {
	box-sizing: border-box;
	display: grid;
	border: 1px solid var(--color-light-grey);
	border-radius: var(--border-radius--default);
	scroll-snap-align: start;
	scroll-margin-left: var(--gap--smaller);
	width: 100%;
	grid-template-rows: minmax(calc(var(--photo-size) + 80px), min-content) auto;
	padding: var(--gap--smaller) var(--gap--smaller) var(--gap--default) var(--gap--smaller);
	min-width: var(--card-width--mobile)
}

@media(max-width: 767px) {
	.testimonial-card:last-child {
		margin-right: var(--gap--default)
	}
}

@media(min-width: 768px) {
	.testimonial-card {
		gap: var(--gap--default);
		grid-template-rows: minmax(var(--photo-size), min-content) auto;
		padding: calc(var(--gap--smaller)*1.5) var(--gap--default);
		min-width: calc(var(--card-width--default)*2 + var(--gap--default))
	}
}

@media(min-width: 1024px) {
	.testimonial-card {
		padding: var(--gap--default);
		width: calc((100vw - var(--gap--default))/2 - var(--gap--default));
		max-width: calc((var(--measure) - var(--gap--default))/2)
	}
}

.testimonial-card .person {
	display: grid;
	height: var(--photo-size);
	column-gap: 8px;
	grid-template-columns: var(--photo-size) auto;
	grid-template-areas:
		"photo name"
		"photo logo"
}

@media(min-width: 768px) {
	.testimonial-card .person {
		grid-template-columns: var(--photo-size) auto auto;
		grid-template-areas:
			"photo name logo"
	}
}

.testimonial-card .person>img {
	grid-area: photo;
	display: block;
	width: 100%;
	height: auto;
	max-width: var(--photo-size);
	border-radius: 100%;
	margin-left: -4px;
	border: 1px solid var(--color-light-grey);
	filter: grayscale(100%);
		aspect-ratio: 1;
		object-fit: cover;
		object-position: top;
}

.testimonial-card .person>.name {
	grid-area: name;
	height: var(--photo-size);
	display: grid;
	grid-template-rows: 4fr 3fr
}

.testimonial-card .person>.name h3 {
	margin: 0;
	font-size: calc(var(--r2-font-size)*1.2);
	line-height: calc(var(--r2-font-size)*1.2);
	font-weight: 400;
	align-self: end
}

.testimonial-card .person>.name .position {
	font-size: var(--r2-font-size-caption);
	line-height: 1.125;
	font-weight: 400;
	color: var(--color-revup-grey);
	align-self: start
}

.testimonial-card .person .logo {
	grid-area: logo;
	justify-self: end
}

.testimonial-card .person .logo img {
	width: 100%;
	height: auto;
	min-width: 100px;
	max-width: 200px;
	max-height: 70px;
}

.testimonial-card .quote {
	position: relative;
	word-wrap: break-word;
	overflow-wrap: break-word;
	hyphens: auto;
	-webkit-hyphens: auto;
	-moz-hyphens: auto;
	padding-left: 48px;
	font-size: var(--r2-font-size);
	line-height: 1.4;
	font-weight: 400
}

.testimonial-card .quote::before {
	content: "";
	position: absolute;
	width: 40px;
	height: 32px;
	margin-left: -52px;
	background: url(/i/testimonial-quote-sign.svg) no-repeat 50% 50%/contain
}

.marquee {
	display: flex;
	gap: var(--gap);
	overflow: hidden;
	user-select: none;
	cursor: grab
}

.marquee:active {
	cursor: grabbing
}

.marquee .marquee-container {
	display: flex;
	flex-shrink: 0;
	padding: 0 var(--gap--smaller);
	width: fit-content;
	gap: 8px
}

@media(min-width: 768px) {
	.marquee .marquee-container {
		gap: var(--gap--default)
	}
}

@media(max-width: 1023px) {
	.marquee .marquee-container {
		width: 100%;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch
	}
}

@media(max-width: 1023px) {
	.marquee .marquee-container.-clone {
		display: none
	}
}


/* blog */
.r2 .news-block {
	display: grid;
	gap: var(--gap--default);
	margin-bottom: calc(var(--gap--default)*3)
}

@media(min-width: 768px) {
	.r2 .news-block {
		grid-template-columns: 1fr 1fr;
		column-gap: var(--gap--default);
		row-gap: calc(var(--gap--default)*1.5)
	}
}

@media(min-width: 1024px) {
	.r2 .news-block {
		grid-template-columns: 1fr 1fr 1fr
	}
}

@media(min-width: 768px) {
	.r2 .news-block.-featured {
		grid-template-columns: 1fr 1fr
	}
}

.r2 .news-block>a {
	text-decoration: none;
	color: #000
}

.r2 .news-block>a .cover {
	width: 100%;
	height: auto;
	margin-bottom: var(--r2-font-size-caption);
	aspect-ratio: 16 / 9;
	overflow: hidden;
	box-shadow: 0 0 0 1px var(--color-light-grey);
	transition: transform .2s;
}
.r2 .news-block>a .cover.-text {
	padding: var(--gap--default);
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;

	font-size: var(--r2-font-size-h2);
	line-height: 1.2;
}

.r2 .news-block>a .cover img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
		display: block;
		object-fit: cover;
}


.r2 .news-block>a .date {
	color: var(--color-revup-grey);
	margin-bottom: 4px
}

.r2 .news-block>a h4 {
	margin-top: 0;
	font-weight: 500;
	font-size: var(--r2-font-size-h3);
	line-height: calc(var(--r2-font-size-h3)*1.3)
}

@media(min-width: 768px) {
	.r2 .news-block>a h4 {
		font-size: var(--r2-font-size);
		line-height: 1.4;
		height: calc(var(--r2-font-size)*1.4*3);
		overflow: hidden;
		display: -webkit-box;
		-webkit-box-orient: vertical;
		line-clamp: 3;
		-webkit-line-clamp: 3
	}
}

.r2 .news-block>a:hover h4 {
	color: var(--color-revizto-red)
}

.r2 .news-block>a:hover .cover {
	transform: scale(1.0075)
}
.r2 .news-block>a.external:hover h4::after {
	content: ' ↗︎';
	font-size: calc(var(--r2-font-size-h3) * 0.5);
	line-height: 1px;
	position: relative;
	top: calc(var(--r2-font-size-h3) * -0.15);
}

.r2 .news-block>a.more-link {
	grid-column: 1/-1;
	text-align: center;
	color: #000;
	position: relative;
	text-decoration: underline
}

.r2 .news-block>a.more-link::after {
	transition: all ease-in 100ms;
	position: absolute;
	top: calc(-1*var(--r2-font-size-h3)/16);
	margin-left: 2px;
	content: " ";
	display: inline-block;
	width: var(--r2-font-size-h3);
	height: var(--r2-font-size-h3);
	background-image: url("data:image/svg+xml,%3Csvg width%3D%2233%22 height%3D%2233%22 viewBox%3D%220 0 33 33%22 fill%3D%22none%22 xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath d%3D%22M21.583 23.8826C21.0614 24.3692 20.2444 24.3408 19.7578 23.8192C19.2713 23.2975 19.2997 22.4806 19.8213 21.994L24.3477 17.7713L5.66699 17.7713L5.53418 17.7654C4.88313 17.6991 4.37517 17.1488 4.375 16.4803C4.375 15.8117 4.88306 15.2615 5.53418 15.1951L5.66699 15.1883L24.3477 15.1883L19.8213 10.9656L19.7295 10.8709C19.2983 10.3782 19.3016 9.6295 19.7578 9.14045C20.2141 8.65146 20.9611 8.59594 21.4824 8.99201L21.583 9.07697L28.5059 15.536C28.7677 15.7802 28.917 16.1222 28.917 16.4803C28.9169 16.8383 28.7676 17.1804 28.5059 17.4246L21.583 23.8826Z%22 fill%3D%22%23ED1C24%22/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-size: contain
}

.r2 .news-block>a.more-link:hover {
	color: var(--color-revizto-red)
}

.r2 .news-block>a.more-link:hover::after {
	margin-left: 4px
}

.r2 .news-block.-featured {
		margin-top: var(--gap--default);
	margin-bottom: var(--gap--default)
}

.r2 .news-block.-featured>a {
	position: relative
}

.r2 .news-block.-featured>a h4 {
	font-size: var(--r2-font-size-h3);
	line-height: calc(var(--r2-font-size-h3)*1.3);
	height: auto;
	margin-bottom: calc(var(--r2-font-size)/2);
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	line-clamp: 3;
	-webkit-line-clamp: 3
}

.r2 .news-block.-featured>a p {
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	line-clamp: 4;
	-webkit-line-clamp: 4
}

@media(min-width: 768px) {
	.r2 .news-block.-featured>a p {
		height: calc(var(--r2-font-size)*1.4*4)
	}
}

.r2 .news-block.-featured>a::before {
	content: "Featured";
	position: absolute;
	z-index: 1000;
	top: 0;
	right: 0;
	background-color: var(--color-revizto-red);
	color: #fff;
	font-size: var(--r2-font-size-caption);
	line-height: var(--r2-font-size-caption);
	font-weight: 600;
	text-transform: uppercase;
	padding: calc(var(--r2-font-size-caption)*.75) calc(var(--r2-font-size-caption)*.5) calc(var(--r2-font-size-caption)*.75) calc(var(--r2-font-size-caption)*.75);
	letter-spacing: .2em
}

.r2 section {
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--measure) + var(--gap--smaller)*2);
	padding: 0 var(--gap--smaller);
	margin: 0 auto
}

.r2 section.-full-width {
	max-width: 100%;
	padding: 0
}

.r2 section.-clip {
	overflow: hidden
}


.r2 .content-tabs {
	list-style-type: none;
	margin: 0 0 var(--gap--default) 0;
	padding: 0;
	display: flex;
	gap: calc(var(--r2-font-size)/2) var(--r2-font-size);
	flex-wrap: wrap
}

.r2 .content-tabs * {
	text-decoration: none;
	text-underline-offset: calc(var(--r2-font-size)/3);
	color: var(--color-revup-grey)
}

.r2 .content-tabs li a:hover {
	text-decoration: underline
}

.r2 .content-tabs li.current {
	text-decoration: underline;
	text-decoration-color: var(--color-revizto-red);
	color: #000
}

.r2 .content-tabs li.divider::before {
	content: "|"
}

.r2 .date {
	font-size: var(--r2-font-size-caption);
	line-height: var(--r2-font-size-caption);
	text-transform: uppercase
}

.r2 .c2 {
	display: grid;
	gap: var(--gap--default);
	grid-template-columns: 1fr
}

@media(min-width: 768px) {
	.r2 .c2.-t-up {
		grid-template-columns: 1fr 1fr
	}
}

@media(min-width: 1024px) {
	.r2 .c2.-d-up {
		grid-template-columns: 1fr 1fr
	}
}

.r2 .c4 {
	display: grid;
	gap: var(--gap--default);
	grid-template-columns: 1fr
}

.r2 .c4.-c2m {
	grid-template-columns: 1fr 1fr
}

@media(min-width: 768px) {
	.r2 .c4.-t-up {
		grid-template-columns: 1fr 1fr 1fr 1fr
	}
}

@media(min-width: 1024px) {
	.r2 .c4.-d-up {
		grid-template-columns: 1fr 1fr 1fr 1fr
	}
}

.r2 .t-cta {
	border: 1px solid var(--color-revup-grey);
	border-radius: var(--border-radius--default);
	padding: 12px 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	color: #000;
	text-decoration: none
}

.r2 .t-cta:hover {
	background-color: var(--color-xlight-grey)
}

.r2 .t-cta:hover div.link {
	color: var(--color-revizto-red);
	text-decoration-color: var(--color-revizto-red)
}

.r2 .t-cta div.link {
	text-align: right;
	font-size: var(--r2-font-size-smaller);
	text-decoration: underline
}

.r2 .-center {
	text-align: center
}

.r2 .block {
	margin-bottom: var(--gap--default) !important
}

.r2 .-block {
	margin-bottom: calc(var(--gap--default)*2) !important
}

.r2 .wide {
	padding: calc(var(--gap--default)*1.5) 0
}

.r2 .wide.-l-gray {
	background-color: var(--color-xlight-grey)
}

.r2 .heading-search {
	display: flex;
	justify-content: space-between;
	gap: var(--gap--default)
}

	.r2 .heading-search .search_wrapper {
		flex: 1 0 auto;
		display: flex;
		flex-direction: row-reverse;
		padding-top: calc((var(--r2-font-size-h1)*1.3 - var(--r2-font-size-smaller)*2)/2);
	}

	.r2 .heading-search .search_wrapper button {
		width: 34px;
		height: 34px;
		margin-right: -34px;
		border: 0;
		background: transparent;
	}

.r2 .heading-search input {
	height: calc(var(--r2-font-size-smaller)*2);
	border: 1px solid var(--color-light-grey);
	border-radius: var(--border-radius--default);
	/* margin-top: calc((var(--r2-font-size-h1)*1.3 - var(--r2-font-size-smaller)*2)/2); */
	font-size: var(--r2-font-size-smaller);
	padding-left: calc(var(--r2-font-size-caption)*2);
	background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20fill%3D%22%23cecece%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%203C5.68629%203%203%205.68629%203%209c0%203.3137%202.68629%206%206%206%203.3137%200%206-2.6863%206-6%200-3.31371-2.6863-6-6-6zM1%209C1%204.58172%204.58172%201%209%201c4.4183%200%208%203.58172%208%208C17%2010.8487%2016.3729%2012.551%2015.3199%2013.9056l4.3872%204.3873C20.0976%2018.6834%2020.0976%2019.3166%2019.7071%2019.7071S18.6834%2020.0976%2018.2929%2019.7071l-4.3873-4.3872C12.551%2016.3729%2010.8487%2017%209%2017c-4.41828%200-8-3.5817-8-8z%22%3E%3C/path%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: calc(var(--r2-font-size-caption)/2) center;
	background-size: var(--r2-font-size-caption) var(--r2-font-size-caption);
	transition: all 300ms ease-in-out
}

.r2 .heading-search input:focus {
	flex-grow: 1;
	border-color: var(--color-revup-grey);
	outline: none;
	background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20fill%3D%22%23636973%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9%203C5.68629%203%203%205.68629%203%209c0%203.3137%202.68629%206%206%206%203.3137%200%206-2.6863%206-6%200-3.31371-2.6863-6-6-6zM1%209C1%204.58172%204.58172%201%209%201c4.4183%200%208%203.58172%208%208C17%2010.8487%2016.3729%2012.551%2015.3199%2013.9056l4.3872%204.3873C20.0976%2018.6834%2020.0976%2019.3166%2019.7071%2019.7071S18.6834%2020.0976%2018.2929%2019.7071l-4.3873-4.3872C12.551%2016.3729%2010.8487%2017%209%2017c-4.41828%200-8-3.5817-8-8z%22%3E%3C/path%3E%3C/svg%3E")
}


.-local h3.-standalone {
	margin-bottom: calc(var(--r2-font-size-h3) * 2);
}

.-local .custom-numbers {
	text-align: center;
}

.-local .custom-numbers > h3 {
	font-size: var(--r2-font-size-xl);
	line-height: var(--r2-font-size-xl);
	color: var(--color-revizto-red);
	margin-bottom: calc(var(--r2-font-size) / 8);
}

.-local .custom-numbers p {
	font-size: var(--r2-font-size-lead);
	line-height: 1.2;
}
