/******/
/*** SECTIONS ***/
/******/

/* CARDS */

.cards .container {
  position: relative;
  max-width: 80rem;
  gap: 1.5rem;
  margin: 3.125rem auto;
  align-items: center;
}

.cards .card {
  margin: 0;
  padding-left: 4.5rem;
  padding-right: 4.5rem;
  box-sizing: border-box;
  border-radius: var(--radius-3xl);
  position: sticky;
  color: var(--color-white); 
}

.cards .card-0 {
  top: 3rem;
}

.cards .card-1 {
  top: 6rem;
}

.cards .card-2 {
  top: 9rem;
}

.cards .card-3 {
  top: 12rem;
}

.cards a.button {
	background-color: transparent!important;
	color: var(--color-white)!important;
	border: solid .0625rem var(--color-white)!important;
}

/* COLUMNS */

.columns .grid-33 img {
	max-height: 4.5rem;
	max-width: 100%;
	width: auto;
}

.columns .grid-33 div {
	filter: drop-shadow(0 .25rem .5rem #f2f2f2);
	padding: 1rem 2rem;
}

/* FOOTER */

.copyright-utilities div {
	border-top: solid .0625rem var(--color-white);
	gap: 1.5rem;
}

.copyright-utilities .footer-utility {
	gap: .5rem;
}

.copyright-utilities .footer-utility li {
	margin-top: .5rem;
}

#menu-socials-menu {
	gap: 0;
}

#menu-footer-menu li a {
	text-decoration: none;
}

#menu-socials-menu li a {
	position: absolute;
	width: 100%;
	height: 3rem;
	top: 0;
	left: 0;
	text-indent: -1000rem;
	color: transparent;
}

#menu-socials-menu li {
	position: relative;
	width: 2rem;
	height: 2rem;
	text-align: right;
}

footer li.linkedin:before {
	content: url("../images/linkedin.svg");
}

/* HOW IT WORKS */

.step-rule {
	width: .125rem;
	height: 100%;
}

.how-it-works .number:last-child .step-rule {
	opacity: 0!important;
}

/* IMAGES */

.images .logo-container {
	height: 4.5rem;
}

/* INTRO STATEMENT FADE-ON-SCROLL */

.intro-simple, .intro-statement-fade-on-scroll {
	width: calc(100% - 3rem);
	border: solid 1.5rem white;
	border-radius: 3.5rem;
	overflow: clip;
	height: calc(100% - 3rem);
}

.intro-statement-fade-on-scroll {
	padding-top: 25vh;
	padding-bottom: 25vh;
	color: var(--color-white);
}

.intro-statement-fade-on-scroll .grid-container-full {
	max-width: 135rem;
}

/* INTRO VIDEO */

.intro-video {
	overflow: clip;
}

.height-100 {
	height: 100vh;
}

.height-60 {
	height: 60vh;
}

#intro-mask-zoom {
  	height: 100vh;
  	position: relative;
}

.frame-overlay {
  	position: absolute;
  	top: 0;
  	left: 0;
  	z-index: 3;
  	width: 100%;
  	height: 100%;
  	transform: scale(3);
  	pointer-events: none;
}

.frame-border {
  	width: 100%;
  	height: 100%;
  	border: 2rem solid white;
  	border-radius: 3.5rem;
  	box-sizing: border-box;
}

.border-2 {
	border-radius: 0rem;
}

.video-background-layer {
  	position: absolute;
  	top: 0;
  	left: 0;
  	width: 100%;
  	height: 100%;
  	z-index: 1;
}

.video-background-layer video {
  	width: 100%;
  	height: 100%;
  	object-fit: cover;
}

#intro-mask-zoom .content-layer {
  	position: relative;
	z-index: 2;
}

.intro-video p {
	font-size: var(--text-2xl);
}

/* NUMBERS STICKY SIDEBAR */

.numbers-sticky-sidebar .number-rule {
	width: 100%;
	height: .125rem;
}

/* PERSPECTIVE */

.perspectives .padding-equalize {
	padding-left: 3rem;
	padding-right: 3rem;
}

.perspectives .swiper {
	padding-left: 0!important;
	padding-right: 0!important;
}

.swiper-pagination-bullet:not(.swiper-pagination-bullet-active) {
	background-color: var(--color-white);
}

/* SCROLLING NUMBERS */

.scrolling-numbers .container {
	max-width: 80rem;
}

/* SERVICES */

.services .service-card {
	border-top: solid .0625rem var(--color-black);
	border-right: solid .0625rem var(--color-black);
}

/* SERVICES ACCORDION */

