@charset "UTF-8";

/*
styles.css = global css
style-x.css = custom css
TO DO
> add sticky polyfill == https://github.com/dollarshaveclub/stickybits
*/

#devtools {
	position:fixed;
	z-index:1200;
	bottom:0;
	left:0;
	margin:1rem;
}

/****************************/
/****************************/
/********** COLORS **********/
/****************************/
/****************************/

/* global theme + custom theme */

/*
all themes : 
light => rgb(245,245,245);

theme #1 : default
dark	=> rgb(105,166,194);
darker	=> rgb(31,44,55);
darkest	=> rgb(14,20,25); 

Focus : light / dark
*/

/***************************/
/***************************/
/********** ICONS **********/
/***************************/
/***************************/

/* included in html */

/***************************/
/***************************/
/********** FONTS **********/
/***************************/
/***************************/

/* included in html */

/********************************/
/********************************/
/********** ANIMATIONS **********/
/********************************/
/********************************/

.icon,
p a,
nav a,
.nav-tabs a:after,
.buttons a,
.button,
.primary-expand .label,
.primary-expand .label:before,
.primary-expand .label:after,
.gmap-marker,
.gmap-marker path {
	-webkit-transition:all .15s cubic-bezier(.75,0,.25,1);
	-moz-transition:all .15s cubic-bezier(.75,0,.25,1);
	-ms-transition:all .15s cubic-bezier(.75,0,.25,1);
	transition:all .15s cubic-bezier(.75,0,.25,1);
}
#primary {
	-webkit-transition:transform .15s cubic-bezier(.75,0,.25,1);
	-moz-transition:transform .15s cubic-bezier(.75,0,.25,1);
	-ms-transition:transform .15s cubic-bezier(.75,0,.25,1);
	transition:transform .15s cubic-bezier(.75,0,.25,1);
}

/***************************/
/***************************/
/********** STYLE **********/
/***************************/
/***************************/

/* reset */

