:root {
  --color-orange: #FC9432; /* Original Orange */
  /* --color-orange: #d14604; */ /* Red Orange */
}
.visuallyhidden, .prot-tagline span {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	-webkit-clip-path: inset(0px 0px 99.9% 99.9%);
	clip-path: inset(0px 0px 99.9% 99.9%);
	overflow: hidden;
	height: 1px;
	width: 1px;
	padding: 0;
	border: 0;
}
.content-full h1, .content-full h2 {
	font-weight: 300 !important;
	font-size: 36px !important;
	margin-top: 0px !important;
	margin-bottom: 40px !important;
	display: inline-block;
    position: relative;
	right: 0px;
	/*
    left: 50%;
    transform: translateX(-50%);
	*/
}
.content-full h2 {
	margin-top: 0px !important;
}
h1, h2, h3 {
    font-size: inherit !important;
	margin-top: 0px !important;
}
.prot-tagline h1 {
	font-size: 36px !important;
}
.content-full h1:after, .content-full h2:after {
    content: "";
    position: absolute;
    display: block;
    height: 1px;
    width: 100vw;
    right: 100vw;
    border-top: 1px solid var(--color-orange);
    bottom: -13px;
}
.content-full h1:after, .content-full h2:after {
	/* Animate H1 H2 underlines for reveal.js slides */
	right: 100vw;
	opacity: 0;
}
.content-full h1:after, .content-full .present  h1:after, .content-full .present h2:after {
	/* Animate H1 H2 underlines for reveal.js slides */
	-webkit-animation: 0.5s ease 0.5s normal forwards 1 slidein-left;
    animation: 0.5s ease 0.5s normal forwards 1 slidein-left;
}
.content-full ul, .content-full ol {
	margin-bottom: 30px !important;
}
.prot-tagline.fadeout {
	-webkit-animation: fadeout 1s ease 0s normal forwards 1;
    animation: fadeout 1s ease 0s normal forwards 1;
}
.prot-intro-wrap {
    opacity: 1;
	-webkit-animation: fadeout 1s ease 10s normal forwards 1;
    animation: fadeout 1s ease 10s normal forwards 1;
}
.prot-intro-wrap.no-fadeout {
	-webkit-animation: none !important;
    animation: none !important;
}
.legacy-projects {
	opacity: 0;
	-webkit-animation: fadein 1s ease 14.8s normal forwards 1;
    animation: fadein 1s ease 14.8s normal forwards 1;
}
.legacy-projects.fadeout {
	-webkit-animation: fadeout 2s ease 0s normal forwards 1;
    animation: fadeout 2s ease 0s normal forwards 1;
}
.project-nav {
	opacity: 0;
}
.project-nav.fadein {
	-webkit-animation: 0.5s ease 0s normal forwards 1 fadein;
    animation: 0.5s ease 0s normal forwards 1 fadein;
}
@keyframes slidein-left {
    0% { opacity: 0; right: 100vw; }
    100% { opacity: 1; right: 0vw; }
}
@-webkit-keyframes slidein-left {
    0% { opacity: 0; right: 100vw; }
    100% { opacity: 1; right: 0vw; }
}
@keyframes fadeout {
    0% { opacity:1; }
    66% { opacity:0; }
    100% { opacity:0; }
}
@-webkit-keyframes fadeout {
    0% { opacity:1; }
    66% { opacity:0; }
    100% { opacity:0; }
}

