:root {
	--navy: #212b52;
	--green: #29b201;
	--white: #fff;
}

/** 
 * 
 * General 
 * 
 * **/
 .icon-arrow {
 	display: flex;
 	align-items: center;
 	pointer-events: none;
 }

 .icon-arrow:before {
 	content: "chevron_right";
 	font-family: "Material Icons";
 	font-size: 22px;
 }

 .icon-arrow-left:before {
 	content: "chevron_left";
 	margin-right: 5px;
 	transition: transform .3s cubic-bezier(.4,0,.1,1);
 }
/** 
 * 
 * General 
 * 
 * **/


/** 
 * 
 * Hamburger 
 * 
 * **/
 [data-hamburger] {
 	display: none;
 	width: 22px;
 	margin-right: 20px;
 	z-index: 10;
 	height: 17px;
 	border: none;
 	top: -5px;
 	cursor: pointer;
 	background-color: transparent;
 	background: none;
 	padding: 0;
 	position: relative;
 	transition: transform .3s cubic-bezier(.4,0,.1,1);
 }

 [data-close][data-hamburger] {
 	position: absolute;
 	right: 13px;
 	top: 26px;
 	z-index: 99;
 	margin-right: 0;
 }

 [data-hamburger] span {
 	display: block;
 	width: 100%;
 	height: 2px;
 	left: 0;
 	background: var(--navy);
 	position: absolute;
 	transition: all .3s cubic-bezier(.4,0,.1,1);
 }

 [data-hamburger] span:first-of-type {
 	top: 0;
 }

 [data-hamburger] span:nth-of-type(2) {
 	top: 50%;
 	transform: translateY(-1px);
 }

 [data-hamburger] span:last-of-type {
 	top: calc(100% - 2px);
 }

 [data-hamburger]:focus {
 	background: none;
 }

 [data-hamburger][aria-expanded="true"] span:first-of-type {
 	transform: translate(-50%, -50%) rotate(45deg);
 	left: 50%;
 	top: 50%;
 }

 [data-hamburger][aria-expanded="true"] span:nth-of-type(2) {
 	transform: scaleX(0);
 }

 [data-hamburger][aria-expanded="true"] span:last-of-type {
 	transform: translate(-50%, -50%) rotate(-45deg);
 	left: 50%;
 	top: 50%;
 }
/** 
 * 
 * Hamburger 
 * 
 * **/