.services-accordion .accordion-panel p {
  color: var(--color-white);
  -moz-transform: translateX(1.875rem);
  -webkit-transform: translateX(1.875rem);
  -o-transform: translateX(1.875rem);
  -ms-transform: translateX(1.875rem);
  transform: translateX(1.875rem);
  -webkit-transition: all 0.5s ease-in-out;
  -moz-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
}

.services-accordion #wrapper .accordion-panel:nth-child(1) {
  z-index: 10;
  background-color: rgba(4, 8, 37, 1);
}

.services-accordion #wrapper .accordion-panel:nth-child(2) {
  z-index: 20;
  background-color: rgba(4, 8, 37, .95);
}

.services-accordion #wrapper .accordion-panel:nth-child(3) {
  z-index: 30;
  background-color: rgba(4, 8, 37, .9);
}

.services-accordion #wrapper .accordion-panel:nth-child(4) {
  background-color: rgba(4, 8, 37, .85);
  z-index: 40;
}

.services-accordion #wrapper .accordion-panel:nth-child(5) {
  background-color: rgba(4, 8, 37, .8);
  z-index: 50;
}

/* IMAGE SCROLLER */

.logo-overlay, .logo-overlay-right {
	z-index: 4;
	background-image: linear-gradient(90deg,var(--color-white),transparent);
	width: 7rem;
	height: 100%;
	position: absolute;
	inset: 0% auto 0% 0%;
}

.logo-overlay-right {
	background-image: linear-gradient(270deg,var(--color-white),transparent);
	inset: 0% 0% 0% auto;
}

.rotating-wrapper {
	padding: 1rem 0;
}

.rotating-wrapper p {
	height: 3.125rem;
	float: left;
	margin-right: 0.3em;
}

.rotating-wrapper span {
	float: left;
	overflow: hidden;
	position: relative;
	height: 6.125rem;
	top: .125rem;
}

.rotating-wrapper .rotating-inner {
	display: inline-block;
	position: relative;
	white-space: nowrap;
	top: 0;
	left: 0;

/*animation*/
-webkit-animation:move 6s;
   -moz-animation:move 6s;
    -ms-animation:move 6s;
     -o-animation:move 6s;
        animation:move 6s;
/*animation-iteration-count*/
-webkit-animation-iteration-count:infinite;
   -moz-animation-iteration-count:infinite;
    -ms-animation-iteration-count:infinite;
     -o-animation-iteration-count:infinite;
        animation-iteration-count:infinite;
/*animation-delay*/
-webkit-animation-delay:2s;
   -moz-animation-delay:2s;
    -ms-animation-delay:2s;
     -o-animation-delay:2s;
        animation-delay:2s;
}

.rotating-wrapper .rotating-inner h2 {
	margin-top: -1.625rem;
}

@keyframes move {
	0%  { top: 0; }
	33.3333% { top: -8.3125rem; }
	66.6666% { top: -16.625rem; }
	/* 75% { top: -25.875rem; } */
}

@-webkit-keyframes move {
	0%  { top: 0; }
	33.3333% { top: -8.3125rem; }
	66.6666% { top: -16.625rem; }
	/* 75% { top: -25.875rem; } */
}

@-moz-keyframes move {
	0%  { top: 0; }
	33.3333% { top: -8.3125rem; }
	66.6666% { top: -16.625rem; }
	/* 75% { top: -25.875rem; } */
}

@-o-keyframes move {
	0%  { top: 0; }
	33.3333% { top: -8.3125rem; }
	66.6666% { top: -16.625rem; }
	/* 75% { top: -25.875rem; } */
}

@keyframes move {
	0%  { top: 0; }
	33.3333% { top: -8.3125rem; }
	66.6666% { top: -16.625rem; }
	/* 75% { top: -25.875rem; } */
}

.video-container {
	height: 0;
	overflow: hidden;
	padding-bottom: 56.25%;
	padding-top: 0;
	margin-bottom: 0;
}

.video-container iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* FOOTER */

.footer-menu ul, .socials-menu ul {
	display: -webkit-box;
  	display: -webkit-flex;
  	display: -ms-flexbox;
  	display: flex;
  	align-items: flex-start;
  	justify-content: flex-start;
	flex-wrap: wrap;
}

.footer-menu li, .socials-menu li {
	width: calc(50% - .75rem);
	margin-bottom: .75rem;
}

.socials-menu li {
	width: calc(100% - .75rem);
	margin-bottom: .75rem;
}

.footer-watermark img {
	opacity: .05;
	margin-top: -7.5rem;
}

/* SECTIONS */

/* TEAM */

.team .sticky-aside img {
	max-width: 9rem;
	margin-top: 1.5rem;
}