@keyframes fadein {
    0% { opacity:0; }
    66% { opacity:1; }
    100% { opacity:1; }
}
@-webkit-keyframes fadein {
    0% { opacity:0; }
    66% { opacity:1; }
    100% { opacity:1; }
}
.protean-logo.animated a, .protean-logo.inside a {
	box-shadow: 0 0 0 #000;
	transform: translate3d(0,0,0);
	-webkit-transform: translate3d(0,0,0);
	position: absolute;
	right: 50%;
	transform: translateX(50%);
	-webkit-animation: logoright 2s ease 2s normal forwards 1;
	animation: logoright 2s ease 2s normal forwards 1;
}
.protean-logo.inside a {
	right: 2% !important;
	transform: translateX(0%) !important;
	-webkit-animation: none;
	animation: none;
}
@keyframes logoright{
	0% { right: 50%; transform: translateX(50%); }
	66% { right: 3%; transform: translateX(10%); }
	100% { right: 3%; transform: translateX(0%); }
}
@-webkit-keyframes logoright{
	0% { right: 50%; transform: translateX(50%); }
	66% { right: 3%; transform: translateX(10%); }
	100% { right: 3%; transform: translateX(0%); }
}
/* .project-details > .elementor-container { */
.project-details > .elementor-element {
	margin-top: 0px;
	margin-bottom: 0px;
	-webkit-transition-property: margin-top, margin-bottom;
	transition-property: margin-top, margin-bottom;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}
.fancylist ul, ul.fancylist {
    display: none;
}
.fancylist.active ul, ul.fancylist.active {
    display: inherit;
}
.fancylist li {
    opacity: 0;
	line-height: 0em;
	padding-bottom: 0em;
	/*
	-webkit-transition-property: opacity, height;
	transition-property: opacity, height;
	-webkit-transition-duration: 0.5s, 1s;
	transition-duration: 0.5s, 1s;
	*/
}
.fancylist li.active {
	-webkit-animation: lishow 1s ease 1s normal forwards 1;
	animation: lishow 1s ease 1s normal forwards 1;
}
@keyframes lishow {
	0% { line-height: 0em; opacity: 0; }
	50% { line-height: 1.3em; opacity: 0.6; padding-bottom: 0.2em; }
	100% { line-height: 1.3em; opacity: 1; padding-bottom: 0.2em; }
}
.fancylist li.active:nth-last-child(2) {
    margin-bottom: 0px;
	-webkit-transition-property: margin-bottom;
	transition-property: margin-bottom;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	-webkit-transition-delay: 1s;
	transition-delay: 1s;
}
.fancylist li.active:nth-last-child(2) {
    margin-bottom: 30px;
}
.bio-panel {
	display: none;
    max-width: 640px;
    margin: -100px auto 0 auto;
	opacity: 0;
}
.bio-panel.active {
	display: block;
	margin: 0 auto;
	-webkit-animation: bioshow 1s ease 0.5s normal forwards 1;
	animation: bioshow 1s ease 0.5s normal forwards 1;
}
@keyframes bioshow {
	0% { opacity: 0; }
	50% { opacity: 0.6; }
	100% { opacity: 1; }
}
.bio-panel ul {
	margin-bottom: 1em;
}
.contact-title {
    font-size: 28px !important;
}
.contact-title h1 span {
	font-size: 24px !important;
	font-weight: 300;
}
.center-vert {
	margin-top: 50vh;
    transform: translateY(-120px);
	opacity: 1;
	height: auto;
	overflow: hidden;
	width: 100%;
}
.row {
    display: flex;
    column-gap: 20px;
}
.col-33, .col-40, .col-50, .col-60, .col-66 {
	position: relative;
}
.col-33 {
	width: 33%;
}
.col-40 {
	width: 40%;
}
.col-50 {
	width: 50%;
}
.col-60 {
	width: 60%;
}
.col-66 {
	width: 66%;
}
.margin-top {
	margin-top: 30px;
}
.margin-bottom {
	margin-bottom: 30px;
}
.content-inner-wrap {
	height: calc(100vh - 290px);
    overflow-x: hidden !important;
    overflow-y: auto;
    scrollbar-width: none;
	padding-bottom: 60px;
}
.zindex-1 {
	z-index: 1;
}
.zindex-2 {
	z-index: 2;
}
.columns-2 {
	columns: 2;
	column-gap: 60px;
}
.columns-3 {
	columns: 3;
	column-gap: 60px;
}
.force-visible {
	opacity: 1 !important;
    visibility: visible !important;
}
.pos-abs {
	position: absolute;
	top: 0;
	left: 0;
}
.font-weight-normal {
	font-weight: 400 !important;
}
.font-weight-light {
	font-weight: 400 !important;
}
.small-content h3 {
	font-size: 20px !important;
	color: var(--color-orange);
}
h3.color-orange {
	color: var(--color-orange);
}

