@charset "UTF-8";
@import url("https://use.typekit.net/fwl1tui.css");

/*------------------------------------- Page Defaults -----------------------------------*/

*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body, html { font-size: 100%; padding: 0; margin: 0; }
/* Clearfix hack by Nicolas Gallagher: http://nicolasgallagher.com/micro-clearfix-hack/ */
.clearfix:before, .clearfix:after { content: " "; display: table; 
}
.clearfix:after { clear: both; 
}
/* Animate.css */
.os-animation { opacity: 0; } .os-animation.animated { opacity: 1; }
body {
	background: #FFF;
	overflow: scroll;
	-webkit-overflow-scrolling: touch;
}
img { width:100%; display:block;
}
.clear {clear:both;}
a,
a:link,
a:visited,
a:hover { text-decoration:none; color:inherit;
}

/*------------------------------------- Text Spans -----------------------------------*/

/* Text Transformation */
.uppercase {
	text-transform:uppercase;
}
.lowercase {
	text-transform:lowercase;
}
.centred {
	text-align: center;
}
.underline {
	text-decoration: underline;
}
.underline-orange {
    text-decoration: underline;
    text-decoration-color: #c75300;
}

/* Integrated Fonts */

.light {
    font-family: adrianna, sans-serif;
    font-weight: 300;
    font-style: normal;
}
.bold {
    font-family: adrianna, sans-serif;
    font-weight: 700;
    font-style: normal;
}
.extra {
    font-family: adrianna, sans-serif;
    font-weight: 800;
    font-style: normal;
}
.light.italic,
.bold.italic,
.extra.italic {
    font-style: italic;
}

/* Colors */

.white {
	color: #FFF;
}
.navy {
    color: #13022b;
}
.yellow {
    color: #fed16e;
}
.green {
    color: #9cc4a3;
}

/* Default Colors */

.invis {
	color: rgba(0,0,0,0);
}

/* Floating Nav Offset */

:target:before {
  content: "";
  display: block;
  height: auto; /* fixed header height */
  padding: 0px 0px 0px 0px;
  margin: 0px 0 0 0; /* negative fixed header height */
}

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

.flex-container {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.flex-container.flex-double,
.flex-container.flex-double-space,
.flex-container.flex-tripple,
.flex-container.flex-tripple-space,
.flex-container.flex-quad,
.flex-container.flex-quad-space,
.flex-container.flex-quintuple,
.flex-container.flex-quintuple-space {
    justify-content: space-around;
}
.flex-container .flex-item {
    position: relative;
}
.flex-double .flex-item {
    width: 50%;
}
.flex-double-space .flex-item {
    width: calc(50% - 50px);
    margin: 25px;
}
.flex-tripple .flex-item {
    width: 33.3%;
}
.flex-tripple-space .flex-item {
    width: calc(33.3% - 50px);
    margin: 25px;
}
.flex-quad .flex-item {
    width: 25%;
}
.flex-quad-space .flex-item {
    width: calc(25% - 50px);
    margin: 25px;
}
.flex-quintuple .flex-item {
    width: 20%;
}
.flex-quintuple-space .flex-item {
    width: calc(20% - 50px);
    margin: 25px;
}
.flex-container .flex-full {
    width: 100%;
    margin: 25px;
}
.flex-container .flex-item.flex-text-right {
    padding: 50px 15vw 50px 100px;
}
.flex-container .flex-item.flex-text-left {
    padding: 50px 100px 50px 15vw;
}
.flex-container .flex-item .wrapper {
    margin: 0;
    width: 100%;
}

/*----------------------------------- Navigation ----------------------------------------*/

/* Main Navigation */
#navigation {
    position: relative;
    width: 100vw;
    margin: 20px 0px 20px 0px;
}
#navigation #navigation-container {
    position: relative;
    width: 70vw;
    margin: 0 auto;
    padding: 70px 0px 20px 0px;
    text-align: right;
}
#navigation #navigation-container li {
    position: relative;
	display: inline-block;
	height: auto;
	margin: 0px 0px 0px 15px;
    padding: 0px 20px 0px 0px;
	font-size: 1em;
    line-height: 1em;
    color: #423a62;
    border-right: 2px solid #80acb4;
    cursor: pointer;
}
#navigation #navigation-container li.last {
    border-right: none;
}
#navigation #navigation-container li:hover,
#navigation #navigation-container li:focus {
	color: #c75300;
    transition: 0.2s all;
}
#navigation #navigation-container li.btn {
    padding: 12px 20px 10px 20px;
    border-right: none;
    border-radius: 20px;
    color: #FFF;
}
#navigation #navigation-container li.btn.btn-blue {
    background: #423a62;
}
#navigation #navigation-container li.btn.btn-red {
    background: #cb0000;
}
#navigation #navigation-container li.btn:hover,
#navigation #navigation-container li.btn:focus {
    background: #c75300;
    transition: 0.2s all;
}
#navigation #navigation-container li .selected::before {
    content: '';
    position: absolute;
    height: 2px;
    width: calc(100% - 20px);
    background: #c75300;
    bottom: -5px;
    left: 0;
}
#navigation #navigation-container #language {
    position: absolute;
    top: 20px;
    right: 0;
}
#navigation #navigation-container #language .menu-button {
	position: absolute;
	z-index: 3;
	padding: 0px;
	width: 45px;
    height: 45px;
    right: 110px;
	top: 50%;
    transform: translateY(-50%);
    background: #c75300;
    border-radius: 50%;
    /* Shadow */
    box-shadow: 0px 0px 18px -6px rgba(0,0,0,0.2);
}
#navigation #navigation-container #language .menu-button:hover,
#navigation #navigation-container #language .menu-button:focus {
	background: #423a62;
	transition: 0.2s all;
}
#navigation #navigation-container #language .menu-button::before {
	position: absolute;
	top: 0.9em;
	right: 0.7em;
	bottom: 0.9em;
	left: 0.7em;
	background: linear-gradient(#FFF 20%, transparent 20%, transparent 40%, #FFF 40%, #FFF 60%, transparent 60%, transparent 80%, #FFF 80%);
	content: '';
}

