/* Global styles from Webflow embed */

/* 992px–1920px */
@media screen and (min-width: 992px) and (max-width: 1920px){
  html{ font-size: 0.8333333333333335vw; }
}

/* 1921px–2560px */
@media screen and (min-width: 1921px) and (max-width: 2560px){
  html{ font-size: calc(0.41330645161290347rem + 0.4838709677419353vw); }
}

/* Overrides clamped tokens at 992px–1360px */
@media screen and (min-width: 992px) and (max-width: 1360px){
  :root{
    /* Headings */
    --_sizing---headings--h5: 1.375rem;
    --_sizing---headings--h6: 1rem;
    /* Body */
    --_sizing---body--lg: 1.5rem;
    --_sizing---body--md: 1.375rem;
    --_sizing---body--rg: 1.125rem;
    --_sizing---body--sm: 1rem;
    --_sizing---body--xs: 0.875rem;
    --_sizing---body--eyebrow: 1.25rem;
    /* Button */
    --_sizing---button--font-size: 1.125rem;
  }
}

:root {
  --transition-smooth: 0.25s cubic-bezier(0.23, 1, 0.32, 1);
}

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

*[tabindex]:focus-visible,
  input[type="file"]:focus-visible {
   outline: 0.125rem solid #4d65ff;
   outline-offset: 0.125rem;
}

.inherit-color * {
    color: inherit;
}

.w-richtext > :not(div):first-child, .w-richtext > div:first-child > :first-child {
  margin-top: 0 !important;
}

.w-richtext>:last-child, .w-richtext ol li:last-child, .w-richtext ul li:last-child {
	margin-bottom: 0 !important;
}


.container-medium,.container-small, .container-large {
	margin-right: auto !important;
  margin-left: auto !important;
}

.text-style-3lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

.text-style-2lines {
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.hide {
  display: none !important;
}

@media screen and (max-width: 991px) {
    .hide, .hide-tablet {
        display: none !important;
    }
}
  @media screen and (max-width: 767px) {
    .hide-mobile-landscape{
      display: none !important;
    }
}
  @media screen and (max-width: 479px) {
    .hide-mobile{
      display: none !important;
    }
}
 
.margin-0 {
  margin: 0rem !important;
}
  
.padding-0 {
  padding: 0rem !important;
}

.spacing-clean {
padding: 0rem !important;
margin: 0rem !important;
}

.margin-top {
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-top {
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}
  
.margin-right {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
  margin-left: 0rem !important;
}

.padding-right {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
  padding-left: 0rem !important;
}

.margin-bottom {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}

.padding-bottom {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.margin-left {
  margin-top: 0rem !important;
  margin-right: 0rem !important;
  margin-bottom: 0rem !important;
}
  
.padding-left {
  padding-top: 0rem !important;
  padding-right: 0rem !important;
  padding-bottom: 0rem !important;
}
  
.margin-horizontal {
  margin-top: 0rem !important;
  margin-bottom: 0rem !important;
}

.padding-horizontal {
  padding-top: 0rem !important;
  padding-bottom: 0rem !important;
}

.margin-vertical {
  margin-right: 0rem !important;
  margin-left: 0rem !important;
}
  
.padding-vertical {
  padding-right: 0rem !important;
  padding-left: 0rem !important;
}

.nav_img-overlay {
	background: linear-gradient(360deg, rgba(0, 0, 0, 0) 0%, #000000 100%);
}

@media (min-width: 992px) {
  [data-link] {
    position: relative;
    display: inline-flex;
    text-decoration: none;
    transition: 0.25s cubic-bezier(0.23, 1, 0.32, 1);
  }
  [data-link]::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -2px;
    width: 100%;
    height: 2px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right; 
    transition: transform 0.25s cubic-bezier(0.23, 1, 0.32, 1);
  }

  [data-link]:hover::after {
    transform: scaleX(1);
    transform-origin: left; 
  }
  
  .nav_link {
    position: relative;
    display: inline-flex;
    text-decoration: none;
    transition: 0.25s cubic-bezier(0.23, 1, 0.32, 1);
  }
  .nav_link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 2px;
    width: 100%;
    height: 2px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right; 
    transition: transform 0.25s cubic-bezier(0.23, 1, 0.32, 1);
  }

  .nav_link:hover::after {
    transform: scaleX(1);
    transform-origin: left; 
  }
  
  .nav_link:hover .icon-1x1-medium {
	color: #151515;
  fill-opacity: 1;
}

.nav_link:hover path {
	color: #151515;
  fill-opacity: 1;
}

.nav_link path {
	transition: fill 0.25s ease, fill-opacity 0.25s ease;
}
  
  .footer_link {
    position: relative;
    display: inline-flex;
    text-decoration: none;
    transition: 0.25s cubic-bezier(0.23, 1, 0.32, 1);
  }
  .footer_link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0.5rem;
    width: 100%;
    height: 2px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: right; 
    transition: transform var(--transition-smooth);
  }
  .footer_link:hover::after {
    transform: scaleX(1);
    transform-origin: left; 
  }  

  
  .nav_item:hover .nav_img {
  	transform: scale(1.1);
  }
  
  [data-parallax], [data-parallax-flip] {
		height: 120% !important;
	}
  
  [data-parallax-flip] {
  	transform: translateY(-8%);
  }
  
  [data-big] {
  	transform: translateY(-22%);
  }

  
  .form_input:focus + .form_input-border {
  	width: 100%;
	}
	.form_input:hover + .form_input-border {
  	width: 100%;
	}
  .nav_button:hover .icon-1x1-medium.is-nav {
		margin-left: 0rem;
  	opacity: 1;
	}
	.nav_button:hover .nav_button-icon {
		margin-right: -1.5rem;
  	opacity: 0;
	}
	.form_input:focus ~ .form_input-vector {
  	transform: translateX(0rem);
	}
  
.form_input:focus::placeholder {
  color: #172646;
}

	.blog_item:hover .blog_img {
		transform: scale(1.1);
	}
}


	.form_input:focus ~ .form_input-vector {
  	transform: translateX(0rem);
	}
  
@media (max-width: 1800px) {
  .nav_menu-btn {
    padding-left: 2.5rem;
  }
}

.footer {
	background-color: #f4f4f4;
}

.footer_link {
	transition: color var(--transition-smooth);
}

.footer_link .icon-1x1-medium {
	transition: color var(--transition-smooth);	
}

.nav_logo-link {
  transition: background-color var(--transition-smooth);
}
[data-hover-item] {
	overflow: hidden;
  position: relative;
}

.nav_lab-btn:hover .nav_lab-logo {
	color: #151515;
}

.bg_lab-overlay {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #FFFFFF 33.52%);
}

.nav_lab-btn:hover .nav_lab-logo {
	color: #151515;
  fill-opacity: 1;
}

.nav_lab-btn:hover path {
	color: #151515;
  fill-opacity: 1;
}

.nav_lab-logo path {
	transition: fill 0.25s ease, fill-opacity 0.25s ease;
}

.sidebar_link:hover path {
	color: #151515;
  stroke-opacity: 1;
}

.sidebar_link path {
	transition: stroke 0.25s ease, stroke-opacity 0.25s ease;
}

@media screen and (max-width: 991px) {
  .heading-style-h4.text-style-2lines.is-slider {
    overflow: auto !important;
    display: -webkit-box;
		-webkit-line-clamp: none;
		-webkit-box-orient: vertical;
  }
}

.accordion_vr-line {
	transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1);
}