.small-content p, .small-content a, .small-content span, .small-content div, .small-content strong, .small-content em, .small-content ul, .small-content ol {
	font-size: 16px !important;
}
.reveal .slides {
	text-align: inherit !important;
}
.reveal .slides section {
	padding-top: 150px;
}
.reveal-viewport.reveal-scroll .scroll-page section {
	transform: translate(-50%, 0px) !important; /* -50%, -50% along with below to center vertically */
	width: 940px !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
}
.reveal-viewport.reveal-scroll .scroll-page section {
	top: 0px !important; /* 50% along with above to center vertically */
}
.reveal .slides p, .reveal .slides span, .reveal .slides a, .reveal .slides div, .reveal .slides strong, .reveal .slides em {
	line-height: 1.4em;
}
.reveal .slides ul, .reveal .slides ol {
	margin-left: 60px;
}
.reveal .slides .col-33 ul, .reveal .slides .col-33 ol,
.reveal .slides .col-40 ul, .reveal .slides .col-40 ol,
.reveal .slides .col-50 ul, .reveal .slides .col-50 ol,
.reveal .slides .col-60 ul, .reveal .slides .col-60 ol,
.reveal .slides .col-66 ul, .reveal .slides .col-66 ol,
.reveal .slides ul.columns-2, .reveal .slides ol.columns-2,
.reveal .slides ul.columns-3, .reveal .slides ol.columns-3 {
	margin-left: 20px;
}
.reveal .slides li {
	margin-bottom: 5px;
}
/*
.reveal .slides img {
	max-height: calc(100vh - 290px);
	width: auto;
}
*/
.scroll-links {
    z-index: 1;
    position: fixed;
    left: calc(calc(calc(100vw - 900px) / 2) - 100px); /* 100px less than content left margin */
	margin-top: 0px;
	scale: 1;
    top: 240px;
    color: #999 !important;
    font-size: 16px;
}
.scroll-links .prev-section, .scroll-links .next-section {
	scale: 5 1;
    position: absolute;
    left: 13px;
    top: -14px;
	cursor: pointer;
}
.scroll-links .next-section {
    top: auto;
	bottom: -14px;
}
.next-section-link, .prev-section-link {
	cursor: pointer;
    z-index: 1;
    position: fixed;
    left: 20px;
	margin-top: 0px;
	scale: 1;
    top: 228px;
    color: #999 !important;
    font-size: 16px;
	-webkit-transition-property: scale, margin-top;
	transition-property: scale, margin-top;
	-webkit-transition-duration: 0.6s;
	transition-duration: 0.6s;
}
.next-section-link:hover, .prev-section-link:hover {
    color: #666 !important;
	scale: 1.1;
	margin-top: 5px;
}
.next-section-link:after {
    content: "⌄";
    display: block;
    position: absolute;
    bottom: -1em;
    left: 33%;
    scale: 5 1;
}
.prev-section-link {
    left: 32px;
}
.prev-section-link:after {
    content: "⌄";
    display: block;
    position: absolute;
    top: -13px;
    left: 33%;
    scale: 5 1;
    transform: rotate(180deg);
}
.integrity-lifecycle div {
    background-color: var(--color-orange);
    border-radius: 5px;
    padding: 5px 15px;
	font-size: 16px;
    margin-bottom: 15px;
    left: 0%;
    position: relative;
	width: 0%;
    display: flex;
	align-items: center;
    justify-content: center;
	opacity: 0;
}
.integrity-lifecycle img {
	height: 30px !important;
	width: auto;
	margin-left: -20px;
	margin-right: 10px;
}
.integrity-lifecycle .deliver {
	display: inline-flex;
}
.integrity-lifecycle .deliver-2 {
	background-color: transparent;
	color: #000;
	width: auto;
	display: inline-flex;
}
.tiny-header h3 {
	font-size: 12px !important;
    min-height: 2.4em !important;
    line-height: 1.2em;
}

