/*
Theme Name:		Vero 2025
Theme URI:		
Author:			Ellsworth Media
Author URI:		http://www.ellsworthmedia.com/
Version:		1.0
*/

html * { -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; -webkit-font-smoothing:antialiased; -moz-font-smoothing:antialiased; font-smoothing: antialiased; }
body { font-size:24px; color:#fff; background: #000; font-family: 'poppins', sans-serif; overflow-x:hidden; letter-spacing:0; font-weight:400; margin:0; }
input, textarea { border-radius:0; }
input, textarea, select, label { font-family: 'poppins', sans-serif; outline:0; }
input:focus, input:hover { outline:0; }
::-webkit-input-placeholder { color:#D8D8D8; opacity:1; }
:-moz-placeholder { color:#D8D8D8; opacity:1; }
::-moz-placeholder { color:#D8D8D8; opacity:1; }
:-ms-input-placeholder { color:#D8D8D8; opacity:1; }

h1, h2, h3, h4, h5, h6 { padding:0; margin:0 0 15px 0; line-height:1.2; font-weight:600; outline:0; }
h1 { font-size:132px; text-align: center; }
h2 { font-size:60px; }
h3 { font-size:44px; color: #E23D05; }
h4, h5, h6 { font-size:16px; }
h1 span, h2 span, h3 span, h4 span,
h1 strong, h2 strong, h3 strong, h4 strong { color: #E23D05; }

img { display:block; max-width:100%; height:auto; }
ul,ol { margin:0; padding:0; list-style:none; }
a, a:visited, a:active, input[type=submit] { text-decoration:none; -webkit-transition:all .3s ease-out; -moz-transition:all .3s ease-out; -o-transition:all .3s ease-out; -ms-transition:all .3s ease-out; transition:all .3s ease-out; }
a:focus, a:hover { text-decoration:none; outline:0; }
:focus, :hover { text-decoration:none; outline:0; }
svg path { transition:all .3s ease-out; }
p { margin:0 0 25px 0; line-height:1.5; }
.animate { transition:all 0.3s ease 0s; -webkit-transition:all 0.3s ease 0s; -moz-transition:all 0.3s ease 0s; -ms-transition:all 0.3s ease 0s; }
.no-animate { transition:none; -webkit-transition:none; -moz-transition:none; -ms-transition:none; }
strong, b { font-weight:700; }

.button, 
.button:visited, 
.button:active { 
	display:inline-flex; align-items:center; color:#FFF; background:#E23D05; height: 63px; line-height: 63px; padding: 0 30px;
	font-size:16px; font-weight:600; border-radius:38px; justify-content: center; min-width: 235px; margin-right: 15px;
}
.button:hover { background:#fff; color:#000; }

.grecaptcha-badge {display: none !important;}

/*-----------------------------------------------------------------------------------*/
/* Structure
/*-----------------------------------------------------------------------------------*/

#overlay {display: none; position: fixed; top: 0; left: 0; height: 100%; width: 100%; background: rgba(0,0,0,0.8); z-index: 9000;}

.container { margin:0 auto; width: 100%; max-width: 1500px; padding-left:30px; padding-right:30px; }
.container-flex { display: flex; flex-wrap: wrap; }
.view-mobile { display:none; }

img.aligncenter {display: block; margin: auto;}

/* fade and slides */
.fade-in {opacity: 0; transition: opacity 1s ease-out, transform 1s ease-out;}
	.fade-in {opacity: 1;}
.fade-slide-up {opacity: 0; transform: translateY(30px); transition: opacity 1s ease-out, transform 1s ease-out;}
	.fade-slide-up.is-visible {opacity: 1; transform: translateY(0);}
.fade-slide-down {opacity: 0; transform: translateY(-30px); transition: opacity 1s ease-out, transform 1s ease-out;}
	.fade-slide-down.is-visible {opacity: 1; transform: translateY(0);}


/*-----------------------------------------------------------------------------------*/
/* Header styling
/*-----------------------------------------------------------------------------------*/

#header { 
	position: relative; padding: 0; margin: 0; height: 68px; width:100%; z-index:9999; transition:all 0.3s ease 0s; background: transparent;
	 /*position:fixed; left:0; top:0;*/ 
}
	#header .container { display:flex; align-items:center; justify-content:space-between; }
		#header .header-left .logo { display:block; }
			#header .header-left .logo img { transition:all 0.3s ease 0s; }
			#header .header-left .logo img:hover { opacity: 0.8; }

	#header .header-right { display:flex; margin:0 0 0 auto; align-items:center; }
		#header .header-right nav { margin: 5px 0 0 0; }
			#header .header-right nav ul { display:flex; }
				#header .header-right nav li { margin:0 0 0 33px; position:relative; }
					#header .header-right nav > ul > li > a { font-weight:600; color:#FFF; border-bottom: solid 2px transparent; padding-bottom: 4px; }
					#header .header-right nav > ul > li.current_page_item > a,
					#header .header-right nav > ul > li > a:hover,
					#header .header-right nav > ul > li.current_page_item > a:hover { border-bottom: solid 1px #fff; }
			
			/* home */
			.home #header .header-right nav > ul > li > a {color: #073596;}
			.home #header .header-right nav > ul > li.current_page_item > a,
			.home #header .header-right nav > ul > li > a:hover,
			.home #header .header-right nav > ul > li.current_page_item > a:hover { border-bottom: solid 1px #073596; }
			
	#header .menu-container { 
		padding: 0 20px 50px 20px; left:auto; text-align:left; height:100vh; overflow-y:auto; position:fixed; width:100%; right:-100%; top:0; z-index:10000; background:#073596; transition:all 0.3s linear; 
	}


/*-----------------------------------------------------------------------------------*/
/* Footer styling
/*-----------------------------------------------------------------------------------*/

#footer { position: relative; z-index: 3; padding: 290px 0 0 0; background: transparent url(images/footer-bg.png) no-repeat center top / 100% 966px; }
	#footer .container { display:flex;justify-content:space-between; flex-wrap: wrap; }
		#footer a { color: #fff; }
		#footer a:hover { color: #fff; text-decoration: underline; }
	
	#footer-top {background:#073596; padding: 0;}
		#footer-top-left {width: 50%; display: flex; justify-content: flex-start; flex-wrap: wrap;}
			#footer-top-left .logo {width: 100%; margin: 80px 0 60px 0;}
		#footer-top-right {width: 50%;}
			#footer-top-right h2 {font-size: 48px;}
			#footer-top-right .social-media {margin: 0; padding: 5px 0 20px 0; display: flex; justify-content: flex-start;}
				#footer-top-right .social-media li {margin-right: 20px;}

	#footer-mid {background:#073596; padding: 0 0 110px 0;}
		#footer-mid-left {width: 50%; display: flex; justify-content: flex-start; flex-wrap: wrap;}
			#footer-mid-left ul {margin: 0; display: flex; justify-content: flex-start; width: 100%;}
				#footer-mid-left ul li {width: 40%;}
				#footer-mid-left ul li:first-of-type {margin-right: 5%; width: 55%;}
					#footer-mid-left h3 {color: #85BFE2; font-size: 24px;}
					#footer-mid-left a {display: block;}
		#footer-mid-right {width: 50%;}
		
	#footer-bottom {background:#073596; padding: 0 0 15px 0;}
		
		#footer-bottom hr {width: calc(100% - 60px); max-width: 1440px; height: 1px; background: #85BFE2; border: none;}
		
		#footer-bottom .container {padding-top: 20px; justify-content: space-between;}
			#footer-bottom p {font-size: 12px; padding: 0; margin: 0;}
			.copyright {width: 48%; order: 2; text-align: right;}
			.disclaimer {width: 48%; order: 1;}


/*-----------------------------------------------------------------------------------*/
/* Shared
/*-----------------------------------------------------------------------------------*/

#page-hero, #page-hero .gradient, #page-hero .container {height: calc(100vh - 214px);}
#page-hero { margin: -68px 0 0 0; position: relative; z-index: 1; background: #000 no-repeat center center / cover; overflow: hidden;}
	.gradient {
		z-index: 2; position: absolute; top: 0; left: 0; width: 100%;
		background: linear-gradient(180deg,rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 100%);
	}
	#page-hero .container { z-index: 3; position: absolute; top: 0; left: 0; max-width: 100%; display:flex; align-items: center; justify-content: center; }
		#page-hero h1 { margin: auto 20px; width: 100%; letter-spacing: -3px; }
 
#main {position: relative; z-index: 2; margin: -214px 0 -250px 0; padding: 210px 0 60px 0; background: url(images/main-bg.png) no-repeat center top / 100% 966px;}
	
	#main > h2 {width: 100%; max-width: 1080px; text-align: center; padding: 80px 20px 40px 20px; margin: 0 auto;}
		
	#main .container-flex {align-items: center;}
		
		#main .container h3 {font-size: 32px; width: 100%;}
		#main .container h4 {font-size: 24px; width: 100%;}
		#main .container p {width: 100%;}
			
	.image-holder {width: calc(50% - 50px); margin: 0 25px; order: 1;}
		.image-holder img {width: 100%; height: auto;}
	.text-holder {width: calc(50% - 50px); margin: 0 25px; order: 2;}
	

/*-----------------------------------------------------------------------------------*/
/* Home Page styling
/*-----------------------------------------------------------------------------------*/

.home #header {background: #E0F3FF;}
#home-hero {background: #E0F3FF; height: 100vh; min-height: 600px; margin: -68px 0 0 0; position: relative;}
	#home-hero .container {position: relative;}
	#logo-foreground {
		z-index: 5; margin-top: 0; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); display: block; height: calc(100vh); width: 100%; max-width: 1500px;
		background-image: url(images/mask-logo-square.png); background-position: center center; background-size: cover;  background-repeat: no-repeat;
	}

	#bg-video {
		position: absolute; overflow: hidden; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 1; 
		margin-top: 0; display: block; height: calc(100vh); width: 100%; max-width: 1500px;
	}
		#bg-video video {
			min-width: 100%; height: 640px; max-width: 100%; 
			object-fit: cover;
			width: auto; 
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
		}

	#home-hero .scroll {z-index: 10; position: absolute; bottom: 30px; left: 50%; transform: translateX(-50%);}
		#home-hero .scroll:hover {opacity: 0.8;}
	
#intro {padding: 120px 0 50px 0; background: #E0F3FF url(images/footer-bg.png) no-repeat center top / 100% 966px;}
	
	#marquee {width: 130%; margin: 150px -15% 0 -15%; }
		#marquee .owl-item {display: flex; justify-content: center;}
			#marquee h2 {font-size: 132px; margin: 0; opacity: 0.3; text-align: center; letter-spacing: -3px;}
			#marquee .focus h2 {opacity: 1;}

	#intro-bottom {background: #073596;}
		#intro-bottom .container-flex {align-items: center; background: url("images/intro-v-bg.svg") left bottom no-repeat; background-size: 839px auto; max-width: 1600px;}
			#intro-bottom .text-holder {order: 2;}
				#intro-bottom .text-holder h2 {font-size: 44px;}
			#intro-bottom .image-holder {order: 1; height: 850px;}
				#intro-bottom .image-holder img {max-height: 900px; width: auto; margin: auto;}

.home #main {
	position: relative; text-align: center; height: 100vh; min-height: 800px; margin: 0 0 -250px 0;
	background-size: cover; background-position: center center;
	display: flex; align-items: center;
}
	.home #main .gradient {
		z-index: 2; position: absolute; top: 0; left: 0; width: 100%; height: 100vh; min-height: 800px;
		background: linear-gradient(180deg,rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.25) 100%);
	}
	.home #main .container {position: relative; z-index: 5; margin-top: -250px;}
		.home #main h2 {font-size: 132px; text-align: center; margin: auto; width: 100%; max-width: 980px; letter-spacing: -5px; line-height: 1;}
		.home #main .button {z-index: 10; display: block; margin: 30px auto 0 auto; max-width: 235px;}
		

