@import url("https://use.typekit.net/jpw8juh.css");

/* REBOOT */
*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:transparent}@-ms-viewport{width:device-width}article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus{outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent;-webkit-text-decoration-skip:objects}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([tabindex]){color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus,a:not([href]):not([tabindex]):hover{color:inherit;text-decoration:none}a:not([href]):not([tabindex]):focus{outline:0}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg:not(:root){overflow:hidden}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus{outline:1px dotted;outline:5px auto -webkit-focus-ring-color}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[type=reset],[type=submit],button,html [type=button]{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=date],input[type=datetime-local],input[type=month],input[type=time]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}

/* COLORS */
:root {
  --white: #ffffff;
  --black: #000000;
  --grey: #878786;
  --yellow: #ffed00;
}

/* PROGRESS BAR */
.swup-progress-bar {
	top: auto;
	bottom: 0;
	height: 5px;
	background-color: var(--black);
	z-index: 500;
}

/* PRELOADS */
body::after {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  z-index: -1;
  content: url() url();
}

* {
  padding: 0;
  margin: 0;
}

a {
  transition: color 0.25s;
}

a,
a:visited {
  color: inherit;
  outline: none;
  text-decoration: none;
}

a:hover,
a:focus {
  color: inherit;
  outline: none;
  text-decoration: none;
}

a:hover {
  color: inherit;
  transition: color 0.25s;
}

a.no-hover {
  color: inherit !important;
}

input,
button,
textarea {
  outline: none !important;
}

p em a,
p em a:hover {
  text-decoration: underline;
}

button {
  cursor: pointer;
  outline: none !important;
}

html,
body {
  font-family: 'europa', sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 1.4vw;
  line-height: 1.5;
  background: var(--yellow);
  color: var(--black);
  text-align: left;
  -webkit-overflow-scrolling: touch;
  position: relative;
  height: auto;
  padding: 0;
  margin: 0;
}

@media (min-width: 1025px) and (min-height: 50vw) {
	html,
	body {
		font-size: 1.5vw;
	}
}

@media (max-width: 1024px) {
  html,
  body {
		font-size: 16px;
  }
}

html,
button,
input,
textarea {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: 'europa',sans-serif;
  font-weight: 700;
  font-style: normal;
  font-stretch: normal;
  line-height: 1;
  margin: 0;
  padding: 0;
  color: inherit;
  text-transform: none;
}

h1 {
	font-size: 2.925em;
	padding: 0 0 0.5em 0;
	max-width: 7.5em;
}

@media (max-width: 600px) {
	h1 {
		font-size: 2.25em;
	}
}

h2 {
	font-size: 1.75em;
	padding: 0 0 0.5em 0;
}

@media (max-width: 600px) {
	h2 {
		font-size: 1.5em;
	}
}

h3 {
	font-size: 1.25em;
	line-height: 1.125;
	color: var(--white);
}

b,
strong {
  font-weight: 700;
  font-style: normal;
  font-stretch: normal;
}

p {
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5;
  margin: 0;
  padding: 0;  
}

ul {
	font-size: 1em;
	font-weight: 700;
	line-height: 1.5;
	padding: 0.5em 0 0 0;
	margin: 0 0 0 1em;
}

ul li {
	padding: 0;
	margin: 0;
}

::-moz-selection {
  background: var(--black);
  color: var(--white);
  text-shadow: none;
}

::selection {
  background: var(--black);
	color: var(--white);
  text-shadow: none;
}

/* VIEW */
#view {
	background-color: var(--viewbgcolor);
}

/* NAV */
#nav .navbg {
	position: fixed;
	content: '';
	top: 0;
	left: 0;
	width: 100%;
	height: 7.5em;
	z-index: 45;
	background: linear-gradient(0deg, transparent 0%, var(--navbgcolor) 1.5em, var(--navbgcolor) 100%);
	pointer-events: none;
}