* {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
html {
	font-size:100%;
}
html,
input,
textarea,
select,
button {
	-webkit-font-smoothing:antialiased;
	-moz-osx-font-smoothing:grayscale;
	-webkit-text-size-adjust:100%;
}
h1, h2, h3, h4, h5, h6, ul, ol, p, a, span, b, strong, blockquote, label, div, table,
input, textarea, button, select {
	margin:0;
	padding:0;
}
p {
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	text-shadow:inherit;
}
b, strong, del,
i, em {
	font-size:inherit;
	line-height:inherit;
}

/********** HR **********/

hr {
	width:100%;
	border:0;
	border-bottom:solid .0625rem rgb(255,255,255);
}
hr.blank {
	border:0 !important;
}

/********** IFRAME **********/

iframe {
	max-width:100%;
	border:none;
}

/********** SVG **********/

svg {
	display:block;
	-webkit-transform:translate3d(0,0,0);
	-moz-transform:translate3d(0,0,0);
	-ms-transform:translate3d(0,0,0);
	transform:translate3d(0,0,0);
	backface-visibility:hidden;
}

/********** IMG **********/

figure {
	display:block;
	height:auto;
	max-width:100%;
	margin:0;
	border:0;
}
img {
	display:block;
	height:auto;
	max-width:100%;
	margin:0 auto;
	border:0;
}

/********** @MEDIA **********/

@media screen and (max-device-width:320px) {
	body {
		-webkit-text-size-adjust:none;
	}
}

/****************************/
/****************************/
/********** CUSTOM **********/
/****************************/
/****************************/

.hidden {
	position:absolute;
	font-size:0 !important;
	padding:0 !important;
}
.disabled {
	opacity:.25;
	pointer-events:none;
}
.centered {
	text-align:center;
}

/*********************************/
/*********************************/
/********** FONT FAMILY **********/
/*********************************/
/*********************************/

body {
	font-family: 'Barlow',sans-serif;
}
h1, h2, h4, h5, h6 {
	font-weight:100;
}

h3 {
	font-weight:300;
}

/*******************************/
/*******************************/
/********** FONT SIZE **********/
/*******************************/
/*******************************/

body {
	letter-spacing:.0125em;
}

h1, h2, h3, h4, h5, h6 {
	line-height:1.25em;
}
small {
	font-size:.5em;
}

/********** @MEDIA **********/

@media (min-width:0px) {
	body { 
		font-size:.875rem;
	}
	h1 {
		font-size:1.5rem;
	}
	h2 {
		font-size:1.25rem;
	}
	.excerpt {
		font-size:1rem;
	}
}
@media (min-width:760px) {
	body { 
		font-size:1rem;
	}
	h1 {
		font-size:2rem;
	}
}
@media (min-width:1000px) {
	h1 {
		font-size:3rem;
	}
	h2 {
		font-size:2rem;
	}
	.excerpt {
		font-size:1.125rem;
	}
}
@media (min-width:1200px) {
	h1 {
		font-size:3.25rem;
	}
	h2 {
		font-size:2.25rem;
	}
	.excerpt {
		font-size:1.25rem;
	}
}

/*************************************/
/*************************************/
/********** CONTENT SPACING **********/
/*************************************/
/*************************************/

/********** DEFAULT **********/

h1.hidden + *,
h2.hidden + * {
	padding:0;
	margin:0;
}

/********** FORM **********/

label.hidden + * {
	margin:0;
}
* + label.hidden {
	position:relative;
}

/********** @MEDIA **********/

/*
element + next ==> padding
if can't element + next element => margin
*/

@media (min-width:0px) {
	/* default style */
	h1 + *,
	h2 + *,
	h3 + *,
	h4 + *,
	h5 + *,
	h6 + *,
	.title + *,
	.excerpt + * {
		padding:1rem 0 0 0;
	}
	p + *,
	blockquote + *,
	hr + *,
	ul + *,
	ol + *,
	figure + *,
	img + *,
	svg + * {
		padding:1rem 0 0 0;
	}
	* + hr {
		margin:1rem 0 0 0;
	}
	/* custom style */
	.icon + *,
	section .splitted + *,
	.gmap-content + *,
	.grid + *,
	.columns + *,
	.columnizer + *,
	.nav-tabs + *,
	nav + *,
	.buttons + *,
	.button + * {
		padding:1rem 0 0 0;
	}
	* + .button {
		margin:1rem 0 0 0;
	}
	/* default form */
	form + *,
	label + *,
	input + *,
	select + *,
	button + *,
	textarea + * {
		padding:1rem 0 0 0;
	}
	* + label,
	* + input,
	* + select,
	* + button,
	* + textarea {
		margin:1rem 0 0 0;
	}
}
@media (min-width:1000px) {
	/* default style */
	h1 + *,
	h2 + *,
	h3 + *,
	h4 + *,
	h5 + *,
	h6 + *,
	.title + *,
	.excerpt + * {
		padding:2rem 0 0 0;
	}
	* + hr {
		margin:2rem 0 0 0;
	}
	.grid h3 + * {
		padding:1rem 0 0 0;
	}
	/* custom style */
	.icon + *,
	section .splitted + *,
	section .grid + *,
	section .columns + *,
	.nav-tabs + *,
	nav + *,
	.buttons + *,
	.button + * {
		padding:2rem 0 0 0;
	}
	* + .button {
		margin:2rem 0 0 0;
	}
}

/*******************************/
/*******************************/
/********** IMG / SVG **********/
/*******************************/
/*******************************/

/********** IMG **********/

img.full {
	display:block;
	height:auto;
	width:100%;
	margin:0 auto;
}

/********** IMG WITHIN TEXT **********/

.alignleft {
	float:left;
	margin:0 1rem 0 0;
}
.alignright {
	float:right;
	margin:0 0 0 1rem;
}
.aligncenter {
    display:block;
}
.alignleft:after,
.alignright:after,
.aligncenter:after {
	content:"";
    display:block;
    clear:both;
}

/********** AVATAR **********/

.avatar {
	position:relative;
	display:inline-block;
	vertical-align:middle;
	-webkit-border-radius:100%;
	-moz-border-radius:100%;
	-ms-border-radius:100%;
	border-radius:100%;
	overflow:hidden;
	background-size:cover !important;
	background-position:center center !important;
}
.avatar img {
	width:100%;
	max-width:none;
}
.avatar.small {
	height:4rem;
	width:4rem;
}

/********** INITIALS **********/

.avatar[data-initials]:before {
	content:attr(data-initials);
	position:absolute;
	top:50%;
	left:50%;
	-webkit-transform:translateX(-50%) translateY(-50%);
	-moz-transform:translateX(-50%) translateY(-50%);
	-ms-transform:translateX(-50%) translateY(-50%);
	transform:translateX(-50%) translateY(-50%);
}

/********** ICON **********/

.icon {
	position:relative;
	margin:0;
}

/********** SVG **********/

figure > svg {
	display:block;
	width:100%;
	margin:0 auto;
}

/********** BACKGROUND **********/

.background-container {
	position:absolute;
	z-index:-1;
	top:0;
	left:-100%;
	right:-100%;
	height:100%;
	width:auto;
	overflow:hidden;
	padding:0 !important;
	margin:0 !important;
}
.background {
	position:absolute;
	z-index:-1;
	top:0;
	left:0;
	height:100%;
	width:100%;
	max-width:none;
	background-size:cover !important;
	background-repeat:no-repeat !important;
	background-position:center center !important;
}
.background.contain {
	background-size:contain !important;
	background-position:left !important; /* single institution ? */
}
.bg-top-left {
	background-position:top left !important;
}
.bg-top-center {
	background-position:top center !important;
}
.bg-top-right {
	background-position:top right !important;
}
.bg-center-left {
	background-position:center left !important;
}
.bg-center-right {
	background-position:center right !important;
}
.bg-bottom-left {
	background-position:bottom left !important;
}
.bg-bottom-center {
	background-position:bottom center !important;
}
.bg-bottom-right {
	background-position:bottom right !important;
}

/********** COLORS **********/

.avatar.has-shadow {
	box-shadow:0 .25rem .5rem rgb(14,20,25);
}
.avatar[data-initials] {
	background:rgb(105,166,194);
}

/********** @MEDIA **********/

@media (min-width:0px) {
	/* avatar */
	.avatar {
		height:6rem;
		width:6rem;
	}
	/* icon */
	.icon {
		font-size:2rem;
		line-height:2rem;
	}
}
@media (min-width:760px) {
	/* avatar */
	.avatar {
		height:10rem;
		width:10rem;
	}
	/* icon */
	.icon {
		font-size:3rem;
		line-height:3rem;
	}
}

/*****************************/
/*****************************/
/********** UL / OL **********/
/*****************************/
/*****************************/

ul,
ol {
	list-style-position:inside;
}
li {
	list-style-type: disc;
}

/********** OL **********/

ol {
	margin:0;
	list-style-type:none;
}
ol li {
	position:relative;
	display:block;
	counter-increment:step-counter;
	padding:.5em 0 .5em 2.25em !important;
}
ol li:before {
	position:absolute;
	z-index:10;
	top:50%;
	left:0;
	content:counter(step-counter);
	display:block;
	text-align:center;
	color:rgb(255,255,255);
	text-shadow:0 0 0 rgb(255,255,255);
	background:rgb(21,21,30);
	font-size:.75em;
	line-height:.75em;
	height:.75em;
	width:2.25em;
	padding:.75em 0;
	-webkit-transform:translateY(-50%);
	-moz-transform:translateY(-50%);
	-ms-transform:translateY(-50%);
	transform:translateY(-50%);
	-webkit-border-radius:100%;
	-moz-border-radius:100%;
	-ms-border-radius:100%;
	border-radius:100%;
}

/********** BULLET LIST **********/

.bullet li {
	position:relative;
	display:block;
	width:auto !important;
	padding:.25rem 0 .25rem 1.25rem;
}
.bullet li:before {
	position:absolute;
	top:50%;
	color:rgb(255,255,255);
	background:rgb(255,255,255);
	margin:-.25rem 0 0 -1.25rem;
	content:"";
	display:block;
	height:.5rem;
	width:.5rem;
	-webkit-border-radius:100%;
	-moz-border-radius:100%;
	-ms-border-radius:100%;
	border-radius:100%;
}

/********************************/
/********************************/
/********** RESPONSIVE **********/
/********************************/
/********************************/

/********** @MEDIA **********/

@media (min-width:0px) {
	.only-mobile {
		visibility:visible;
		display:block;
	}
	.only-desktop {
		visibility:hidden;
		display:none;
	}
}
@media (min-width:760px) {
	.only-mobile {
		visibility:hidden;
		display:none;
	}
	.only-desktop {
		visibility:visible;
		display:block;
	}
}

/*****************************/
/*****************************/
/********** COLUMNS **********/
/*****************************/
/*****************************/

/*
.columns
.columns.has-gutter
.columns > .has-gutter
.columns.centered
.columns.sum-up
*/

/********** DEFAULT **********/

.columns {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.columns > * {
	list-style-type:none;
	padding:0;
}
.columns.centered > * {
	text-align:center;
}
.columns.align-vertical {
	align-items:center;
}

/********** SUM-UP **********/

.columns.sum-up {
	-webkit-flex-direction:row;
	-moz-flex-direction:row;
	-ms-flex-direction:row;
	flex-direction:row;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}

/********** @MEDIA **********/

@media (min-width:0px) {
	.columns {
		-webkit-flex-direction:column;
		-moz-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
		margin:-1rem;
	}
	.columns > * {
		flex-grow:1;
		flex-basis:0; /* same width */
		margin:1rem;
		width:calc(100% - 2rem);
	}
	.columns.has-gutter > *:not(:last-child) {
		border-bottom:solid .0625rem;
		padding-bottom:1rem;
		margin-bottom:0;
	}
	/* sum-up */
	.columns.sum-up {
		margin:-1rem;
	}
	.columns.sum-up > * {
		flex-basis:calc(50% - 2rem);
	}
}
@media (min-width:640px) {
	/* sum-up */
	.columns.sum-up {
		margin:0 -1rem;
	}
	.columns.sum-up > * {
		flex-basis:0;
	}
}
@media (min-width:760px) {
	.columns {
		-webkit-flex-direction:row;
		-moz-flex-direction:row;
		-ms-flex-direction:row;
		flex-direction:row;
		margin:0 -1rem;
	}
	.columns > * {
		flex-grow:1;
		flex-basis:0; /* same width */
		margin:0 1rem;
	}
	.columns.has-gutter > *:not(:last-child) {
		border-right:solid .0625rem;
		padding-right:1rem;
		margin-right:0;
		border-bottom:none;
		padding-bottom:0;
		margin-bottom:0;
	}
	.columns > *.has-gutter {
		border-left:solid .0625rem;
		padding-left:1rem;
	}
}
@media (min-width:1000px) {
	.columns {
		margin:0 -2rem;
	}
	.columns > * {
		margin:0 2rem;
	}
	.columns.has-gutter > *:not(:last-child) {
		padding-right:2rem;
	}
	.columns > *.has-gutter {
		padding-left:2rem;
	}
}

/******************************/
/******************************/
/********** COLUMNIZER ********/
/******************************/
/******************************/

/*
.columnizer > p / ul / ol / etc.
> data-columns = 2* / 3 / 4 (*2 == default)
.columnizer > .break == new column
*/

/********** DEFAULT **********/

.columnizer p + p {
	padding:0;
	margin:0 0 1rem 0;
}
.columnizer p:not(:last-child) {
	margin-bottom:1rem;
}
.columnizer .break {
	-webkit-column-break-before:always;
	break-before:always;
	padding-top:0;
}

/********** @MEDIA **********/

@media (min-width:760px) {
	.columnizer {
		-webkit-column-count:2;
		-moz-column-count:2;
		-ms-column-count:2;
		column-count:2;
		-webkit-column-gap:2rem;
		-moz-column-gap:2rem;
		-ms-column-gap:2rem;
		column-gap:2rem;
	}
}
@media (min-width:1000px) {
	.columnizer[data-columns="3"] {
		-webkit-column-count:3;
		-moz-column-count:3;
		-ms-column-count:3;
		column-count:3;
	}
	.columnizer[data-columns="4"] {
		-webkit-column-count:4;
		-moz-column-count:4;
		-ms-column-count:4;
		column-count:4;
	}
}

/*****************************/
/*****************************/
/********** ANCHORS **********/
/*****************************/
/*****************************/

/********** DEFAULT INLINE **********/

a {
	position:relative;
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	outline:0;
	text-decoration:none;
}
p  a {
	border-bottom:solid .0625rem;
	margin-bottom:-.0625rem !important;
}

/********** READ-MORE **********/

nav.read-more {
	border:0;
}
.read-more > a {
	float:left;
}
.read-more > a + a {
	margin:0 0 0 1rem;
}
.read-more > a:before,
a.read-more:before {
	content:"";
	display:block;
	padding-top:1rem;
}
.read-more:after {
	content:"";
	clear:both;
}

/********** WITH ICONS **********/

a i {
	margin:0 1em 0 0;
}
a span {
	display:inline-block;
	font-family:inherit;
	font-size:inherit;
	line-height:inherit;
	color:inherit;
	text-shadow:inherit;
}

/********** WITH LABELS **********/

a .label,
button .label {
	position:absolute !important;
	font-size:0 !important;
}

/********** BUTTONS **********/

.buttons {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:center;
	-moz-box-align:center;
	-ms-flex-align:center;
	-webkit-align-items:center;
	align-items:center;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	width:calc(100% + 1rem);
	margin:-.5rem;
}
.buttons > * {
	flex-grow:1;
	margin:.5rem;
}
.buttons.short {
	width:auto;
	margin:-.5rem;
}
.buttons.short > * {
	flex-grow:0;
}
.buttons > *,
.button {
	position:relative;
	display:inline-block;
	text-align:center;
	padding:1rem;
	border:none !important;
	-webkit-border-radius:.125rem;
	-moz-border-radius:.125rem;
	-ms-border-radius:.125rem;
	border-radius:.125rem;
}
.buttons.small > *,
.button.small {
	font-size:.75rem;
	line-height:.75rem;
	padding:.75rem !important;
}

/********** COLORS **********/

p > a:hover {
	color:rgb(105,166,194);
	text-shadow:0 0 0 rgb(105,166,194);
}
.buttons > *,
.button {
	color:rgb(255,255,255);
	text-shadow:0 0 0 rgb(255,255,255);
	background:rgb(105,166,194);
}
.buttons a:hover,
.button:hover {
	background:rgb(31,44,55);
}
.darkest .buttons a:hover,
.darkest .button:hover {
	color:rgb(105,166,194);
	text-shadow:none;
	background:rgb(255,255,255);
}

/********** BEHAVIOURS **********/

:focus {
	outline-color:transparent;
	outline-style:none;
}
::selection {
	background:rgb(255,255,153);
}
::-moz-selection {
	background:rgb(255,255,153);
}

/*******************************/
/*******************************/
/********** STRUCTURE **********/
/*******************************/
/*******************************/

html, body {
	margin:0;
	padding:0;
	border:0;
	height:100%;
	width:100%;
}
body {
	-webkit-overflow-scrolling:touch;
}
#wrapper {
	position:relative;
	min-height:100%;
	overflow:visible;
}
main {
	display:block;
	overflow:hidden;
}
footer {
	position:relative;
	width:100%;
	overflow:hidden;
}

/********** HEADER **********/

header {
	z-index:1100;
	top:0;
	left:0;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:center;
	-moz-box-align:center;
	-ms-flex-align:center;
	-webkit-align-items:center;
	align-items:center;
	-webkit-box-pack:space-between;
	-moz-box-pack:space-between;
	-ms-flex-pack:space-between;
	-webkit-justify-content:space-between;
	justify-content:space-between;
	width:100%;
	padding:0 1rem;
	background:rgb(255,255,255);
}
header:before {
	content:"";
	position:absolute;
	z-index:1200;
	top:0;
	left:0;
	height:100%;
	width:100%;
	background:rgb(255,255,255);
}
header:after {
	content:"";
	position:absolute;
	z-index:1100;
	top:100%;
	left:0;
	height:.25rem;
	width:100%;
	opacity:.25;
}
header .index,
header .primary-expand {
	z-index:1200;
}
header .index {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:center;
	-moz-box-align:center;
	-ms-flex-align:center;
	-webkit-align-items:center;
	align-items:center;
	padding:1rem 0;
}
header .index .avatar + * {
	margin:0 0 0 1rem;
	padding:0;
}

/********** FOOTER **********/

footer .columnizer {
	-webkit-column-count:2;
	-moz-column-count:2;
	-ms-column-count:2;
	column-count:2;
}

/********** COLORS **********/

body {
	color:rgb(31,44,55);
	text-shadow:none;
}
header:after {
	background: rgb(14,20,25);
	background: -moz-linear-gradient(0deg, rgba(14,20,25,0) 0%, rgba(14,20,25,1) 100%);
	background: -webkit-linear-gradient(0deg, rgba(14,20,25,0) 0%, rgba(14,20,25,1) 100%);
	background: linear-gradient(0deg, rgba(14,20,25,0) 0%, rgba(14,20,25,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#0e1419",endColorstr="#0e1419",GradientType=1);
}

/********** @MEDIA **********/

@media (min-width:0px) {
	#wrapper {
		padding-top:4.375rem;
	}
	header {
		position:fixed;
	}
	header .index .avatar.small {
		height:2rem;
		width:2rem;
	}
}
@media (min-width:1000px) {
	#wrapper {
		padding-top:0;
	}
	header {
		position:-webkit-sticky;
		position:sticky;
	}
	header:before {
		display:none;
	}
	header .index .avatar.small {
		height:3rem;
		width:3rem;
	}
}

/*****************************/
/*****************************/
/********** SECTION **********/
/*****************************/
/*****************************/

section {
	position:relative;
	clear:both;	
	margin:0 auto;
	background-size:cover !important;
	background-position:center center !important;
	max-width:1400px;
}
section > * {
	z-index:1;
}
section > section {
	max-width:none;
	overflow:hidden;
}

/********** SECTION FULL **********/
/* ex. with background */

section.full {
	min-height:10rem;
	max-width:none;
}

/********** SECTION SHORT **********/

/* less padding */

/********** MAIN SECTION **********/

main section:first-child,
main section:not(.focus):first-child + section.focus {
	margin-top:0 !important;
}

/********** SECTION BACKGROUND **********/

section.light:after,
section.dark:after,
section.darker:after,
section.darkest:after {
	content:"";
	position:absolute;
	z-index:-1;
	top:0;
	left:-100%;
	right:-100%;
	height:100%;
	width:auto;
}
section.light:after {
	background:rgb(245,245,245);
}

/********** @MEDIA **********/

@media (min-width:0px) {
	section {
		padding:2rem;
	}
	.breadcrumb + section {
		padding-top:2rem !important;
	}
}
@media (min-width:1000px) {
	section {
		padding:4rem;
	}
}
@media (min-width:1200px) {
	section {
		padding:8rem;
	}
	section.short {
		padding:4rem;
	}
}

/***********************************/
/***********************************/
/********** SECTION FOCUS **********/
/***********************************/
/***********************************/
/* height = 100vh - header height */

section.focus {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
	padding:0;
	-webkit-box-align:center;
	-moz-box-align:center;
	-ms-flex-align:center;
	-webkit-align-items:center;
	align-items:center;
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
	margin:0 auto;
	max-width:none;
}
section.focus:before {
	content:"";
	display:block;
	height:0;
	width:100%;
	margin:0 0 0 -100%;
}
section.focus:after {
	content:"";
	position:absolute;
	z-index:5;
	bottom:0;
	left:0;
	height:100%;
	width:100%;
	opacity:.8;
}

/********** FOCUS INFOS **********/

section.focus .infos {
	position:relative;
	z-index:10;
	display:block;
	width:100%;
}
section.focus .infos > * + * {
	padding:.5rem 0 0 0;
}
section.focus .infos a > .title {
	display:inline-block;
	border-bottom:solid .0625rem transparent;
}
section.focus .infos a:hover .title {
	border-bottom:solid .0625rem;
}
section.focus .title {
	display:inline-block !important;
	text-transform:none;
}
section.focus h1 small {
	display:block;
}
section.focus .background {
	opacity:.5;
}

/********** COLORS **********/

section.focus.light:after {
	background: rgb(125,159,195);
	background: -moz-radial-gradient(circle, rgba(255,255,255,.5) 0%, rgba(255,255,255,1) 100%);
	background: -webkit-radial-gradient(circle, rgba(255,255,255,.5) 0%, rgba(255,255,255,1) 100%);
	background: radial-gradient(circle, rgba(255,255,255,.5) 0%, rgba(255,255,255,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);
}
section.focus.dark:after {
	background: rgba(0,57,64,.5);
	background: -moz-radial-gradient(circle, rgba(0,125,140,.5) 0%, rgba(0,57,64,1) 100%);
	background: -webkit-radial-gradient(circle, rgba(0,125,140,.5) 0%, rgba(0,57,64,1) 100%);
	background: radial-gradient(circle, rgba(0,125,140,.5) 0%, rgba(0,57,64,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#7d9fc3",endColorstr="#3e4f61",GradientType=1);
}
section.focus.light .infos {
	color:rgb(31,44,55);
	text-shadow:none;
}
section.focus.dark .infos {
	color:rgb(255,255,255);
	text-shadow:0 0 0 rgb(255,255,255);
}

/********** @MEDIA **********/

@media (min-width:0px) {
	section.focus:before {
		padding:25% 0 0 0;
	}
	section.focus.front:before {
		padding:50% 0 0 0;
	}
	section.focus .infos {
		padding:2rem;
		margin:auto 0;
	}
	/* focus front */
	section.focus.front .infos {
		padding:4rem 2rem 2rem 2rem;
		margin:auto 0 0 0;
	}
}
@media (min-width:1000px) {
	section.focus:before {
		padding:20% 0 0 0;
	}
	section.focus.front:before {
		padding:40% 0 0 0;
	}
	section.focus .infos {
		padding:2rem;
		margin:auto 0;
	}
	/* focus front */
	section.focus.front {
		min-height:calc(100vh - 5rem);
	}
	section.focus.front .infos {
		padding:2rem 21rem;
		margin:auto 0;
	}
}
@media (min-width:1200px) {
	/* focus front */
	section.focus.front {
		min-height:calc(100vh - 5.375rem);
	}
}
@media (min-width:1400px) {
	/* focus front */
	section.focus.front {
		min-height:calc(100vh - 6rem);
	}
}

/*************************/
/*************************/
/********** NAV **********/
/*************************/
/*************************/

nav a {
	display:inline-block;
}

/********** INLINE **********/

nav.inline {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
}
nav.vertical {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:column;
	-moz-flex-direction:column;
	-ms-flex-direction:column;
	flex-direction:column;
}

/********** COLORS **********/

nav a:hover {
	color:rgb(105,166,194);
	text-shadow:0 0 0 rgb(105,166,194);
}

/****************************/
/****************************/
/********** SOCIAL **********/
/****************************/
/****************************/

nav.sharebar,
nav.socialbar {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:center;
	-moz-box-align:center;
	-ms-flex-align:center;
	-webkit-align-items:center;
	align-items:center;
	white-space:nowrap;
}
nav.sharebar > *,
nav.socialbar > * {
	display:inline-block;
	vertical-align:middle;
	padding:.5rem;
	margin:0;
}

/*****************************/
/*****************************/
/********** PRIMARY **********/
/*****************************/
/*****************************/

body.expanded {
	overflow:hidden;
}
#primary {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
}
#primary.expanded {
	overflow:auto;
	-webkit-overflow-scrolling:touch;
}

/********** EXPAND **********/

.primary-expand {
	position:relative;
	z-index:1100;
	display:inline-block;
	padding:1rem;
}
.primary-expand .label {
	position:relative !important;
	font-size:0;
	line-height:0;
	margin:.4375rem auto;
}
.primary-expand .label:before {
	margin-top:-.375rem;
}
.primary-expand .label:after {
	margin-top:.375rem;
}
.primary-expand .label:before,
.primary-expand .label:after {
	position: absolute;
	content:'';
}
.primary-expand .label,
.primary-expand .label:before,
.primary-expand .label:after {
	width:1rem;
}
.primary-expand .label,
.primary-expand .label:before,
.primary-expand .label:after {
	display:block;
	height:.0625rem;
	height:.125rem;
}
.primary-expand.expanded .label:before {
	margin-top:0;
	-webkit-transform:rotate(45deg);
	-moz-transform:rotate(45deg);
	-ms-transform:rotate(45deg);
	transform:rotate(45deg);
	width:1.3525rem;
}
.primary-expand.expanded .label:after {
	margin-top:0;
	-webkit-transform:rotate(-45deg);
	-moz-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	width:1.3525rem;
}
.primary-expand.expanded .label {
	background:transparent !important;
}

/********** COLORS **********/

.primary-expand .label,
.primary-expand .label:before,
.primary-expand .label:after {
	background:rgb(31,44,55);
}

/********** @MEDIA **********/

@media (min-width:0px) {
	#primary {
		position:fixed;
		z-index:1000;
		top:0;
		left:0;
		-webkit-flex-direction:column;
		-moz-flex-direction:column;
		-ms-flex-direction:column;
		flex-direction:column;
		height:100%;
		width:100%;
		padding:5rem 1rem 1rem 1rem;
		font-size:1rem;
		line-height:1rem;
		text-align:left;
		-webkit-transform:translateY(-100%);
		-moz-transform:translateY(-100%);
		-ms-transform:translateY(-100%);
		transform:translateY(-100%);
		overflow:auto;
		background:rgb(245,245,245);
	}
	#primary.expanded {
		-webkit-transform:translateY(0);
		-moz-transform:translateY(0);
		-ms-transform:translateY(0);
		transform:translateY(0);
	}
	#primary a {
		text-transform:uppercase;
		padding:1rem;
	}
}
@media (min-width:1000px) {
	#primary.expanded,
	#primary {
		position:relative;
		top:auto;
		left:auto;
		-webkit-flex-direction:row;
		-moz-flex-direction:row;
		-ms-flex-direction:row;
		flex-direction:row;
		max-height:none;
		width:auto;
		padding:0;
		text-align:center;
		-webkit-transform:none;
		-moz-transform:none;
		-ms-transform:none;
		transform:none;
		overflow:visible;
		background:none;
	}
	#primary a {
		padding:2.5em 1em;
	}
	/* primary-expand */
	.primary-expand {
		display:none !important;
	}
}
@media (min-width:1000px) {
	#primary {
		font-size:.75rem;
		line-height:1rem;
	}
}
@media (min-width:1200px) {
	#primary {
		font-size:.875rem;
	}
}
@media (min-width:1400px) {
	#primary {
		font-size:1rem;
	}
}

