:root{
  --black: #000;
  --white: #ffffff;
  --border: #41b2b9;
  --primary: #0b4481;
  --text-dark: #231f20;

  /* fonts */
  --font-Montserrat : "Montserrat", sans-serif;

  /* sizes */
  --180: 180px;
  --160: 160px;
  --120: 120px;
  --90: 90px;
  --85: 85px;
  --60: 60px;
  --40: 40px;
  --38: 38px;
  --35: 35px;
  --32: 32px;
  --28: 28px;
  --18: 18px;

}

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

html {
  font-size: 100.01%;
}

body {
  font-family: var(--font-Montserrat);
  background-color: var(--white);
  color: var(--primary);
  font-size: var(--32);
  min-height: 100vh;
  line-height: 1.1;
  font-weight: 400;
}

.container {
  width: 100%;
  max-width: 1620px;
  padding-left: 40px;
  padding-right: 40px;
}

.container-md {
  max-width: 1650px;
}

.container-sm{
  max-width: 1300px;
}

.container-fluid{
  padding-left: 80px;
  padding-right: 80px;
}

.mb-120{
  margin-bottom: var(--120);
}

a, .btn, button {
  transition: all 0.35s ease-in;
  -webkit-transition: all 0.35s ease-in;
  -moz-transition: all 0.35s ease-in;
  -ms-transition: all 0.35s ease-in;
  -o-transition: all 0.35s ease-in;
}

a, button{
  cursor: pointer;
}

strong {
  font-weight: 800;
}

small {
  font-size: 91%;
}

a, .btn {
  outline: none !important;
}

a {
  color: inherit;
  text-decoration: none !important;
}

a:hover {
  text-decoration: underline;
}

p, ul {
  margin-bottom: 1em;
}

p:last-child, ul:last-child {
  margin-bottom: 0;
}

h1, h2, h3, h4, h5, h6{
  line-height: 1.2;
  margin-bottom: 1em;
  font-weight: 600 !important;
  font-family: var(--font-Montserrat);
}

:is(h1, h2, h3, h4, h5, h6):last-child{
  margin-bottom: 0;
}

h1, .h1{
  font-size: var(--90);
  margin-bottom: 0.7em;
  line-height: 0.95;
}

h2, .h2{
  line-height: 1;
  font-size: var(--60);
  margin-bottom: 1em;
}

h3{
  font-size: var(--40);
  margin-bottom: 1em;
  line-height: 1.1;
}

h4{
  font-size: var(--38);
  font-weight: 600;
}

h5{
  font-size: var(--35);
}

h6{
  font-size: var(--28);
}

.h6{
  font-size: var(--18);
}

.btn{
  font-family: var(--font-Montserrat);
  justify-content: center;
  align-items: center;
  color: var(--white);
  cursor: pointer;
  border-radius: 8px;
  font-size: var(--40);
  padding: .3em 1em;
  font-weight: 600;
  line-height: 1;
  display: flex;
}

.btn-primary{
  background-color: var(--primary);
}

.btn-white{
  color: var(--primary);
  background-color: var(--white);
}

.btn-white:hover{
  color: var(--white);
  background-color: var(--primary);
}

.text-primary {
  color: var(--primary) !important;
}

.text-dark {
  color: var(--text-dark) !important;
}

.hero{
  z-index: 1;
  height: 100vh;
  min-height: 480px;
  color: var(--white);
  position: relative;
}

.hero > img{
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  object-position: center right 10%;
}

.hero-content img{
  width: 90%;
  max-width: 990px;
}

.hero-content h4{
  margin-bottom: 0.3em;
}

.form-area{
  overflow: hidden;
  margin-bottom: var(--180);
  border-radius: 0 0 var(--32) var(--32);
}

.form-content{
  background-color: #d2edf6;
  padding-left: var(--60);
  padding-right: var(--60);
}

.form-fields{
  background-color: #ced1e3;
  padding-left: var(--40);
  padding-right: var(--40);
}

.form-content, .form-fields{
  min-height: 100%;
  padding-top: var(--40);
  padding-bottom: var(--40);
}