.team-member {
	margin-bottom: 1.25rem;
}

.team-img {
	width: 2rem;
	height: 2rem;
	opacity: 1 !important;
	margin-left: -.25rem;
}


/* TEXT FORM */

.text-form .gform-theme--foundation .gform_fields {
	grid-row-gap: 1rem!important;
	row-gap: 1rem!important;
}

/* SCROLLING NUMBERS */
	
.scrolling-numbers h3 {
	line-height: var(--leading-base);
}

@media screen and (min-width: 48rem) and (max-width: 100rem) {
	
	/* CARDS */
	
	.cards .card {
		padding-left: 6rem;
		padding-right: 6rem;
	}
	
	/* IMAGES */
	
	.images .grid-60 h2 {
		margin-block-start: 1.5rem;
		margin-block-end: 1.5rem;
	}
	
	/* INTRO */
	
	.intro-video .content-container {
		padding-top: 5rem;
	}
	
	.rotating-wrapper {
		padding: .75rem 0;
	}
	
	.rotating-wrapper h1 {
		max-width: 80%;
	}
	
	.rotating-wrapper p {
		height: 2.4375rem;
		float: left;
		margin-right: 0.3em;
	}
	
	.rotating-wrapper span {
		float: left;
		overflow: hidden;
		position: relative;
		height: 4.59375rem;
		top: .1rem;
	}

	.rotating-wrapper .rotating-inner h2 {
		margin-top: -1.1875rem;
	}

	@keyframes move {
		0%  { top: 0; }
		33.3333% { top: -6.234375rem; }
		66.6666% { top: -12.46875rem; }
		/* 75% { top: -18.703125rem; } */
	}

	@-webkit-keyframes move {
		0%  { top: 0; }
		33.3333% { top: -6.234375rem; }
		66.6666% { top: -12.46875rem; }
		/* 75% { top: -18.703125rem; } */
	}

	@-moz-keyframes move {
		0%  { top: 0; }
		33.3333% { top: -6.234375rem; }
		66.6666% { top: -12.46875rem; }
		/* 75% { top: -18.703125rem; } */
	}

	@-o-keyframes move {
		0%  { top: 0; }
		33.3333% { top: -6.234375rem; }
		66.6666% { top: -12.46875rem; }
		/* 75% { top: -18.703125rem; } */
	}

	@keyframes move {
		0%  { top: 0; }
		33.3333% { top: -6.234375rem; }
		66.6666% { top: -12.46875rem; }
		/* 75% { top: -18.703125rem; } */
	}
	
	/* NAV */
	
	.global-nav {
		top: 2.5rem;
	}
	
	nav img {
		max-width: 75%;
	}
	
}

@media screen and (min-width: 48rem) {
	
	/* CARDS */
	
	.cards .card {
		min-height: 25rem;
	}
	
	/* HOW IT WORKS */
	
	.how-it-works .number {
		min-height: 20rem;
	}
	
	.how-it-works .step {
		width: 7.5rem;
	}
	
	.how-it-works .number .text {
		width: calc(100% - 7.5rem);
		padding-top: 1.5rem;
	}
	
	/* IMAGE TEXT */
	
	.image-text-image {
		display: inline-block;
		position: relative;
		margin-bottom: calc(50% + 3rem);
	}
	
	.image-text-image div {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}

	.image-text-content {
		padding: 0 .75rem 10rem;
	}
	
	/* NAV */
	
	.cta-container {
		min-width: 12.375rem;
		padding-left: 1.5rem;
	}
	
	/* NUMBERS STICKY SIDEBAR */
	
	.numbers-sticky-sidebar .number {
		padding-right: 1.5rem;
	}
	
	/* PERSPECTIVE */
	
	.perspectives .swiper-pagination {
		top: -87%;
		left: 56%!important;
		transform: rotate(90deg)!important;
	}
	
	/* SCROLLING NUMBERS */
	
	.scrolling-numbers .features-column .features-card {
		margin-bottom: 6rem;
	}
	
	/* SERVICES */
	
	.services .service-card {
		aspect-ratio: 1 / 1;
		overflow: clip;
		padding-top: 1.5rem;
		max-height: 15.375rem;
	}
	
	.services .service-card .service-title {
		min-height: 4.5rem;
		margin-bottom: calc(100% - 2.25rem);
		-webkit-transition: all .2s ease-in-out, border .2s ease-in-out;
		-moz-transition: all .2s ease-in-out, border .2s ease-in-out;
		-o-transition: all .2s ease-in-out, border .2s ease-in-out;
		transition: all .2s ease-in-out, border .2s ease-in-out;
	}

	.services .service-card:hover .service-title {
		margin-bottom: 0;
	}
	
	.services .service-card .service-desc {
		opacity: 0;
		-webkit-transition: all .2s ease-in-out, border .2s ease-in-out;
		-moz-transition: all .2s ease-in-out, border .2s ease-in-out;
		-o-transition: all .2s ease-in-out, border .2s ease-in-out;
		transition: all .2s ease-in-out, border .2s ease-in-out;
	}
	
	.services .service-card:hover .service-desc {
		opacity: 1;
	}
	
	/* SERVICES ACCORDION */
	
	.services-accordion .accordion-panel p {
  		opacity: 0;
  		margin: 0 3rem 3rem 3rem;
  		flex-basis: 100%;
	}
	
	.services-accordion .accordion-panel p.h2 {
		margin-left: 3rem;
		margin-bottom: 1rem;
	}

	.services-accordion .accordion-panel p.description {
		height: 10rem;
	}

	.services-accordion #wrapper {
		display: flex;
		flex-flow: row nowrap;
		height: 40rem;
		min-height: 40rem;
		align-items: stretch;
	}
	
	.services-accordion .accordion-panel {
		flex: 1;
		overflow: hidden;
		display: flex;
		flex-flow: row wrap;
		transition: all 0.6s cubic-bezier(0.65, 0.05, 0.36, 1);
		align-items: flex-end;
		align-content: flex-end;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
	}
	
	.services-accordion .accordion-panel.panel-hover {
		background-position: left center;
		flex-grow: 2.8;
	}
	
	.services-accordion .accordion-panel.panel-hover > p {
		transition-delay: 0.8s;
		opacity: 1;
		-moz-transform: translateX(0);
		-webkit-transform: translateX(0);
		-o-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
	}
	
	.services-accordion .accordion-panel.panel-hover > p.h2 {
		transition-delay: 0.4s!important;
	}
	
}