/********************************/
/********************************/
/********** BREADCRUMB **********/
/********************************/
/********************************/

.breadcrumb {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
	padding:0 .375rem;
}
.breadcrumb > * + *:before {
	content:"●";
	display:inline-block;
	font-size:.625rem;
	padding:0 .75rem 0 0;
}
.breadcrumb > * {
	display:inline-block;
	font-size:.75rem;
	line-height:.75rem;
	padding:.75rem .375rem;
}
.breadcrumb a {
	position:relative;
	overflow:hidden;
}
.breadcrumb a span {
	opacity:.5;
}
.breadcrumb .active span,
.breadcrumb a:hover span {
	opacity:1;
}

/********** COLORS **********/

.breadcrumb .active,
.breadcrumb a:hover {
	color:rgb(105,166,194);
	text-shadow:0 0 0 rgb(105,166,194);
}
.breadcrumb .active:before,
.breadcrumb a:hover:before {
	color:rgb(31,44,55) !important;
	text-shadow:none !important;
}

/********** @MEDIA **********/

@media (min-width:0px) {
	header .breadcrumb {
		display:none !important;
	}
}
@media (min-width:760px) {
	header .breadcrumb {
		display:-webkit-box !important;
		display:-moz-box !important;
		display:-ms-flexbox !important;
		display:-moz-flex !important;
		display:-webkit-flex;
		display:flex !important;
	}
}

