
/* -------------------------------------------------- */
/* Reset - http://purecss.io/base
/* -------------------------------------------------- */

a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline;}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section, main{display:block;}body{line-height:1;}ol,ul{list-style:none;}blockquote,q{quotes:none;}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none;}table{border-collapse:collapse;border-spacing:0;}.hide{display:none;}html{box-sizing: border-box;}*,*:before,*:after{box-sizing:inherit;}.clear{font-size:0px;clear: both;height: 0px;}*:focus{outline: none;}strong{font-weight:bold;}em{font-style:italic;}input:invalid{box-shadow: none;}button{border:none;background:none;padding:0;margin: 0;}button::-moz-focus-inner{border:0;}input,button{border-radius:0;border-radius:none;}html{scroll-behavior: smooth;}

/* -------------------------------------------------- */
/* Common
/* -------------------------------------------------- */

body{
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	color: #2f373d;
}
body.show{
	overflow: hidden;
}
h1, h2, h3, h4{
	line-height: 1.2em;
	padding: 12px 0;
}
h2,h3,h4{ line-height: 1.3em; }
a, a:visited{
	color: #6849e0;
	text-decoration: underline;
	text-underline-offset: 3px;
}
a:hover, a:active{
	color: #6849e0;
	text-decoration: none;
}
strong{
	font-weight: 700;
}
p{
	line-height: 1.8em;
	padding:  12px 0;
}
.center{
	text-align: center;
}
.left{
	text-align: left;
}
.container, 
.container-min{
	width: 100%;
	max-width: 1440px;
	padding: 0 24px;
	margin: 0 auto;
}
.container-min{
	max-width: 800px;
}
.headline{
	font-family: "Playfair Display", serif;
	font-size: 42px;
}
p.eyebrow{
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 1px;
	line-height: 1em;
}

/* Breakpoints */

@media screen and (max-width: 800px) {
	.headline{ font-size: 33px; }
}


/* -------------------------------------------------- */
/* Header
/* -------------------------------------------------- */

header{
	position: absolute;
	z-index: 50;
	width: 100%;
	height: 98px;
	padding: 24px 0 0 0;
	border-bottom: 1px solid rgba(255,255,255,.1);
}
.interior header{
	border-color: rgba(47,55,61,.1);
}
.interior.show header{
	border-color: rgba(255,255,255,.1);
}
header .container{
	display: flex;
	align-items: flex-end;	
}
a.logo,
.interior.show a.logo{
	display: block;
	background: url('/assets/images/elevare-ko.png') no-repeat;
	background-size: 100% auto;
	width: 173px;
	height: 50px;
	margin-bottom: 24px;
}
.interior a.logo{
	background-image: url('/assets/images/elevare.png');
}
.site-nav{
	margin-left: auto;
}
.site-nav ul{
	display: flex;
}
.site-nav li{
	padding: 0 12px;
}
.site-nav li a{
	display: block;
	color: #fff;
	text-decoration: none;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 1px;
	text-transform: lowercase;
	padding: 0 0 24px 0;
	border-bottom: 1px solid transparent;
	transition: color .25s, border-color .25s
}
.interior .site-nav li a{
	color: #2f373d;
}
.site-nav li a:hover{
	border-color: #fff;
}
.interior .site-nav li a:hover,
.site-nav li.active a{
	color: #2f373d;
	border-color: #2f373d;
}

/* -------------------------------------------------- */
/* Hero 
/* -------------------------------------------------- */
.hero{ 
	position: relative;
	overflow: hidden;
	min-height: 100vh;
}
.interior .hero{	
	min-height: 0;
}
.hero-copy{
	position: relative;
	inset: 0;
	z-index: 5;
	min-height: 100vh;
	display: flex;
	align-items: center; 
	padding: 146px 0 48px 0; 
	background: linear-gradient(
    to right,
    rgba(155, 123, 181, 1) 0%,
    rgba(111, 143, 190, 0.9) 35%,
    rgba(92, 179, 212, 0.5) 60%,
    rgba(92, 179, 212, 0) 80%
  );
	color: #fff;
}
.interior .hero-copy{
	background: #fff;
	min-height: 0;
	color: #2f373d;
}
.text-box{
	width: 100%;
	max-width: 800px;
}
.hero .headline{
	font-size: 66px;
}
.hero .blurb{ 
	font-size: 18px; 
}
.hero-media{ 
	position: absolute;
	inset: 0;
	z-index: 0; 
}
.hero-media video,
.hero-media img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Breakpoints */

@media screen and (max-width: 799px) {
	.hero .headline{ font-size: 48px; }
}
@media screen and (max-width: 600px) {
	.hero .headline{ font-size: 42px; }
}

/* -------------------------------------------------- */
/* Buttons
/* -------------------------------------------------- */