/** 
 * 
 * Nav overlay 
 * 
 * **/

 .nav-overlay {
 	bottom: 0;
 	right: 0;
 	position: fixed;
 	overflow: hidden;
 	background-color: var(--white);
 	top: 0;
 	width: 0;
 	z-index: 23;
 	will-change: width;
 	transition: width .25s cubic-bezier(.4,0,.1,1);
 }

 .nav-overlay-main,
 .nav-overlay-toggle {
 	width: 320px;
 	padding-bottom: 40px !important;
 	-webkit-overflow-scrolling: touch;
 	background-color: var(--white);
 }

 .nav-overlay.is-active .nav-overlay-main {
 	transform: translateX(-100%);
 }

 .nav-overlay.is-active .nav-overlay-toggle {
 	transform: translateX(0);
 }

 .nav-overlay ul {
 	margin-top: 0;
 }

 .nav-overlay li a {
 	line-height: 1.2;
 }

 .nav-overlay button {
 	border: none;
 	background-color: transparent;
 	padding: 0;
 	cursor: pointer;
 }

 .nav-overlay * {
 	font-family: 'Roboto Condensed', sans-serif;
 }

 .nav-overlay-main, 
 .nav-overlay-toggle,
 .nav-overlay-panel {
 	position: absolute;
 	display: flex;
 	flex-direction: column;
 	align-items: flex-start;
 	top: 0;
 	bottom: 0;
 	right: 0;
 	line-height: 1;
 	padding: 0 15px 0 30px;
 	max-height: 100vh;
 	overflow-y: auto;
 	overflow-x: hidden;
 	transition: .25s;
 }

 .nav-overlay-panel {
 	display: none;
 }

 .nav-overlay-toggle {
 	transform: translateX(100%);
 	transition: .25s;
 }

 .nav-overlay-main ul {
 	line-height: 1;
 	width: 100%;
 }

 .nav-overlay-main ul:not(.small),
 .nav-overlay .btn-back {
 	margin-top: 96px;
 }

 .nav-overlay .btn-back {
 	font-size: 18px;
 	display: flex;
 	align-items: center;
 }

 .nav-overlay .btn-back:hover .icon-arrow:before {
 	transform: translateX(-8px);
 }

 .nav-overlay-main ul:not(.small) {
 	font-size: 22px;
 }

 .nav-overlay-main li:not(.small) {
 	margin-bottom: 20px;
 }

 .nav-overlay ul:not(.small) a {
 	display: block;
 	padding-right: 24px;
 	position: relative;
 }

 .nav-overlay a:hover {
 	color: var(--green);
 	opacity: 1;
 }

 .nav-overlay a:hover .icon-arrow {
 	right: -8px;
 }

 .nav-overlay-main ul.small {
 	margin-top: 42px;
 }

 .nav-overlay-main ul.small li {
 	font-size: 18px;
 	margin-bottom: 8px;
 }

 .nav-overlay ul.smaller li {
 	font-size: 16px;
 	margin-bottom: 20px;
 }

  .nav-overlay ul.smaller li a {
    line-height: 1.375;
  }

 .nav-overlay ul.smaller a {
 	opacity: .7;
 }

 .nav-overlay .icon-arrow:not(.icon-arrow-left) {
 	position: absolute;
 	right: 0;
 	top: 50%;
 	transform: translateY(-50%);
 	transition: right .3s cubic-bezier(.4,0,.1,1);
 }

 .nav-overlay-main .cta {
 	padding-top: 24px;
 }

 .nav-overlay-main .social-icons {
 	display: flex !important;
 	align-items: center;
 }

 .nav-overlay-main .social-icons a {
 	height: 32px;
 	line-height: 32px;
 	width: 32px;
 	display: inline-block;
 	padding-right: 0;
 	margin-right: 13px;
 }

 .nav-overlay-main .social-icons a:hover .fill {
 	fill: var(--green);
 }

 .nav-overlay-main .social-icons .fill {
 	transition: 400ms;
 }

 .nav-overlay .link-main {
 	margin: 40px 0 48px;
 	display: block;
 	font-size: 22px;
 }
  
 .nav-overlay .ifac {
 	background-image: url(../img/ifac-logo.svg);
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 64px 39px;
  color: #0a145c;
  display: block;
  font-size: 8px;
  font-weight: 300;
  height: 40px;
  line-height: 1.4;
  margin-top: 20px;
  padding-left: 75px;
  position: relative;
  z-index: 3;
  font-family: "Sora",sans-serif;
 }

 .nav-blur {
 	background: rgba(39, 45, 85, .66);
 	position: fixed;
 	top: 0;
 	left: 0;
 	top: 0;
 	bottom: 0;
 	right: 0;
 	z-index: 20;
 	opacity: 0;
 	pointer-events: none;
 	transition: opacity .3s cubic-bezier(.4,0,.1,1) .1s;
 }

 .nav-blur.loading {
 	transition: none;
 }

/** 
 * 
 * Nav overlay 
 * 
 * **/



/** 
 * 
 * Nav overlay open
 * 
 * **/
 .nav-open .nav-overlay {
 	width: 320px;
 }
 
 .nav-open .nav-blur {
 	opacity: 1;
 	pointer-events: all;
 }

/** 
 * 
 * Nav overlay open
 * 
 * **/



/** 
 * 
 * Media
 * 
 * **/
 @media (max-width: 1023px) {
 	[data-hamburger] {
 		display: inline-block;
 	}
 }

 @media (max-width: 767px) {
 	[data-hamburger] {
 		margin-right: 0;
 		z-index: 999;
 	}

 	[data-close] {
 		display: none;
 	}
 }

 @media (max-width: 360px) {
 	.nav-overlay-main,
 	.nav-overlay-toggle,
 	.nav-open .nav-overlay {
 		width: calc(100vw - 40px);
 	}
 }

 @media (min-width: 767px) {
	 [data-hamburger][aria-expanded="false"]:hover span {
	 	top: 50%;
	 	transform: translateY(-50%);
	 }

	 [data-hamburger][aria-expanded="true"]:hover {
	 	transform: rotate(90deg);
	 }
 }

 @media only screen and (min-device-width: 480px){
 	.nav-open {
 		overflow: hidden;
 	}
 }
/** 
 * 
 * Media
 * 
 * **/