@media (max-width: 767px) {
	#nav .navbg {
		height: calc(4.5em + 50px);
		background: linear-gradient(0deg, transparent 0%, var(--navbgcolor) 25px, var(--navbgcolor) 100%);
	}
}

a.company {
	display: block;
	position: fixed;
	top: 1.5em;
	left: 1.5em;
	font-size: 1.25em;
	line-height: 1;
	font-weight: 700;
	z-index: 50;
}

a.logo {
	display: block;
	position: fixed;
	top: 1.5em;
	right: 1.5em;
	width: 3em;
	height: auto;
	z-index: 50;
}

@media (max-width: 767px) {
	a.company {
		top: 25px;
		left: 25px;
	}
	
	a.logo {
		width: 40px;
		top: 25px;
		right: 25px;
	}
}

a.logo svg {
	display: block;
	width: 100%;
	height: auto;
}

a.logo svg polygon.whiteyellow {
	fill: var(--white);
	transition: fill 0.25s;
}

.overtop a.logo svg polygon.whiteyellow {
	fill: var(--yellow);
}

/* SECTIONS */
.section {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: auto;
	min-height: 100vh;
	align-items: center;
	justify-content: center;
}

/*
.bg-yellow {
	background: var(--yellow);
}

.bg-grey {
	background: var(--grey);
}
*/

.header {
	width: 100%;
	height: auto;
	flex-grow: 1;
	padding: 25px 25px 1.5em 25px;
}

.header span {
	display: block;
	width: 100%;
	height: 3.75em;
}

@media (min-width: 768px) {
	#introduction .header {
		padding: 1.5em 1.5em 3em 1.5em;
	}
}

@media (max-width: 767px) {
	.header {
		padding: 25px 25px 2em 25px;
	}
}

.content {
	width: 100%;
	height: auto;
	flex-grow: 1;
	padding: 0 15vw;
}

@media (max-width: 767px) {
	.content {
		padding: 0 75px 0 25px;
	}
}

.description {
	padding: 0 1.5em 2em 1.5em;
}

@media (max-width: 767px) {
	.description {
		padding: 0 0 2em 0;
	}
}

#infos {
	position: relative;
	z-index: 25;
}

.introduction {
	position: relative;
	padding: 0 0 2em 0;
}

.introduction p {
	max-width: 26em;
}

a.goto {
	display: block;
	width: 1.5em;
	height: auto;
	cursor: pointer;
}

a.goto svg {
	width: 100%;
	height: auto;
}

a.goto svg path {
	fill: none;
	stroke:#000;
	stroke-miterlimit: 10;
	stroke-width: 4px;
}

/* FOOTER */
.footer {
	width: 100%;
	height: auto;
	padding: 2em 25px 25px 25px;
	opacity: 1;
	transition: opacity 0.25s;
}

.hidefooter #introduction .footer {
	opacity: 0;
	pointer-events: none;
}

@media (min-width: 768px) {
	#introduction .footer {
		padding: 1em 1.5em 1.5em 1.5em;
	}
}

.footer p {
	font-size: 0.825em;
	font-weight: 700;
}

#infos .footer {
	color: var(--yellow);
}

.footer-grid {
	display: flex;
	justify-content: space-between;
	align-items: end;
}

@media (max-width: 600px) {
	.footer-grid {
		display: block;
	}
	
	.footer p {
		padding: 0 0 25px 0;
	}
}

.footer-logos figure {
	display: inline-block;
	vertical-align: bottom;
	margin: 0;
}

.footer-logos figure img.boia {
	width: 2.25em;
	height: auto;
	margin-right: 0.25em;
}

.footer-logos figure img.ingenieur {
	width: 3.75em;
	height: auto;
}

@media (min-width: 768px) {
	.hidden-desktop {
		display: none;
	}
}

@media (max-width: 767px) {
	.hidden-mobile {
		display: none;
	}
}