@media screen and (min-width: 64.0625rem) {
	
	/* SERVICES */
	
	.services .service-card .service-desc {
		opacity: 0;
	}
		
	.service-card:nth-child(2), .service-card:nth-child(3), .service-card:nth-child(4), .service-card:nth-child(5), .service-card:nth-child(6) {
		border-top: transparent;
	}
	
	.service-card:nth-of-type(5n+5) {
		border-right: transparent;
	}
	
	.service-card:nth-of-type(5n+1) {
		border-left: transparent;
	}
	
	/* TEAM */
	
	.team-member {
		position: relative;
		overflow: clip;
	}

	.team-member img {
		object-fit: cover;
		z-index: 1;
		transition: opacity 500ms;
	}
	
	.team-member:hover img {
		opacity: .1;
	}

	.team-member .team-bio {
		position: absolute;
		top: 0;
		z-index: 2;
		padding: .5rem 1.5rem;
	}
	
	.team-member .team-bio {
		opacity: 0;
		transition: opacity 500ms;
	}
	
	.team-member:hover .team-bio {
		opacity: 1;
  		animation: fade-in-bottom 500ms ease-in-out both;
	}
	
}


@media screen and (min-width: 48rem) and (max-width: 64rem) {
	
	.service-card {
		aspect-ratio: 1 / 1.25;
		padding-top: .5rem;
		padding-left: .75rem;
		padding-right: .75rem;
	}
	
	.services .service-card .service-title {
		min-height: 2.5rem;
	}
	
	.service-card:nth-child(2), .service-card:nth-child(3), .service-card:nth-child(4), .service-card:nth-child(5) {
		border-top: transparent;
	}
	
	.service-card:nth-child(6) {
		border-top: solid .0625rem var(--color-black);
	}
	
	.service-card:nth-of-type(4n+4) {
		border-right: transparent;
	}
	
	.service-card:nth-of-type(4n+1) {
		border-left: transparent;
	}
	
}

