/* CSS RESET */
*,*::before,*::after{box-sizing:border-box}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin:0}ul[role="list"],ol[role="list"]{list-style:none}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5}a:not([class]){text-decoration-skip-ink:auto}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}


html, body {
	font-family: 'Overpass', EYInterstate, Arial, sans-serif;
	font-size: 1.55vw;
	line-height: 2.25vw;
	font-weight: 300;

	color: #2e2e38;
}

p {
	margin: .75em 0;
}

a { color: #747480; }
a:not(.button):hover { text-decoration: underline; }

h1 { font-size: 3.25em; line-height: 1.1em; margin: .5em 0 .25em; }
h2 { font-size: 2.5em; line-height: 1.2em; margin: .5em 0 .25em; }
h3 { font-size: 1.75em; line-height: 1.3em; margin: .5em 0 .25em; }
h4 { font-size: 1.25em; line-height: 1.35em; margin: .5em 0 .25em; }
h5 { font-size: .85em; line-height: 1.5em; margin: .5em 0 .25em; }
h6 { font-size: .7em; line-height: 1.5em; margin: .5em 0 .25em; }

h1, h2, h3, h4, h5, h6 { font-weight: 300; }

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child { margin-top: 0; }

.fr { float: right; }
.fl { float: left; }

img.fr { margin: 0 0 15px 15px; }
img.fl { margin: 0 15px 15px 0; }

.clear { clear: both; }

.row {
	display:  flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.row > .col { padding: 0 20px; margin-bottom: 40px; }

.row > .col-1-4 { flex-basis: 25% }
.row > .col-1-3 { flex-basis: 33.333% }
.row > .col-1-2 { flex-basis: 50% }
.row > .col-2-3 { flex-basis: 66.666% }
.row > .col-3-4 { flex-basis: 75% }

.button {
	text-decoration: none;
	background-color: #ffe600;
	color: #2e2e38;
	font-weight: 900;
	padding: .75em 2em;
	display:  inline-block;
	position: relative;
	top:  0;
	box-shadow: none;

	transition:  .3s;
}

.button:hover {
	top: -3px;
	box-shadow: 0 10px 15px rgba(0,0,0,0.15);
}

.textCen {
	text-align: center;
}

.section {
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	clear: both;
	padding: 60px 0;
}

.section.noPad { padding: 0; }

.section:after, .container:after {
	content: "";
	clear: both;
	display: block;
}

.section.white {
	background-color: #FFF;
}

.section.yellow {
	background-color: #ffe600;
}

.section.yellow .button {
	color: #FFF;
	background-color: #2e2e38;
}

.section.gray {
	background-color: #f6f6fa;
}

.section.dark {
	background-color: #2e2e38;
	color: #FFF;
}

.section.dark h1,
.section.dark h2,
.section.dark h3,
.section.dark h4 {
	color: #ffe600;
}

.container {
	max-width: 1140px;
	padding: 0 20px;
	margin: 0 auto;
}

.line {
	margin: 30px auto;
	height: 1px;
	background-color: #2e2e38;
}

.line.yellow { background-color: #ffe600; }




/* ========== HEADER / NAV ========== */

header, footer {
	background-color: #2e2e38;
	padding: 20px 0;
}

header {
	position: fixed;
	width: 100%;
	z-index: 100;
}

header .row {
	margin: 0 auto;
}

header .col { margin: 0 !important; padding: 0 !important; }

#intro {
	height: 110px;
}

#logo {
	max-width: 150px;
	width: 20%;
	min-width: 120px;
}

#logo img {
	width: 100%;
}

#navToggle { display:none; }

nav ul {
	padding: 0;
	margin: 0;
}

nav li {
	display: inline-block;
}

nav li a {
	color: #999;
	display: inline-block;
	text-decoration: none !important;
	padding: 40px 20px 20px;
}

nav li a:hover {
	color: #ffe600;
}





/* ========== FOOTER ========== */

footer {
	background-color: #f6f6fa;
	text-align: center;
	font-size: 14px;
	padding: 40px 0;
}

footer a {
	color: #2e2e38;
	display: inline-block;
	padding: 0 8px;
}






/* ========== POPUP ========== */

.popupWrap {
	display: none;
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	background-color: #2e2e38CC;
	z-index: 1000;
	padding: 50px;
}

.popup {
	background-color: #FFF;
	max-width: 1100px;
	margin: auto;
}

.popupTitle {
	border-bottom: 1px solid #747480;
	padding: 1px 20px;
}

.popupClose {
	float: right;
	color: inherit;
	font-size: 40px;
	margin-top: 20px;
}

.popupInnerWrap {
	height: calc(85vh - 65px);
	overflow-y: scroll;
}

.popupInner {
	max-width: 800px;
	margin: auto;
	padding: 30px;
}






/* ========== ACCORDION ========== */


.accordionItem {
	border-left: 4px solid #f6f6fa;
	border-bottom: 1px solid #c4c4cd;
	margin-bottom: 5px;
}

.accordionItem:hover,
.accordionItem.show {
	border-color: #ffe600;
}