.form-content h3{
  max-width: 98%;
}

.heading-line h2{
  margin: 0;
}

.heading-line h2:after{
  z-index: 1;
  width: 27%;
  height: 1px;
  content: "";
  display: block;
  max-width: 200px;
  margin: 0.35em 0;
  position: relative;
  background-color: var(--border);
}

label{
  font-size: var(--28);
  margin-bottom: 0.15em;
}

.form-fields h5{
  text-transform: uppercase;
  font-weight: 700 !important;
}

.form-control{
  height: 50px;
  font-weight: 500;
  font-size: var(--28);
  box-shadow: none !important;
}

.faire > img{
  margin-top: -20%;
}

.faire h3{
  max-width: 92%;
}

.impacts{
  padding-top: var(--180);
  padding-bottom: var(--160);
  background-color: #d2edf6;
}

.impack-items{
  margin-top: var(--120);
  margin-bottom: var(--120);
}

.impack-items img{
  max-width: 200px;
  width: 75%;
}

.impack-items p{
  margin-top: 1em;
  font-weight: 600;
  margin-bottom: 0;
}

.impack-items > div:not(:first-child){
  border-left: 1px solid var(--border);
}

.impack-content > *{
  margin-bottom: 15px;
}

.number{
  font-size: 7.3em;
  font-weight: 800;
  text-indent: -0.2em;
  padding-top: var(--18);
  padding-bottom: var(--18);
}

.impacts .text-center h3:not(.h2){
  max-width: 820px;
  margin: auto;
  width: 100%;
}

.benefits{
  padding-top: var(--160);
}

.benefits .row > div{
  margin-bottom: var(--180);
  width: 44.8%;
}

.benefits h3{
  color: var(--text-dark);
  margin-top: var(--40);
  margin-bottom: 0;
  width: 88%;
}

.benefits h3:after{
  z-index: 1;
  width: 27%;
  height: 1px;
  content: "";
  display: block;
  max-width: 55px;
  margin: 0.7em 0;
  position: relative;
  background-color: var(--border);
}

.video{
  padding-top: var(--85);
  padding-bottom: var(--85);
  background: transparent url('../images/video-bg.png') no-repeat center bottom / cover;
}

.btn-play{
  transform: translate(-50%, -50%);
  background-color: transparent;
  outline: none !important;
  border: none !important;
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 50%;
}

.btn-play img{
  width: 7.5em;
}

.plusieurs{
  padding-top: var(--160);
  padding-bottom: var(--120);
}

.plusieurs-content{
  z-index: 1;
  padding-top: var(--120);
  padding-bottom: var(--120);
}

.plusieurs-content > img{
  border-radius: 2em 0 0 2em;
  object-position: center;
  position: absolute;
  object-fit: cover;
  height: 100%;
  width: 44.5%;
  z-index: -1;
  right: 0;
  top: 0;
}

.plusieurs-list h3{
  background-color: #d3edf2;
  border-radius: 0.75em;
  padding: 0.2em 0.3em;
  text-align: center;
  min-height: 100px;
  max-width: 380px;
  line-height: 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

hr{
  border-color: var(--border);
  border-width: 2px;
  margin: 0;
}

.partners{
  padding-top: var(--90);
  padding-bottom: var(--120);
}

.partners h5{
  font-size: var(--32);
  padding-bottom: .5em;
  margin-bottom: var(--40);
}

.partners img{
  margin-bottom: var(--120);
}

.partners h3{
  margin-bottom: 0.3em;
}

.footer{
  padding-bottom: var(--90);
  background: transparent url('../images/footer-bg.png') no-repeat center top / cover;
}

.footer-content{
  padding-top: var(--120);
  padding-bottom: var(--120);
}

.footer-content h2{
  color: #d2edf3;
}

.footer h6{
  color: var(--white);
  font-size: var(--28);
  text-transform: uppercase;
  font-weight: 400 !important;
}

.footer .row{
  margin-bottom: var(--40);
  margin-top: var(--40);
}

.footer .row img{
  margin: auto;
}

.copyrights{
  font-size: var(--18);
  color: var(--white);
  margin-top: 20px;
}