.present .integrity-lifecycle .conceive {
	-webkit-animation: 0.5s ease 0.2s normal forwards 1 conceive-slide;
    animation: 0.5s ease 0.2s normal forwards 1 conceive-slide;
}
.present .integrity-lifecycle .enable {
	-webkit-animation: 0.5s ease 0.3s normal forwards 1 enable-slide;
    animation: 0.5s ease 0.3s normal forwards 1 enable-slide;
}
.present .integrity-lifecycle .deliver {
	-webkit-animation: 0.5s ease 0.4s normal forwards 1 deliver-slide;
    animation: 0.5s ease 0.4s normal forwards 1 deliver-slide;
}
.present .integrity-lifecycle .deliver-2 {
	-webkit-animation: 0.5s ease 0.5s normal forwards 1 deliver-2-slide;
    animation: 0.5s ease 0.5s normal forwards 1 deliver-2-slide;
}
.present .integrity-lifecycle .deliver-2 br {
	display: none !important;
}

@keyframes conceive-slide {
	0% { opacity: 0; left: 0%; width: 0%; }
	100% { opacity: 1; left: 0%; width: 33%; }
}
@keyframes enable-slide {
	0% { opacity: 0; left: 0%; width: 0%; }
	100% { opacity: 1; left: 24%; width: 16%; }
}
@keyframes deliver-slide {
	0% { opacity: 0; left: 0%; width: 0%; }
	100% { opacity: 1; left: 33%; width: 33%; }
}
@keyframes deliver-2-slide {
	0% { opacity: 0; left: 0%; }
	100% { opacity: 1; left: 35%; }
}

@media (max-width: 767px) {
  .reveal .slides section.desktop-only {
    display: none !important;
  }
} 
@media (min-width: 768px) {
  .reveal .slides section.mobile-only {
    display: none !important;
  }
}

@media (min-width: 768px) {
	.mobile-show {
		display: none !important;
	}
}
@media (max-width: 1023px) {

}
@media (max-width: 767px) {
	
}
.center-vert.active {
	-webkit-animation: centertotop 1s ease 0s normal forwards 1;
	animation: centertotop 1s ease 0s normal forwards 1;
}
@keyframes centertotop {
	0% { margin-top: 50vh; transform: translateY(-120px); opacity: 1; height: auto; }
	20% { margin-top: 50vh; transform: translateY(-120px); opacity: 0; height: 1px; }
	100% { margin-top: 0vh; transform: translateY(0px); opacity: 0; height: 1px; }
	
}
@media (max-width: 767px) {
	@keyframes centertotop {
		0% { margin-top: 160px; opacity: 1; height: auto; }
		20% { margin-top: 160px; opacity: 0; height: 1px; }
		100% { margin-top: 0vh; opacity: 0; height: 1px; }
		
	}
}
.slick-list {
	overflow: visible;
}
.slick-slide {
    height: 30vh;
    padding: 0 1vh;
    position: relative;
	z-index: 1;
}
.slick-slide.text-only {
	/*
	opacity: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
	*/
}
.slick-slide.text-only img {
	background: #fff;
}
.slick-slide.text-only .text-content {
	position: absolute;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
	font-size: .8vw;
    width: 80%;
	margin: 0 10%;
	-webkit-transition-property: font-size, width, margin;
	transition-property: font-size, width, margin;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}