@media screen and (max-width: 47.9375rem) {
	
	.cards .card {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	
	/* COLUMNS */

	.columns .grid-33 div {
		padding: .75rem 1rem;
	}
	
	/* FOOTER */
	
	.footer-watermark img {
		margin-top: -2.5rem;
	}
	
	footer .padding-equalize.padding-global-3x, footer .padding-equalize.padding-global-3x .padding-global-2x {
		padding-top: 0;
		padding-bottom: 0;
	}
	
	footer .padding-equalize.padding-global-3x .padding-global-2x {
		gap: .25rem;
	}
	
	#menu-footer-menu {
		margin-block-start: 0;
		margin-block-end: 0;
		gap: 0;
	}
	
	#menu-socials-menu {
		gap: 0;
		margin-top: 0;
		margin-bottom: 0;
	}
	
	#menu-socials-menu li {
		text-align: left;
	}
	
	.copyright-utilities .grid-100 {
		padding-top: 0;
		padding-bottom: 0;
	}
	
	.copyright-utilities .grid-100, .copyright-utilities .footer-utility {
		gap: .125rem;
	}
	
	/* HOW IT WORKS */
	
	.how-it-works .step {
		width: 3.5rem;
	}
	
	.how-it-works .number .text {
		width: calc(100% - 3.5rem);
		padding-top: .75rem;
	}
	
	/* IMAGE TEXT */
	
	.image-text-image {
		margin-bottom: 1.5rem;
	}
	
	.image-text-image div {
		padding-left: .75rem;
		padding-right: .75rem;
	}
	
	.intro-statement-fade-on-scroll {
		padding-top: 12.5vh;
		padding-bottom: 2rem;
	}
	
	/* INTRO SIMPLE */
	
	.intro-simple, .intro-statement-fade-on-scroll {
		width: calc(100% - 2rem);
		border: solid 1rem white;
		border-radius: 2rem;
		overflow: clip;
		height: calc(100% - 2rem);
		min-height: calc(100vh - 2rem);
		padding-top: 6rem;
	}
	
	/* INTRO VIDEO */
	
	.height-60 {
		height: 100vh;
	}
	
	.intro-video h1 {
		max-width: 92.5%;
		margin-block-end: 0;
	}
	
	.intro-video .content-container {
		padding-left: .5rem;
	}
	
	.rotating-wrapper {
		padding: .75rem 0;
	}
	
	.rotating-wrapper p {
		height: 1.02rem;
		float: left;
		margin-right: 0.3em;
	}
	
	.rotating-wrapper span {
		float: left;
		overflow: hidden;
		position: relative;
		height: 2.3rem;
		top: .1rem;
	}

	.rotating-wrapper .rotating-inner h2 {
		margin-top: -.594rem;
	}

	@keyframes move {
		0%  { top: 0; }
		33.3333% { top: -3.12rem; }
		66.6666% { top: -6.24rem; }
		/* 75% { top: -18.703125rem; } */
	}

	@-webkit-keyframes move {
		0%  { top: 0; }
		33.3333% { top: -3.12rem; }
		66.6666% { top: -6.24rem; }
		/* 75% { top: -18.703125rem; } */
	}

	@-moz-keyframes move {
		0%  { top: 0; }
		33.3333% { top: -3.12rem; }
		66.6666% { top: -6.24rem; }
		/* 75% { top: -18.703125rem; } */
	}

	@-o-keyframes move {
		0%  { top: 0; }
		33.3333% { top: -3.12rem; }
		66.6666% { top: -6.24rem; }
		/* 75% { top: -18.703125rem; } */
	}

	@keyframes move {
		0%  { top: 0; }
		33.3333% { top: -3.12rem; }
		66.6666% { top: -6.24rem; }
		/* 75% { top: -18.703125rem; } */
	}
	
	/* NAV */
	
	#menu-cta-menu li a {
		padding: .5rem 1rem .625rem 1rem;
	}
	
	/* PERSPECTIVE */

	.perspectives .padding-equalize {
		padding-left: 1.5rem;
		padding-right: 1.5rem;
	}
	
	/* SERVICES */
	
	.services .service-card {
		padding-top: .75rem;
		min-height: 11rem;
	}
	
	.service-card:nth-child(2), .service-card:nth-child(3) {
		border-top: transparent;
	}
	
	.service-card:nth-of-type(2n+2) {
		border-right: transparent;
	}
	
	.service-card:nth-of-type(2n+1) {
		border-left: transparent;
	}
	
	.services .service-card p {
		font-size: var(--text-base);
		margin-block-start: 0;
	}
	
	/* SERVICES ACCORDION */
	
	.services-accordion .accordion-panel p {
		margin: 0;
		transform: translateX(0rem);
		padding-left: 1rem;
		padding-right: 1rem;
	}
	
	.frame-border {
		border-width: 1rem;
		border-radius: 2rem;
	}

	.border-2 {
		border-radius: 0rem;
	}
	
	/* TEXT FORM */

	.text-form {
		padding-top: 6rem;
		padding-bottom: 2.5rem;
	}

}

@media screen and (max-width: 37.5rem) {
	
	.services-accordion #wrapper {
	  display: flex;
	  flex-flow: column wrap;
	  height: auto;
	  min-height: 100vh;
	}
	
	.services-accordion .accordion-panel {
		min-height: 25rem;
		background-position: center top;
	}
	
}