.accordionItem .inner {
	overflow: hidden;
	display: none;
	color: #2e2e38;
	padding: 20px;
}

.accordionItem .accordionToggle {
	display: block;
	background-color: #f6f6fa;
	padding: 20px;
	padding-right: 20%;
	cursor: pointer;
	margin: 0;
	text-decoration: none;
	position: relative;
}

.accordionItem .accordionToggle::after {
	content: "+";
	float: right;
	font-size: 1.5em;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
}

.accordionItem.show .accordionToggle::after {
	content: "-";
	font-size: 2.5em;
}

.accordionItem .inner {
	display: none;
	background-color: #FFF;
}

.accordionItem .inner .col {
	margin-bottom: 0;
}




/* ========== SECTIONS ========== */

.resource .col, .person .col {
	margin-bottom: 30px;
}

.resource, .person {
	border: 1px solid #c4c4cda6;
	padding: 20px;
	height: 100%;
	position: relative;
}

.dark .resource, .dark .person {
	border-color: #3A3A4A;
}

.resource img, .person img {
	margin-bottom: 30px;
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}

.resource .buttonWrap, .person .buttonWrap {
	margin-top: 30px;
	position: absolute;
	bottom: 20px;
	width: calc(100% - 40px);
}

#hero {
	background-image: url(images/hero.jpg);
	background-position: bottom center;
	padding: 70px 0;
}

#hero #bq {
	width: 100%;
	max-width: 350px;
}


.person, .resource {
	position: relative;
}

.person {
	padding-bottom: 60px;
}

.dark .resource a {
	color: #ffe600;
}

.personLinks {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	padding-bottom: 10px;
}

.personLinks img {
	width: 20px;
	height: 20px;
	display: inline-block;
	margin: 0 10px;
	position: relative;
	top: 0;
	transition: 0.2s;
}

.personLinks img:hover { top: -2px; }


#latestthinking img {
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

#sizzle h4 {
	padding: 30px 0;
	border-top: 2px solid #ffe600;
	border-bottom: 2px solid #ffe600;
}

.centerWrap {
	position: relative;
}

.centerInner {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	padding-right: 20px;
}

.presenter h4, .presenter p {
	margin: .25em 0 0;
}

.presenter h4 {
	padding: .25em 0 0;
}

.presenter img {
	height: 4em;
	aspect-ratio: 1;
	border-radius: 100%;
}

#cloudsVideo {
	width: 100%;
	aspect-ratio: 16 / 9;
}

.resource img {
	aspect-ratio: 3 / 2;
}

.offering {
	padding: 0;
	border: none;
}

.offering a {
	background-color: #ffe600;
	color: #2e2e38;
	text-decoration: none;
	padding: 20px;
	display: block;
	height: 100%;
}









@media (min-width: 1600px) {

	#hero {
		background-size: 2000px;
	}

}

@media (min-width: 1100px) {

	html, body {
		font-size: 16px;
		line-height: 1.35em;
	}

}


@media (min-width: 801px) {

	header .container:after {
		display:none;
	}

	nav {
		display: block !important;
		margin-right: -20px;
	}

	.row { margin: 0 -20px; }

}

@media (max-width: 800px) {

	html, body {
		font-size: 13px;
		line-height: 1.35em;
	}

	.row {
		display: block;
	}

	.row .row { display:flex; }

	.row > .col {
		flex-basis: 100%;
		padding: 10px 0;
	}

	.row > .col-1-3 .row .col-1-2 { flex-basis: 48%; }
	.row > .col-2-3 .row .col-1-3 { flex-basis: 30.666%; }

	header .row > .col {
		padding: 0;
	}

	nav {
		width: 100%;
		font-size: 1.5em;
		padding-top: 30px;
	}

	nav li, nav li a {
		display: block;
	}

	nav li a {
		padding: 15px 20px;
	}

	#logo {
		float: left;
	}

	#navToggle {
		display: block;
		width: 50px;
		height: 50px;
		float: right;
		margin-top: 20px;
		padding: 20px 0;
		cursor: pointer;
		transition: 0.3s;
	}

	#navToggle span {
		display: block;
		height: 1px;
		background-color: #FFF;
		transition: 0.3s;
	}

	#navToggle span:first-child {
		margin-bottom: 10px;
	}

	#navToggle.active span:first-child {
		transform: rotate(45deg);
		margin-bottom: 0;
	}

	#navToggle.active span:last-child {
		transform: rotate(-45deg);
	}

	#navToggle:hover span {
		background-color: #ffe600;
	}

	nav, nav:before {
		float: none;
		clear: both;
		display: block;
		content: "";
	}

	nav {
		display: none;	
	}

	.section#welcome {
		height: 90vw;
	}

	#news .col-1-3 { flex-basis: 48%; }

	.resource .button {
		width: 100%;
	}

	#videobg .container {
		padding: 10vmin 20px;
	}

	#leveragingai .accordionItem .col-1-4 {
		border-right: none;
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.centerInnerMobileNo {
		position: relative;
		top: 0;
		transform: none;
	}

}




@media (max-width: 550px) {

	#videobg video {
		width: 160vw;
		transform: translateY(-50%) translateX(-20%);
	}

}