.slick-slide.text-only.slick-current .text-content {
	font-size: 1.1vw;
    width: 120%;
	margin: 0 0 0 -10%;
}
.slick-slide.slick-current.slick-center.text-only.bigger img {
	-webkit-transform: scale(1.5) !important;
	transform: scale(1.5) !important;
}
.prev-slide a, .next-slide a {
	opacity: 0.8;
}
.prev-slide a:hover, .next-slide a:hover {
	opacity: 1;
}
.slick-slide img {
    display: block;
    height: 100% !important;
    width: auto;
	opacity: 0.8;
	-webkit-filter: grayscale(1);
	filter: grayscale(1);
	-webkit-transition-property: opacity;
	transition-property: opacity;
	-webkit-transition-duration: 0.3s;
	transition-duration: 0.3s;
}
.slick-slide.slick-current.slick-center {
    z-index: 2;
}
.slick-slide.slick-current.slick-center img{
    padding: 0;
	box-shadow: 0 0 8px rgba(0,0,0,0.6);
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
	opacity: 1;
	-webkit-filter: grayscale(0);
	filter: none;
	transition: all .2s ease-in-out;
}
.slick-slide.slick-current.slick-center.bigger img {
	-webkit-transform: scale(2);
	transform: scale(2);
}
.opaczero {
	opacity: 0 !important;
}
/* Touchscreens only */
@media (hover:none) and (max-width: 1023px), (pointer:coarse) and (max-width: 1023px) {  
	.slick-slide.slick-current.slick-center img {
		-webkit-transform: scale(2.25) !important;
		transform: scale(2.25) !important;
	}
	.slick-slide.slick-current.slick-center.wider img {
		-webkit-transform: scale(2) !important;
		transform: scale(2) !important;
	}
	.slick-slide.slick-current.slick-center.tall img {
		-webkit-transform: scale(2.5) !important;
		transform: scale(2.5) !important;
	}
}
@media (hover:none) and (max-width: 767px), (pointer:coarse) and (max-width: 767px) {  
	.slick-slide.slick-current.slick-center img {
		-webkit-transform: scale(1.7) !important;
		transform: scale(1.7) !important;
	}
	.slick-slide.slick-current.slick-center.wider img {
		-webkit-transform: scale(1.25) !important;
		transform: scale(1.25) !important;
	}
	.slick-slide.slick-current.slick-center.tall img {
		-webkit-transform: scale(2.25) !important;
		transform: scale(2.25) !important;
	}
}