/**************************/
/**************************/
/********** TABS **********/
/**************************/
/**************************/

/*
.nav-tabs > span
ul.tabs > .tab
data-tabs == #tabs
*/

/********** NAV **********/

.nav-tabs {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
	-webkit-box-align:flex-start;
	-moz-box-align:flex-start;
	-ms-flex-align:flex-start;
	-webkit-align-items:flex-start;
	align-items:flex-start;
	-webkit-justify-content:center;
	-moz-justify-content:center;
	-ms-justify-content:center;
	justify-content:center;
}
.nav-tabs a:after {
	content:"";
	position:absolute;
	bottom:0;
	left:1rem;
	height:.125rem;
	width:0;
	opacity:0;
}
.nav-tabs a > i {
	opacity:.25;
}
.nav-tabs a:hover > i,
.nav-tabs a.active > i {
	opacity:1;
}
.nav-tabs a:hover:after,
.nav-tabs a.active:after {
	opacity:1;
	width:calc(100% - 2rem);
}
.nav-tabs a > i + * {
	margin:1em 0 0 0;
	padding:0;
}

/********** TABS **********/

.tabs {
	display:block;
}
.tabs:after {
	content:"";
	display:block;
	clear:both;
}
.tabs > * {
	display:block;
	float:left;
	width:100%;
	margin-left:-9999rem;
	height:0;
	opacity:0;
}
.tabs > .active {
	margin-left:0;
	height:100%;
	opacity:1;
}