a.btn, a.btn-alt,
button.btn, button.btn-alt{
	display: inline-flex;
	background-color: #7B5CFA;
	align-items: center;
	height: 54px;
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	text-decoration: none;
	color: #fff;
	border-radius: 27px;
	padding: 0 27px;
	transition: color .25s, background-color .25s;
}
a.btn:hover,
button.btn:hover{
	background-color: #6849E0;
	cursor: pointer;
}
a.btn-alt,
button.btn-alt{
	background-color: transparent;
	border: 1px solid #2f373d;
	color: #2f373d;
	transition: color .25s, background-color .25s; 
	cursor: pointer;
}
a.btn-alt:hover,
button.btn-alt:hover{
	color: #fff;
	background-color: #2f373d;
}

.icon-btn{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 36px;
	height: 36px;
	background-color: rgba(123,92,250,.1);
	transition: transform .25s, color .25s, background-color .25s;
	color: #7b5cfa;
	border-radius: 18px;
}
.icon-btn:hover{
	color: #fff;
	background-color: rgba(123,92,250,1);
	cursor: pointer;
}

ul.icon-btns{
	display: flex;
	gap: 6px;
}

/* -------------------------------------------------- */
/* Sections
/* -------------------------------------------------- */
.sec{
	padding: 96px 0;
}
.sec-alt-bg{
	background: linear-gradient(
	  135deg,
	  #eef5fa 0%,
	  #eaf2f8 50%,
	  #e0ebf5 100%
	);
}
.sec-dark-bg{
	background: linear-gradient(
	  135deg,
	  #343c42 0%,
	  #2f373d 50%,
	  #2a3136 100%
	);
	color: #fff;
}
.sec-dark-bg a{
	color: #fff;
}
.home .sec-header{
	text-align: center;
}

/* Breakpoints */

@media screen and (max-width: 800px) {
	.sec{ padding: 48px 0; }
}

/* -------------------------------------------------- */
/* Interior, Text
/* -------------------------------------------------- */
.text-block .sec{
	padding: 48px 0;
}
hr {
  height: 1px;
  border: none;
  background: linear-gradient(
    90deg,
    #9b7bb5,
    #6f8fbe,
    #5cb3d4
  );
  margin: 0;
  padding: 0;
  opacity: .3;
}
.text-block h2{
	font-family: "Playfair Display", serif;
	font-size: 42px;
}
.text-block h3{
	font-size: 21px;
	font-weight: 500;
}

/* Unordered list */

.text-block ul{
	padding: 6px 0 6px 12px;
}
.text-block li{
	background: url('/assets/images/bullet.svg') no-repeat left 1em;
	padding: 6px 0 6px 1em;
}
.text-block li p{
	padding: 0;
	line-height: 1.6em;
}

@media screen and (max-width: 800px) {
	.text-block h2{ font-size: 33px; }
}

/* -------------------------------------------------- */
/* Interior, Form
/* -------------------------------------------------- */

.cform input,
.cform textarea{
	font-family: 'Poppins', sans-serif;
	font-size: 16px;
	color: #2f373d;
	background: #fff;
	padding: 12px;
	border: 1px solid rgba(255,255,255,.1);
	width: 100%;
}
.cform label{
	display: block;
	padding: 0 0 6px 0;
	line-height: 1em;
	font-size: 14px;
	font-weight: 600;
}
.form-row{
	padding: 12px 0;
}
.alert{
	background: url('/assets/images/alert.svg') no-repeat 0 6px;
	color: red;
	padding: 6px 0 6px 30px;
	border-radius: 6px;
}

/* -------------------------------------------------- */
/* Accordion
/* -------------------------------------------------- */

.accordion{
	padding: 24px 0;
}
.accordion-item{
	padding: 6px 0;
}
.accordion-item .accordion-panel{ 
	display: none; 
}
.accordion-trigger{
	display: flex;
	align-items: center;
	width: 100%;
	font-family: 'Poppins', sans-serif;
	font-size: 21px;
	font-weight: 500
}
.accordion-item .icon-btn{
	flex: 0 0 36px;
}
.accordion-item h3{
	flex-grow: 1;
	text-align: left;
}
.accordion-item.show .icon-btn{
	transform: rotate(45deg);
	display: flex;
}
.accordion-item.show .accordion-panel{
	display: block;
}


/* -------------------------------------------------- */
/* Side By Side
/* -------------------------------------------------- */

.sbs{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: -24px;
}
.sbs-img,
.sbs-text{
	padding: 24px;
	width: 50%
}
.sbs-img img{
	width: 100%;
	height: auto;
	border-radius: 12px;
}

/* Breakpoints */

