/* --------------------------------
PRIMARY STYLES
-------------------------------- */
*, *::after, *::before { box-sizing: border-box; }
body {
	font-family: sans-serif;
	font-weight: normal;
	line-height: 1;
	color: black;
}

h1, h2, h3, h4 {
	font-family: helvetica-neue-lt-pro, sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  line-height: 1;
	color: #082044;
	margin-bottom: .5em;
}
h1 { font-size: 40px; }
h2 { font-size: 32px; }
h3 { font-size: 24px; }
h4 { font-size: 14px; }

table { width: 100%; }
th, td,
ul, ol, p { 
	font-family: helvetica-neue-lt-pro, sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
	font-size: 16px;
	line-height: 1.4;
}

a { transition: all .5s ease; text-decoration: none; }
a:hover {}

b, strong { font-weight: 700; }
i, em { font-style: italic; }

/* --------------------------------
EFFECTS
-------------------------------- */
.txt-shadow { text-shadow: 0 0 30px black; }
.bx-shadow,
.bx-shadow-hover:hover {
	-webkit-box-shadow: 0px 0px 50px 0px rgba(0,0,0,.2);
	-moz-box-shadow: 0px 0px 50px 0px rgba(0,0,0,.2);
	box-shadow: 0px 0px 50px 0px rgba(0,0,0,.2);
}
.opacity-hover:hover { opacity: .5; }

/* --------------------------------
BUTTONS
-------------------------------- */
.btns { cursor: pointer; }
.btn-more { transition: all .5s ease; }
.btn-more:hover { }

/* -------------------------------- 
VIDEO
-------------------------------- */
.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
}
.embed-square { padding-bottom: 100%; }
.embed-container iframe,
.embed-container object,
.embed-container embed,
.embed-container video {
	z-index: 2;
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
}

/* -------------------------------- 
SLIDER
-------------------------------- */
.slider { }
.slider .slide { 
	position: relative;
	width: 100%;
	height: auto;
}

/* --------------------------------
FORMS
-------------------------------- */
form { 
	position: relative;
	width: 100%;
	margin: 2em 0;
}
form .inner { padding: 0 .25em; }
textarea, select,
.input-text,
.input-submit {
	font-family: helvetica-neue-lt-pro, sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
	font-size: 16px;
  line-height: 1;
	display: inline-block;
	width: 100%;
	padding: 1em;
	margin-bottom: .5em;
	outline: none;
	border: 1px solid #ccc;
  transition: all .5s ease;
}
textarea { height: 140px; }