/********** COLORS **********/

.nav-tabs a:after {
	background:rgb(31,44,55);
}

/********** @MEDIA **********/

@media (min-width:0px) {
	.nav-tabs {
		-webkit-flex-wrap:wrap;
		-moz-flex-wrap:wrap;
		-ms-flex-wrap:wrap;
		flex-wrap:wrap;
		margin:-1rem;
	}
	.nav-tabs a {
		padding:1rem;
		flex-basis:calc(50% - 2rem);
	}
}
@media (min-width:640px) {
	.nav-tabs {
		margin:0 -1rem;
	}
	.nav-tabs a {
		flex-basis:auto;
	}
}

/**************************/
/**************************/
/********** GRID **********/
/**************************/
/**************************/

.grid,
.grid .item,
.grid .item .item-content {
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
}
.grid {
	-webkit-flex-wrap:wrap;
	-moz-flex-wrap:wrap;
	flex-wrap:wrap;
}
.grid .item {
	position:relative;
	-webkit-flex-direction:column;
	-moz-flex-direction:column;
	-ms-flex-direction:column;
	flex-direction:column;
}
.grid .item * + h3 {
	padding-top:1rem;
}

/********** @MEDIA **********/

@media (min-width:0px) {
	/* default */
	.grid {
		margin:-1rem 0;
	}
	.grid .item {
		width:100%;
		margin:.5rem 0;
	}
}
@media (min-width:480px) {
	.grid {
		width:auto;
		margin:-1rem;
	}
	.grid .item {
		width:calc((100% / 2) - 1rem);
		margin:.5rem;
	}
}
@media (min-width:760px) {
	.grid >.item {
		width:calc((100% / 3) - 1rem);
	}
}
@media (min-width:1000px) {
	.grid {
		margin:-1rem;
	}
	.grid .item {
		width:calc((100% / 3) - 2rem);
		margin:1rem;
	}
}
@media (min-width:1400px) {
	.grid .item {
		width:calc((100% / 4) - 2rem);
	}
}

