/* Animations and parallax. Loaded after custom.css.
   .vm-anim is set on <html> only when animations are on and the visitor
   allows motion, so without it everything renders as before. */

:root {
	--vm-ease: cubic-bezier(.2, .65, .25, 1);
}

/* Hero list lines (replaces the <br> separated text) */
.vm-hero-line {
	display: block;
	font-weight: inherit;
}

/* ------------------------------------------------------------------
   Hero intro
------------------------------------------------------------------ */
@keyframes vmHeroIn {
	from { opacity: 0; transform: translate3d(0, 24px, 0); }
	to   { opacity: 1; transform: none; }
}
@keyframes vmFadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}
.vm-anim .vm-hero-in {
	animation: vmHeroIn 1.1s var(--vm-ease) both;
	animation-delay: calc(var(--i, 0) * 110ms + 250ms);
}
.vm-anim .top_banner_home video,
.vm-anim .top_banner_home_m video {
	animation: vmFadeIn 1.6s ease both;
}

/* ------------------------------------------------------------------
   Reveal on scroll
------------------------------------------------------------------ */
.vm-anim .vm-reveal {
	opacity: 0;
	transform: translate3d(0, 32px, 0);
	transition: opacity 1s var(--vm-ease), transform 1s var(--vm-ease);
	transition-delay: var(--vm-delay, 0ms);
}
.vm-anim .vm-reveal.is-visible {
	opacity: 1;
	transform: none;
}
.vm-anim .award_item.vm-reveal,
.vm-anim .section_1_about .col-md-5 img.vm-reveal {
	transform: translate3d(0, 20px, 0) scale(.97);
}
.vm-anim .award_item.vm-reveal.is-visible,
.vm-anim .section_1_about .col-md-5 img.vm-reveal.is-visible {
	transform: none;
}

/* ------------------------------------------------------------------
   Parallax (desktop only; the script turns it off below 768px)
------------------------------------------------------------------ */
.vm-parallax #video_home {
	transform: translate(-50%, calc(-50% + var(--vm-py, 0px)));
	-webkit-transform: translate(-50%, calc(-50% + var(--vm-py, 0px)));
	will-change: transform;
}
.vm-parallax .banner_caption[data-parallax] {
	transform: translate3d(0, var(--vm-py, 0px), 0);
	opacity: var(--vm-fade, 1);
	will-change: transform, opacity;
}

/* Home intro image */
.vm-parallax-media {
	overflow: hidden;
}
.vm-parallax-media img {
	display: block;
	width: 100%;
}
.vm-parallax .vm-parallax-media img {
	transform: translate3d(0, var(--vm-py, 0px), 0) scale(1.12);
	will-change: transform;
}

/* Home evaluation / mailing list panels */
.vm-parallax-panel {
	position: relative;
	overflow: hidden;
}
.vm-parallax-panel > .row {
	position: relative;
	z-index: 1;
}
.vm-parallax-bg {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	z-index: 0;
}
.vm-parallax .vm-parallax-bg {
	top: -18%;
	bottom: -18%;
	transform: translate3d(0, var(--vm-py, 0px), 0);
	will-change: transform;
}

/* ------------------------------------------------------------------
   Hover details
------------------------------------------------------------------ */
.outer_panel {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
}
.inner_panel_bg {
	transition: transform 1.2s var(--vm-ease);
}
.outer_panel:hover .inner_panel_bg {
	transform: scale(1.06);
}
.outer_panel i {
	transition: transform .5s var(--vm-ease);
}
.outer_panel:hover i {
	transform: translate(-50%, -50%) scale(1.15);
	-webkit-transform: translate(-50%, -50%) scale(1.15);
}
.award_item {
	transition: transform .5s var(--vm-ease);
}
.award_item:hover {
	transform: translateY(-4px);
}
.bg_award {
	transition: filter .5s ease, -webkit-filter .5s ease;
}
.award_item:hover .bg_award {
	-webkit-filter: grayscale(0%);
	filter: grayscale(0%);
}
.top_banner_home h1 a,
.bottom_panel_home a,
.read-more-btn,
.section_1_about a,
.section_4_home input[type="submit"],
.popup_item_2 a,
.section_2_blog a img {
	transition: background-color .35s ease, color .35s ease, opacity .35s ease, transform .35s ease;
}
.section_2_blog a:hover img {
	transform: translateX(4px);
}

/* ------------------------------------------------------------------
   Menu
------------------------------------------------------------------ */
@keyframes vmMenuIn {
	from { opacity: 0; }
	to   { opacity: .97; }
}
@keyframes vmMenuItemIn {
	from { opacity: 0; transform: translate3d(0, 20px, 0); }
	to   { opacity: 1; transform: none; }
}
.vm-menu-open,
.vm-menu-open body {
	overflow: hidden;
}
.vm-anim .popup_menu.active {
	animation: vmMenuIn .45s ease both;
}
.vm-anim .popup_menu.active .popup_item_2 li {
	animation: vmMenuItemIn .7s var(--vm-ease) both;
	animation-delay: calc(var(--i, 0) * 70ms + 150ms);
}
.vm-anim .popup_menu.active .popup_item_3 {
	animation: vmFadeIn .8s ease both;
	animation-delay: .45s;
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		transition-duration: .01ms !important;
	}
}