/* Logo */
#navigation #logo-main,
#navigation #logo-main-french {
    position: absolute;
    z-index: 2;
    top: 50%;
    transform: translateY(-50%);
    left: 15vw;
    height: 45px;
    width: 300px;
    background: url('../gfx/logos/logo.png') no-repeat;
    background-size: contain;
}
#navigation #logo-main-french {
    background: url('../gfx/logos/logo-french.png') no-repeat;
    background-size: contain;
}

/*------------------------------------- Graphics ------------------------------------------*/

#home-bg {
	background: url('../gfx/banners/home.jpg') no-repeat;
    background-size: cover;
    background-position: center;
}
#contact-bg {
	background: url('../gfx/banners/contact.jpg') no-repeat;
    background-size: cover;
    background-position: center;
}

/*------------------------------------- Icons ------------------------------------------*/

#icon-referral-myself,
#icon-mobile-referral-myself {
	background: url('../gfx/icons/icon-myself.png') no-repeat;
    background-size: contain;
}
#icon-referral-provider,
#icon-mobile-referral-provider{
	background: url('../gfx/icons/icon-provider.png') no-repeat;
    background-size: contain;
}
#icon-referral-contact {
	background: url('../gfx/icons/icon-referral-contact.png') #FFF no-repeat;
    background-size: contain;
}
#icon-contact-unsure {
    background: url('../gfx/icons/icon-contact-unsure.png') #c75300 no-repeat;
    background-size: contain;
}
#icon-contact-call {
    background: url('../gfx/icons/icon-contact-call.png') no-repeat;
    background-size: contain;
}
#icon-contact-email {
    background: url('../gfx/icons/icon-contact-email.png') no-repeat;
    background-size: contain;
}

/*------------------------------------- Backgrounds ------------------------------------------*/

.white-bg {
	background: #FFF;
	position: relative;
}
.navy-bg {
    background: #13022b;
    position: relative;
}
.yellow-bg {
    background: #fed16e;
    position: relative;
}
.green-bg {
    background: #9cc4a3;
    position: relative;
}

/*------------------------------------- Wrapper ------------------------------------------*/