/**************************/
/**************************/
/********** FORM **********/
/**************************/
/**************************/

/* incoming if needed */

/*********************************/
/*********************************/
/********** OSTEO-BLOCK **********/
/*********************************/
/*********************************/

#osteo-block {
	position:relative;
	display:-webkit-box;
	display:-moz-box;
	display:-ms-flexbox;
	display:-moz-flex;
	display:-webkit-flex;
	display:flex;
	-webkit-flex-direction:column;
	-moz-flex-direction:column;
	-ms-flex-direction:column;
	flex-direction:column;
	z-index:10;
	padding:1rem;
	background:rgb(255,255,255);
}
#osteo-block nav.buttons a {
	text-align:center;
}

/********** COLORS **********/

#osteo-block {
	color:rgb(31,44,55);
	text-shadow:none;
	box-shadow: 0 0 .5rem rgba(31,44,55,.5);
}

/********** @MEDIA **********/

@media (min-width:0px) {
	#osteo-block {
		-webkit-border-radius:.25rem;
		-moz-border-radius:.25rem;
		-ms-border-radius:.25rem;
		border-radius:.25rem;
		width:100%;
		margin:auto 1rem 1rem 1rem;
	}
	#osteo-block > * {
		order:2;
	}
	#osteo-block .gmap-content {
		margin:1rem 0 0 0;
		padding:25% 0 0 0 !important;
	}
	#osteo-block > .buttons {
		order:1;
		padding:0;
	} 
}
@media (min-width:1000px) {
	#osteo-block {
		position:absolute;
		top:50%;
		right:0;
		-webkit-transform:translateY(-50%);
		-moz-transform:translateY(-50%);
		-ms-transform:translateY(-50%);
		transform:translateY(-50%);
		width:17rem;
		margin:auto 1rem;
	}
	#osteo-block .gmap-content {
		margin:0;
		padding:50% 0 0 0 !important;
	}
	#osteo-block > .buttons {
		order:2;
		padding:1rem 0 0 0;
	} 
}
@media (min-width:1200px) {
	#osteo-block {
		margin:auto 2rem;
	}
	#osteo-block .gmap-content {
		padding:100% 0 0 0 !important;
	}
}