/*-----------------------------------------------------------------------------------*/
/* About
/*-----------------------------------------------------------------------------------*/

.page-template-about #main {position: relative; z-index: 2; margin: -214px 0 0 0; padding: 210px 0 0 0; background: url(images/main-bg.png) no-repeat center top / 100% 966px;}

#main-bottom {margin: 0 0 -250px 0;}
	#main-bottom .container-flex {align-items: center; background: url("images/main-v-bg.svg") left bottom no-repeat; background-size: 839px auto; max-width: 1600px;}

		#main-bottom .text-holder {}
			#main-bottom .text-holder h3 {font-size: 32px; width: 100%;}
			#main-bottom .text-holder p {width: 100%; max-width: 680px;}

		#main-bottom .image-holder {min-height: 900px;}
			#main-bottom .image-holder img {max-height: 900px; width: auto; margin: auto;}


/*-----------------------------------------------------------------------------------*/
/* Experiences
/*-----------------------------------------------------------------------------------*/

.page-template-experiences #main {min-height: 500px; padding-bottom: 200px;}
	.page-template-experiences #main > h2 {font-size: 36px; max-width: 1040px; margin-bottom: 0;}

#experiences {display: flex; align-items: center; justify-content: space-between; margin: 0 auto 50px auto;}	
	li.experience {margin: 100px 0; width: 100%;}

		li.experience .text-holder { width: calc(50% - 50px); order: 1; margin-left: 0; margin-right: 50px; }
		li.experience:nth-child(even) .text-holder {order: 2; margin-left: 50px; margin-right: 0;}
		
		li.experience .experience-slider { width: calc(50% - 50px); order: 2; margin-left: 50px; margin-right: 0; position: relative;}
		li.experience:nth-child(even) .experience-slider {order: 1; margin-left: 0; margin-right: 50px;}

			li.experience .experience-slider .flexslider {width: 100%; height: 400px;}
				li.experience .experience-slider .flexslider ul.slides li {width: 100%; height: 400px; overflow: hidden;}
					li.experience .experience-slider .flexslider ul.slides li img {width: 100%; height: 100%; object-fit: cover;}

		/* nav dots */
		li.experience .experience-slider ol.flex-control-nav { position:absolute; bottom: -30px; left: 0; z-index:100;}
		li.experience:nth-child(odd) .experience-slider ol.flex-control-nav { left: inherit; right: 0;}
			li.experience .experience-slider ol.flex-control-nav { display: flex; flex-wrap: wrap; }
				li.experience .experience-slider ol.flex-control-nav li { margin: 0 5px 0 0; }
					li.experience .experience-slider ol.flex-control-nav li a { display:block; width:16px; height:16px; border-radius:50%; text-indent:-9999px; background: #fff; opacity: 0.25; }
					li.experience .experience-slider ol.flex-control-nav li .flex-active { background:#fff; opacity: 1; }


/*-----------------------------------------------------------------------------------*/
/* Team
/*-----------------------------------------------------------------------------------*/

.page-template-team #main {min-height: 500px; padding-bottom: 200px; }
	.page-template-team #main .container {max-width: 1080px; }

/* team grid */
ul#team-grid { display: flex; flex-wrap: wrap; width: calc(100% + 60px); margin: 50px -30px 0 -30px; padding: 0; }
	ul#team-grid li {
		width: calc(50% - 50px); max-width: 480px; margin: 25px;
		transition:all 0.3s ease 0s; -webkit-transition:all 0.3s ease 0s; -moz-transition:all 0.3s ease 0s; -ms-transition:all 0.3s ease 0s;
	}
		ul#team-grid li .team-member-photo {position: relative; margin: 0 0 20px 0; }
		ul#team-grid li h2.team-member-name {padding: 0; margin: 30px 0 0 0; font-size: 44px; color: #E23D05;}
		ul#team-grid li h3.team-member-title {margin: 5px 0 30px 0; min-height: 1px; font-size: 20px; color: #fff; font-weight: 400;} 				
		ul#team-grid li .button:hover {cursor: pointer;}

/* team popup *******************/
.popup { display:none; position:fixed; z-index:10000; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.75); opacity:0; }
	.popup .popup-content { 
		max-width:800px; width:90%; background:#073596; padding: 25px 25px 15px 25px; position:absolute; left:50%; top:50%; transform:  translate(-50%, -50%);
	}
		.popup .popup-content .close-icon { 
			position:absolute; width:32px; height:32px; background:url(images/icon-close.svg) no-repeat center center / 100% 100%; right:20px; top:20px; 
		}
			.popup .popup-content .close-icon:hover {opacity: 0.8;}
		.popup .popup-content h2.team-member-name {margin-top: 0; font-size: 32px; color: #fff; margin-bottom: 5px;} 
		.popup .popup-content h3.team-member-title {margin: 0 0 15px 0; min-height: 1px; font-size: 20px; color: #fff; font-weight: 400;} 				
		.popup .popup-content p {color: #fff; font-size: 16px;} 				

/* partners */
#partners {margin: 100px auto 50px auto;}
	#partners > h2 {font-size: 44px; color: #E23D05;} 

	#partner-logos {display: flex; width: 100%;}
		.partner-logo {margin-right: 120px;}
		.partner-logo:last-of-type {margin-right: 0;}


/*-----------------------------------------------------------------------------------*/
/* Press
/*-----------------------------------------------------------------------------------*/

.page-template-press #intro .left-column { height: 25vh; min-height: 300px; background: no-repeat center center / cover; display: flex; align-items: center; }
	.page-template-press #intro .left-column h1 { font-size:50px; margin:0 auto; color:#3C0013; }
.page-template-press #intro .right-column { height: 25vh; min-height: 300px; background: #D0E7E3 no-repeat center center / cover; display: flex; align-items: center; flex-wrap: wrap; }
	.page-template-press #intro .right-column h2 { font-size:16px; margin:0 auto; padding: 0; text-transform: uppercase; letter-spacing: 1px;}
	.page-template-press #intro .right-column h2 span, .page-template-press #intro .right-column h2 strong { 
		font-size: 38px; text-transform: none; font-weight: 500; letter-spacing: normal; display: inline-block; margin: 10px auto 5px auto; padding: 0;
	}
	
#press {background: #FDF4EF; padding: 50px 0;}
	ul.press-grid {display: flex; flex-wrap: wrap; margin: 0 -25px; }
		ul.press-grid li { width: calc(33.333% - 50px); margin: 25px;}
			ul.press-grid li .image-holder {background: #fff; width: 100%; height: 240px; position: relative;}
				ul.press-grid li .image-holder img {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);}
				ul.press-grid li a:hover .image-holder img {opacity: 0.8;}
			ul.press-grid li h3 {padding: 0; margin: 20px 0 10px 0; color: #3C0013; font-size: 24px; letter-spacing: 1px;}
				ul.press-grid li a:hover h3 {text-decoration: underline;}
			ul.press-grid li p {font-family: 'Founders Grotesk', sans-serif; color: #AC8A2F; font-size: 16px; text-transform: uppercase; letter-spacing: 1px; padding: 0; margin: 0;}
	

/*-----------------------------------------------------------------------------------*/
/* 404
/*-----------------------------------------------------------------------------------*/

.error404 #page-hero {background: #000; height: 50vh; min-height: 400px;}
.error404 #main {margin-top: 0; padding-top: 0; min-height: 100vh; min-height: 500px; text-align: center;}