/* Temp Site */
#mobile-banner {
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
#temp {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 100vh;
    background: url('../gfx/banners/home.jpg') no-repeat;
    background-size: cover;
    background-position: center;
}
#temp .wrapper .logo {
    display: block;
    width: 100%;
    max-width: 350px;
    height: auto;
    margin: 0px 0px 50px 0px;
}

/* Content Styles */
.wrapper {
	position: relative;
	z-index: 2;
	width: 70vw;
	margin: 0 auto;
	padding: 80px 0px 80px 0px;
}
.wrapper .narrow {
    max-width: 600px;
    margin: 0;
}
.wrapper h1 {
    position: relative;
    font-size: 3.6em;
    line-height: 1.1em;
    padding: 0px;
    margin: 0px 0px 30px 0px;
}
.wrapper h2 {
    font-size: 1.8em;
    line-height: 1.2em;
    padding: 0px;
    margin: 0px 0px 30px 0px;
}
.wrapper p {
    font-size: 1.2em;
    line-height: 1.5em;
}
.wrapper p.small {
    font-size: 1em;
    line-height: 1.5em;
}
.wrapper p a:link,
.wrapper p a:visited {
	color: inherit;
	text-decoration: underline;
}
.wrapper p a:hover,
.wrapper p a:focus {
	color: rgba(0,0,0,0.6);
	transition: 0.2s all;
}

/* Accents */
.wrapper .accent {
    position: relative;
    display: block;
    height: 6px;
    width: 100%;
    max-width: 350px;
    margin: 20px 0px 40px 0px;
    border-radius: 3px;
}
.wrapper .spacer-small {
    height: 40px;
}

/* Buttons */
.wrapper .btn {
	position: relative;
	display: inline-block;
	margin: 20px 20px 0px 0px;
	padding: 15px 30px 15px 30px;
	font-size: 1em;
    line-height: 1em;
	text-align: center;
    border-radius: 10px;
    color: #13022b;
    cursor: pointer;
    background: #fed16e;
}
.wrapper .btn:hover,
.wrapper .btn:focus {
    background: #13022b;
    color: #fed16e;
	transition: 0.2s all;
}

/*----------------------------------- Mobile Menu Content ----------------------------------------*/

html, 
body, 
.container, 
.content-wrap {
	width: 100%;
}
.content-wrap {
    height: 100vh;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	-webkit-transition: -webkit-transform 0.3s;
	transition: transform 0.3s;
}
.content-wrap-active {
	overflow-x: hidden;
	overflow-y: hidden;
	max-height: 100vh;
}
/* Content Overlay */
#menu-overlay {
	position: absolute;
	z-index: 998;
	height: 100vh;
	width: 100vw;
	background: rgba(0,0,0,0.4);
}
.overlay-hidden {
	opacity: 0;
	visibility: hidden;
}
.overlay-vis {
	opacity: 1;
	visibility: visible;
}
.menu-active {
	left: 0px;
	z-index: 999;
	opacity: 1;
	visibility:visible;
	/* Animations */
	transform-origin: left;
	animation-name: menu-in;
	animation-direction: normal;
	animation-duration: 300ms;
}
.menu-nonactive {
	left: -1000px;
	z-index: -999;
	opacity: 0;
	visibility: hidden;
	/* Animations */
	transform-origin: left;
	animation-name: menu-out;
	animation-direction: normal;
	animation-duration: 100ms;
}
.menu-wrap {
	position: absolute;
	height: 100vh;
	width: 300px;
	overflow: hidden;
	/* Shadow */
	-webkit-box-shadow: 0px 0px 18px -6px rgba(0,0,0,0.55);
	-moz-box-shadow: 0px 0px 18px -6px rgba(0,0,0,0.55);
	box-shadow: 0px 0px 18px -6px rgba(0,0,0,0.55);
}
.menu-wrap .menu {
    position: relative;
    z-index: 2;
	list-style: none;
	padding: 100px 30px 0px 30px;
	margin: 0;
}
.menu-wrap .menu li {
	display: block;
	width: 100%;
	font-size: 1em;
	color: #423a62;
	padding: 0px 0px 10px 10px;
	margin: 0px 0px 7px 0px;
}
.menu-wrap .menu .current {
    color: #a2af79;
}
.menu-wrap .menu .current::before {
    content: '';
    position: absolute;
    top: 6px;
    left: 20px;
    height: 12px;
    width: 12px;
    background: url('../gfx/icons/chevron-secondary.png') no-repeat;
    background-size: contain;
}
.menu-wrap .menu li:hover,
.menu-wrap .menu li:focus {
	color: #c75300;
    transition: 0.2s all;
}
/* Logo */
.menu-wrap #menu-logo,
.menu-wrap #menu-logo-french {
    position: absolute;
    top: 30px;
    left: 30px;
    height: 27px;
    width: 180px;
    background: url('../gfx/logos/logo.png') no-repeat;
    background-size: contain;
}
.menu-wrap #menu-logo-french {
    background: url('../gfx/logos/logo-french.png') no-repeat;
    background-size: contain;
}
/* Close */
.close-button {
	width: 50px;
	height: 50px;
	position: absolute;
	right: 10px;
	top: 20px;
	text-indent: 16px;
	border: none;
	z-index: 1001;
	color: transparent;
	background: transparent;
}
.close-button::before,
.close-button::after {
	content: '';
	position: absolute;
	width: 2px;
	height: 20px;
	top: 14px;
	left: 50%;
	background: #c75300;
}
.close-button::before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.close-button::after {
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}
.close-button span {
    position: absolute;
    top: 50%;
    left: -85px;
    transform: translateY(-50%);
    color: #424643;
    letter-spacing: 1px;
}
/* Menu Animations */
@keyframes menu-in {
    0% {
        left: -1000px;
    }
    100% {
        left: 0px;
    }
}
/* Safari 4.0 - 8.0 */
@-webkit-keyframes menu-in {
	0% {
        left: -1000px;
    }
    100% {
        left: 0px;
    }	
}
@keyframes menu-out {
    0% {
        left: 0px;
    }
    100% {
        left: -1000px;
    }	
}
/* Safari 4.0 - 8.0 */
@-webkit-keyframes menu-out {
	0% {
        left: 0px
    }
    100% {
        left: -1000px;
    }	
}