/********************************/
/********************************/
/********** GOOGLE MAP **********/
/********************************/
/********************************/

.gmap-content {
	position:relative;
	display:block;
}
.gmap-content .gmap {
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	-webkit-transform:translate3d(0,0,0);
	-moz-transform:translate3d(0,0,0);
	-o-transform:translate3d(0,0,0);
	-ms-transform:translate3d(0,0,0);
	transform:translate3d(0,0,0);
	opacity:1;
}
.gmap-content.short {
	height:0;
	margin:0 auto;
	-webkit-border-radius:100%;
	-moz-border-radius:100%;
	-ms-border-radius:100%;
	border-radius:100%;
	overflow:hidden;
}

.gmap-content button + * { padding:0; }

/********** GMAP MARKERS **********/

.gmap-marker {
	display:block;
	cursor:pointer;
	opacity:0;
	margin:-2rem 0 0 0;
	-webkit-transform-origin:bottom center;
	-moz-transform-origin:bottom center;
	-ms-transform-origin:bottom center;
	transform-origin:bottom center;
}
.gmap.active .gmap-marker {
	opacity:1;
	margin:0;
}
.gmap-marker.active,
.gmap-marker:hover {
	-webkit-transform:scale(1.5);
	-moz-transform:scale(1.5);
	-ms-transform:scale(1.5);
	transform:scale(1.5);
}

/********** COLORS **********/

.gmap-marker path {
	fill:rgb(31,44,55);
}
.gmap-marker.active path,
.gmap-marker:hover path {
	fill:rgb(105,166,194);
}

/********** @MEDIA **********/

@media (min-width:0px) {
	.gmap-content {
		min-height:10rem;
		min-width:10rem;
	}
	.gmap-content.short {
		height:0;
		padding:50% 0 0 0;
		width:50%;
	}
}
@media (min-width:760px) {
	.gmap-content {
		min-height:15rem;
		min-width:15rem;
	}
	.gmap-content.short {
		padding:100% 0 0 0;
		width:100%;
	}
}
@media (min-width:1000px) {
	.gmap-content {
		height:0;
		padding:40% 4rem 0 4rem;
	}
	.gmap-content.short {
		padding:75% 0 0 0;
		width:75%;
	}
}
@media (min-width:1200px) {
	.gmap-content.short {
		padding:50% 0 0 0;
		width:50%;
	}
}