/* Tablet */
@media (max-width: 1023px) {
	.prev-section-link {
		display: none;
	}
	.content-full {
		padding-left: 0px !important;
        padding-right: 0px !important;
	}
	.reveal-viewport.reveal-scroll .scroll-page section {
		width: 100% !important;
	}
	.reveal .slides section {
		padding-top: 200px;
	}
	.content-inner-wrap {
		padding-left: 20px;
		padding-right: 20px;
	}
	.content-inner-wrap h3 {
		white-space: normal;
	}
	.next-section-link {
		left: 50%;
		top: auto;
		bottom: 120px;
		transform: translateX(-50%);
	}
	.protean-logo.inside a {
		right: 27px !important;
	}
	.project-details h3 {
		font-size: 44px !important;
	}
	.project-details h4 {
		font-size: 32px !important;
	}
	.legacy-projects { 
		bottom: 4vw !important;
	}
	.legacy-projects h2 { 
		font-size: 36px !important;
	}
	.vert-middle {
		margin-top: 50vh !important;
		transform: translateY(-50vh);
	}
	.slick-slide {
		height: 20vh;
		padding: 0 0.5vh;
		position: relative;
		z-index: 1;
	}
	.prev-slide a {
		position: fixed;
		left: 2vw;
		bottom: 90px;
		opacity: 0;
	}
	.next-slide a {
		position: fixed;
		right: 2vw;
		bottom: 90px;
		opacity: 0;
	}
	.prev-slide a, .next-slide a {
		-webkit-animation: 0.5s ease 2.5s normal forwards 1 show-arrows;
		animation: 0.5s ease 2.5s normal forwards 1 show-arrows;
	}
	.slick-slide.text-only.slick-current .text-content {
		font-size: 3.3vw;
	}
	
	@keyframes show-arrows {
		0% { opacity: 0; }
		100% { opacity: 1; }
	}
}
/* Mobile */
@media (max-width: 767px) {
	.present .integrity-lifecycle .deliver-2 {
		left: auto !important;
		right: 0% !important;
		width: 100%;
		justify-content: flex-end;
	}
	.present .integrity-lifecycle .deliver-2 br {
		display: block !important;
	}
	.mobile-hide {
		display: none !important;
	}
	.center-vert {
        margin-top: 160px;
		transform: none;
    }
	.row {
	    column-gap: 0;
		flex-direction: column;
	}
	.col-33, .col-40, .col-50, .col-60, .col-66 {
		width: 100%;
	}
	.columns-2, .columns-3 {
		columns: 1;
		column-gap: 0px;
	}
	.mobile-order-0 {
		order: 0;
	}
	.mobile-order-1 {
		order: 1;
	}
	.prot-tagline h1 {
		font-size: 24px !important;
	}
	h1, h2, .content-full h1, .content-full h2 {
		font-size: 24px !important;
	}
	.reveal .slides section {
		padding-top: 120px;
	}
	.project-intelligence-workflow img {
		height: 100px !important;
	}
	.reveal-viewport.reveal-scroll .scroll-page section {
		width: 100% !important;
		max-height: calc(100vh - 70px);
	}
	.content-inner-wrap {
		height: calc(100vh - 250px);
		/* height: calc(100vh - 340px); */
		overflow-x: hidden !important;
		overflow-y: auto;
	}
	.next-section-link {
		bottom: 94px;
	}
	.next-section-link span {
		opacity: 0;
	}
	.reveal .slides ul, .reveal .slides ol {
		margin-left: 40px;
	}
	.pos-abs.mobile-pos-rel {
		position: relative;
		top: auto;
		left: auto;
	}
	.tiny-header h3 {
		min-height: none !important;
	}
	@keyframes conceive-slide {
		0% { opacity: 0; left: 0%; width: 0%; }
		100% { opacity: 1; left: 0%; width: 60%; }
	}
	@keyframes enable-slide {
		0% { opacity: 0; left: 0%; width: 0%; }
		100% { opacity: 1; left: 20%; width: 60%; }
	}
	@keyframes deliver-slide {
		0% { opacity: 0; left: 0%; width: 0%; }
		100% { opacity: 1; left: 38%; width: 60%; }
	}
	@keyframes deliver-2-slide {
		0% { opacity: 0; left: 0%; }
		100% { opacity: 1; left: 9%; }
	}
	.reveal .slides section {
		padding-top: 120px;
	}
	.content-inner-wrap {
		padding-left: 0px;
		padding-right: 0px;
	}
	.protean-logo.inside a {
		right: 20px !important;
	}
	.elementor-menu-toggle {
		font-size: 10vw !important;
		padding: 0 !important;
	}
	.project-details h3 {
		font-size: 24px !important;
	}
	.project-details h4 {
		font-size: 18px !important;
	}
	.legacy-projects { 
		bottom: 6vw !important;
	}
	.legacy-projects h2 { 
		font-size: 20px !important;
	}
	.slick-slide.slick-current.slick-center img {
		-webkit-transform: scale(1.3);
		transform: scale(1.3);
	}
	.slick-slide.slick-current.slick-center img:hover{
		-webkit-transform: scale(1.7);
		transform: scale(1.7);
	}
	.slick-slide.text-only.slick-current .text-content {
		font-size: 4.3vw;
		width: 100%;
		margin-left: 0;
	}
	.slick-slide.slick-current.slick-center.text-only.bigger img {
		-webkit-transform: scale(1.7) !important;
		transform: scale(1.7) !important;
	}
}

/* Big Mobile */
@media (max-width: 767px) and (orientation:portrait) {
	.slick-slide.text-only.slick-current {
		height: 40vh;
		width: 60vw;
		top: -10vh;
	}
}