/*------------------------------------- Media Queries -----------------------------------*/

@media (max-width: 1600px){
	
    /* Flex */
    .flex-container .flex-item.flex-text-right {
    padding: 50px 10vw 50px 100px;
    }
    .flex-container .flex-item.flex-text-left {
    padding: 50px 100px 50px 10vw;
    }
    /* Wrapper */
    #temp .wrapper {
    position: relative;
    top: auto;
    left: auto;
    transform: translateY(0%);
    margin: 0 auto;
    }
    #temp .wrapper .logo {
    display: block;
    width: 100%;
    height: auto;
    margin: 0px 0px 50px 0px;
    }
    .wrapper {
	width: 80vw;
    }
    
    
}
@media (min-width: 1025px){
    
    /* Mobile */
    #mobile-banner {
    display: none;
    visibility: hidden;
    opacity: 0;
    }
    
}
@media (max-width: 1024px){
    
    /* Mobile */
    #mobile-banner {
    display: block;
    visibility: visible;
    opacity: 1;
    }
    /* Flex */
    .flex-double .flex-item,
    .flex-tripple .flex-item {
    width: 100%;
    }
    .flex-double-space .flex-item {
    width: 100%;
    margin: 25px 0px 25px 0px;
    }
    .flex-container .flex-item.flex-text-right,
    .flex-container .flex-item.flex-text-left {
    padding: 0px 10vw 0px 10vw;
    }
    .flex-quad .flex-item,
    .flex-quintuple .flex-item  {
    width: 100%;
    }
    .flex-quad-space .flex-item,
    .flex-quintuple-space .flex-item {
    width: 100%;
    margin: 25px 0px 25px 0px;
    }
    .flex-container .mobile-photo {
    min-height: 300px;
    }
    /* Wrapper */
    #temp {
    background: #FFF;
    }
    #temp .wrapper .logo {
    width: 70%;
    margin: auto auto 50px auto;
    }
    .wrapper {
    text-align: center;
    padding: 0px 0px 50px 0px;
    }
    .wrapper .narrow {
    max-width: none;
    }
    .wrapper .btn {
    width: 100%;
    }
    .wrapper .accent {
    max-width: none;
    }
    
}