@media screen and (max-width: 800px) {
	.sbs{ margin: -12px; }
	.sbs-img, .sbs-text{
		padding: 12px; 
		width: 100% 
	}
}

/* -------------------------------------------------- */
/* Cards
/* -------------------------------------------------- */

.cards{
	display: flex;
	flex-wrap: wrap;
	margin: -6px;
	padding: 24px 0;
}
.card, a.card{
	display: block;
	text-decoration: none;
	color: #2f373d;
	width: 25%;
	padding: 6px;
}
.card-wrap{
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 0 24px rgba(0,0,0,.1);
	transition: box-shadow .25s;
	height: 100%;
}
.card:hover .card-wrap,
a.card:hover .card-wrap{
	box-shadow: 0 0 24px rgba(0,0,0,.2);
}
.card-img{
	line-height: 0;
}
.card-img img{
	width: 100%;
  height: auto;
}
.card-text{
	padding: 24px;
}
.card-text .blurb{
	font-size: 15px;
	line-height: 1.6em;
}
.card-text h3{
	font-size: 21px;
	font-weight: 500;
	padding: 0;
}

/* Breakpoints */

@media screen and (max-width: 1280px) {
	a.card,.card{ width: 50%; }
}
@media screen and (max-width: 800px) {
	a.card,.card{ width: 100%; }
}

/* -------------------------------------------------- */
/* Metrics
/* -------------------------------------------------- */

.metrics {
  padding: 24px 0 0 0;
  position: relative;
}
.metrics-track {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.metrics-track::-webkit-scrollbar {
  display: none;
}
.metric {
  flex: 0 0 calc((100% - 24px) / 3);
  scroll-snap-align: start;
  padding: 24px;
  border-radius: 24px;
  background: rgba(0,0,0,.1);
}
.metric p.eyebrow{
	color: #5cb3d4;
	text-transform: none;
}
.metric .headline{
	padding: 0;
}
.metric p.blurb{
	font-size: 15px;
	line-height: 1.6em;
	opacity: .5;
}
.dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 36px;
}
.dots button {
  width: 12px;
  height: 12px;
  border: 0;
  border-radius: 6px;
  border: 1px solid #fff;
  cursor: pointer;
  transition: background-color .25s;
}
.dots button.active {
  background: #fff;
}

/* Breakpoints */

@media screen and (max-width: 900px) {
	.metric{
		flex: 0 0 calc((100% - 12px) / 2);
	}
}
@media screen and (max-width: 600px) {
	.metric{ 
		flex: 0 0 100%;
	}
}

/* -------------------------------------------------- */
/* CTA Section
/* -------------------------------------------------- */

.sec-cta{
	padding: 144px 0;
	background: linear-gradient(
	  135deg,
	  #f2ecf9 0%,
	  #e6ddf2 50%,
	  #d6c9ea 100%
	);
}
.sec-cta .headline{ font-size: 48px; }
@media screen and (max-width: 600px) {
	.sec-cta .headline{ font-size: 42px; }
}

/* -------------------------------------------------- */
/* Footer
/* -------------------------------------------------- */

footer{
	padding: 12px 0;
	font-size: 13px;
}
footer .container{
	display: flex;
	align-items: center;
	gap: 24px;
}
footer .icon-btns{
	margin-left: auto;
}

/* -------------------------------------------------- */
/* Mobile Navigation 
/* -------------------------------------------------- */
.mnav{
	position: fixed;
	overflow: hidden;
	inset: 0;
	z-index: 40;
	display: none;
	justify-content: center;
	align-items: flex-end;
	padding: 98px 0 48px 0;
	background:linear-gradient(
		to right,
		#9b7bb5,
		#6f8fbe,
		#5cb3d4
	);
}
body.show .mnav{
	display: flex;
}
.mnav a{
	display: block;
	padding: 24px 0;
	font-size: 21px;
	text-transform: lowercase;
	color: #fff;
	text-decoration: none;
	border-bottom: 1px solid rgba(255,255,255,.1);
	transition: border-color .25s;
}
.mnav-toggle{
	width: 40px;
	height: 40px;
	display: none;
	color: #fff;
	margin-bottom: 24px;
}
.interior .mnav-toggle{
	color: #2f373d;
}
.interior.show .mnav-toggle{
	color: #fff;
}
.close-menu{ display: none; }
.open-menu{ display: block; }
body.show .close-menu{ display: block; }
body.show .open-menu{ display: none; }

@media screen and (max-width: 799px) {
	.site-nav ul{ display: none; }
	.mnav-toggle{ display: block; }
}
@media screen and (min-width: 800px) {
	body.show .mnav{ display: none; }
	.interior.show a.logo{
		background-image: url('/assets/images/elevare.png');
	}
	.interior.show header{
		border-color: rgba(47,55,61,.1);
	}
}