.input-submit {
	font-weight: 500;
  border: none;
  padding: 1em 2em;
  color: white;
  background: #ff7200;
}
.input-submit:hover { background: #082044; }

/* --------------------------------
HEADER
-------------------------------- */
header {
	z-index: 99;
	position: sticky;
	top: 0; left: 0;
	width: 100%;
	background: white;
	transition: all .5s ease;
}
header.active {}

header .pure-g { display: flex; align-items: center; }

header .logo { position: relative; display: block; }
header .logo::before {
	position: absolute;
	top: 0; left: calc(2px - 100vw);
	width: 100vw;
	height: 100%;
	background: #ff7200;
	content: "";
}

/* --------------------------------
NAV
-------------------------------- */
nav {
	z-index: 99;
	position: fixed;
	top: 0; right: -75vw;
	width: 75vw;
	height: 100vh;
	background: white;
	padding: 2em;
	overflow-y: scroll;
	text-align: left;
	transition: all .5s ease;
}
nav.expanded {
	right: 0;
	-webkit-box-shadow: 0px 0px 100px 0px rgba(0,0,0,.4);
	-moz-box-shadow: 0px 0px 100px 0px rgba(0,0,0,.4);
	box-shadow: 0px 0px 100px 0px rgba(0,0,0,.4);
}

nav ul { }
nav ul li { margin: 0 1em; }
nav ul li a { 
	color: #082044;
	font-size: 32px;
	text-transform: lowercase;
}
nav ul li a:hover,
nav ul li.current-menu-item > a { color: #ff7200; }

.nav-toggle {
	z-index: 999;
	float: right;
	-webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  cursor: pointer;
  position: relative;
  display: inline-block;
  height: .75rem;
  width: 1.5em;
}
.nav-toggle:hover .nav-toggle-bar,
.nav-toggle:hover .nav-toggle-bar::after,
.nav-toggle:hover .nav-toggle-bar::before { background: #ff7200; }

.nav-toggle .nav-toggle-bar,
.nav-toggle .nav-toggle-bar::after,
.nav-toggle .nav-toggle-bar::before {
	position: absolute;
	top: 50%; left: 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: all .5s ease;
	-moz-transition: all .5s ease;
	-ms-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
	background: #143e35;
	content: '';
	height: .2rem;
	width: 100%;
}
.nav-toggle .nav-toggle-bar { margin-top: 0; }
.nav-toggle .nav-toggle-bar::after { margin-top: .4rem; }
.nav-toggle .nav-toggle-bar::before { margin-top: -0.4rem; }

.nav-toggle.expanded .nav-toggle-bar { background: transparent; }
.nav-toggle.expanded .nav-toggle-bar::after,
.nav-toggle.expanded .nav-toggle-bar::before { background: #143e35; margin-top: 0; }
.nav-toggle.expanded .nav-toggle-bar::after {
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.nav-toggle.expanded .nav-toggle-bar::before {
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.post-nav {
	z-index: 98;
	position: sticky;
	bottom: 0; left: 0;
	width: 100%;
	padding: 2em 0;
	background: white;
	/*-webkit-box-shadow: 0px 0px 50px 0px rgba(0,0,0,.2);
	-moz-box-shadow: 0px 0px 50px 0px rgba(0,0,0,.2);
	box-shadow: 0px 0px 50px 0px rgba(0,0,0,.2);*/
}

.post-nav p { 
	font-size: 18px;
	line-height: 1;
	text-align: center;
}
.post-nav p a { margin: 0 .5em; color: #082044; }
.post-nav p a:hover { color: #ff7200; }

.post-nav .prev {}
.post-nav .overview { margin: 1em 0; }
.post-nav .next { }

/* --------------------------------
ARTICLE & SECTIONS
-------------------------------- */
article { margin: auto; overflow-x: clip; }
section { 
	position: relative;
	width: 100%;
	padding: 2em 0;
}
section ul { list-style: disc; }
section ol { list-style: numeric; }
section ul,
section ol { margin-left: 1em; }
section ul,
section ol,
section p { margin-bottom: 2em; }
section p a { color: #ff7200; text-decoration: underline; }
section p a:hover { text-decoration: none; }
section a img,
section a video { transition: all .5s ease; }
section a img:hover,
section a video:hover { transform: scale(1.1); }

.container { margin: 0 auto; position: relative; }
.inner { padding: 0 2em; }

.desktop-hide {}
.desktop-show { display: none; }

.table-align { display: table; width: 100%; height: 100%; }
.table-cell-align { display: table-cell; vertical-align: middle; }
.table-cell-align.bottom { vertical-align: bottom; }

.last { margin-bottom: 0 !important; }
.align-h { height: 100%; }
.center { text-align: center; }
p.right { text-align: right; }

.hero { padding: 0; }
.hero-img { position: relative; }
.hero-overlay {
	z-index: 2;
	position: absolute;
	top: 0; left: 0;
	width: 100%;
	height: 100%;
}
.hero-overlay h1 { 
	color: #ff7200;
	margin-bottom: 1em;
	text-transform: lowercase;
}

.content {}
.content h1 {}

.case-grid {}
.case-grid-link a { display: block; overflow: hidden; }
.case-grid-item {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	margin-bottom: 1em;
	transition: all .5s ease;
}
.case-grid-captions { padding: 1em 0; }
.case-grid-captions p { font-size: 14px; font-weight: 300; }

.carrousel {}
.carrousel .inner { padding: 0; }
.carrousel p { padding: 1em; }
.carrousel a { display: block; overflow: hidden; }

.tiles {}
.tiles p { padding: 4em 0; }
.tiles .tile { margin-bottom: 0; }
.tiles .tile.left { padding-right: 0; }
.tiles .tile.right { padding-left: 0; }
.tiles .tile a {
	position: relative;
	width: 100%;
	height: 100%;
	color: white;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	display: block;
	overflow: hidden;
}
.tiles .tile a .tile-overlay {
	display: inline-block;
	z-index: 3;
	position: absolute;
	bottom: 0; left: 0;
	width: 100%;
	padding: 2em;
	background: #000;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 100%);
	transition: all .5s ease;
}
.tiles .tile a .tile-overlay span { font-size: 12px; font-weight: 300; }

.faq { background: #eee; }
.faq h2 { 
	position: relative;
	cursor: pointer;
	border-bottom: 1px solid #ccc;
	padding-right: 1em;
	padding-bottom: .5em;
	hyphens: auto;
	word-wrap: break-word;
	transition: all .5s ease;
}
.faq h2.active {
	padding-bottom: 0;
	border-bottom: 1px solid #eee;
}
.faq h2::after {
	display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  font-family: "Font Awesome 5 Free";
  font-weight: bold;
  content: "\f107";
  transition: all .5s ease;
  position: absolute;
  top: 1em; right: 0;
  font-size: 50%;
  transition: all .5s ease;
}
.faq h2.active::after { transform: rotate(180deg); }
.faq h2:hover::after { color: #ff7200; }
.faq p { display: none; }

.quote h2 { font-weight: 300; }

/* --------------------------------
FOOTER
-------------------------------- */
footer { 
	position: relative;
	background: #082044;
	padding: 3em 0;
	color: white;
}
footer h3 { color: inherit; font-weight: 300; }
footer p { margin-bottom: 2em; }
footer p a { color: inherit; }
footer p a:hover,
footer p i { color: #ff7200; }

footer .btn-contact {
	background: #ff7200;
  color: inherit;
  padding: .5em 1.5em;
  font-weight: 700;
}
footer .btn-contact:hover { color: inherit; }
footer .btn-contact span { transition: all .5s ease; margin-left: .5em; }
footer .btn-contact:hover span { margin-left: 1em; }

/* --------------------------------
MEDIA QUERIES
-------------------------------- */
@media screen and (min-width: 35.5em) {
	/*.container { width: 568px; }*/

	.case-grid-item.fixed-h { height: 418px; overflow: hidden; margin-bottom: 2em; }
	.case-grid-item.fixed-h img { display: none; }
	.case-grid-item.left { margin-right: 1em; }
	.case-grid-item.right { margin-left: 1em; }

	.carrousel .inner { padding: 1em; }

	.tiles .tile { margin-bottom: 2em; }
	.tiles .tile.left { padding-right: 1em; }
	.tiles .tile.right { padding-left: 1em; }
	.tiles .tile.right.large { padding-left: 0; }

	.post-nav .prev { text-align: left; }
	.post-nav .overview { text-align: center; margin: 0; }
	.post-nav .next { text-align: right; }
}
@media screen and (min-width: 48em) {
	.container { width: 768px; }
	.super-container { width: 100%; }
}
@media screen and (min-width: 64em) {
	.container { width: 1024px; }
	.super-container { width: 100%; }

	.desktop-hide { display: none; }
	.desktop-show { display: block; }

	h1 { font-size: 56px; }
	.content h1,
	h2 { font-size: 38px; }
	h3 { font-size: 32px; }
	h4 { font-size: 24px; }

	th, td,
	ul, ol, p { font-size: 18px; }

	form { margin: 0 0 2em; }
	textarea, select,
	.input-text,
	.input-submit { font-size: 18px; }

	nav {
		display: block !important;
		position: relative;
		top: 0; right: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		background: transparent;
		overflow-y: unset;
		text-align: right;
	}
	nav ul li { display: inline; }
	nav ul li a { font-size: 18px; line-height: 1; }

	section,
	footer { padding: 5em 0; }

	.case-grid-item.fixed-h { height: 562px; }
	.case-grid-captions p { font-size: 16px; }

	.tiles p { padding: 0 2em; }
	.tiles .tile.right.large { padding-left: 1em; }
	.tiles .tile a { font-size: 20px; }
	.tiles .tile a .tile-overlay { opacity: 0; padding: 1em 2em; }
	.tiles .tile a:hover .tile-overlay { opacity: 1; padding: 2em; }
	.tiles .tile a .tile-overlay span { font-size: 14px; }
}
@media screen and (min-width: 80em) {
	.container { width: 1200px; }
	.super-container { width: 100%; }

	.hero-overlay h1 { font-size: 120px; line-height: 100px; }

	.case-grid-item.fixed-h { height: 662px; }
}
@media screen and (min-width: 120em) {
	.super-container { width: 1920px; }
}

/* IE11
@media all and (-ms-high-contrast:none) {
	*::-ms-backdrop,
	[data-aos^=fade][data-aos^=fade],
	[data-aos^=zoom][data-aos^=zoom] { opacity: 1; }
}*/