@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;600&display=swap');

/* ==========================================================================
   Reset
   ========================================================================== */

* { padding: 0;margin: 0; box-sizing: border-box;}
html {height: 100%;font-family: sans-serif;  -ms-text-size-adjust: 100%; -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
article, aside, details, figcaption, figure, footer, header, hgroup, main, nav, section, summary { display: block;}
audio, canvas, progress, video {display: inline-block; vertical-align: baseline; }

[hidden], template {display: none;}

a {background: transparent;text-decoration: none;transition: all 200ms ease-out;color: #004c93;}
a:active, a:hover {outline: 0;  transition: all 200ms ease-out; outline:none}
ul {list-style: none;}
abbr[title] {border-bottom: 1px dotted;}
b, strong {font-weight: bold;}
img {border: 0;}
button {overflow: visible;}
button, select {text-transform: none;}
button, html input[type="button"],  input[type="reset"], input[type="submit"] { -webkit-appearance: button;  cursor: pointer; }
button[disabled],
html input[disabled] {cursor: default;}
button::-moz-focus-inner,
input::-moz-focus-inner {border: 0; padding: 0;}
input {line-height: normal;}
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; padding: 0; }
textarea {overflow: auto;}
textarea, input { outline: none; }
table { border-collapse: collapse;border-spacing: 0;}
td, th {padding: 0;}
p { margin-bottom: 15px; line-height: 1.5;}
fieldset { border: none;}
button:focus {outline:0;}

img.alignright {float:right; margin:0 0 1em 1em}
img.alignleft {float:left; margin:0 1em 1em 0}
img.aligncenter {display: block; margin-left: auto; margin-right: auto;}
a img.alignright {float:right; margin:0 0 1em 1em}
a img.alignleft {float:left; margin:0 1em 1em 0}
a img.aligncenter {display: block; margin-left: auto; margin-right: auto}
body.overflow {overflow: hidden; }

h1, h2, h3, h4, h5, h6 {font-weight:600;}

/* ==========================================================================
  General 
   ========================================================================== */
body {font-family: 'Montserrat', sans-serif; font-weight:normal; font-style: normal; font-size: 16px; color: #000;}
section { width: 100%; float: left; padding: 20px;}
.row {width: 100%;  margin: 0 auto;  max-width: 1200px;  padding: 0;}
.btn {display: inline-block; font-weight:600; color: #fff; background:#f03043; border: 3px solid #f03043; padding: 18px 30px 15px 30px; text-transform: uppercase; line-height: 1; transition: all .4s cubic-bezier(0.46, 0, 0.07, 1);}
.btn:hover {color:#f03043; background: rgba(255,255,255,0.8); transition: all .4s cubic-bezier(0.46, 0, 0.07, 1); }

.header {position: absolute; top: 0; left: 0; z-index: 5; width: 100%;}
.header:before {content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 75px; background: #fff; z-index: 0;}
.header .row {display: flex; justify-content: space-between; position: relative;z-index: 2;}
.header .row li {display: inline-block; margin-left: 20px;}
.header .row nav {margin-top: 30px;}
.header a {color: #f03043;}
.header .logo  { padding: 10px 5px; background: #fff; border-radius: 0 0 3px 3px; width:250px; height:auto; background:#fff; }

.reconnue {height: 55px; margin-top: 10px;}

.hero {background: #F6F6F6; display: flex; padding: 75px 0 0 0;}
.heroimg { background-size: cover !important; position: relative; width: 100%; border-radius: 100px 0 0 100px;}
.herocontent { flex: 0 0 50%; padding: 40px;position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; align-items: center; align-content: center; min-height: 560px;}
.herocontent:before {content: ""; background: rgba(0,0,0,0.6); width: 100%; height: 100%; position: absolute; left: 0; top:0;}
.herocontent h1 {font-size: 26px; margin-bottom: 20px; color: #fff; z-index: 1;}
.herocontent p {margin-bottom: 20px; color: #fff; z-index: 1; text-align: center;}
.herocontent .btn {text-align:  center; z-index: 2; font-size: 13px; border-radius: 8px; background: #fff; color: #f03043; border-color: #fff;}
.heroform {display: flex; flex-direction: column; width: 100%; justify-content: center; align-items: center; padding: 40px;}


.headtitle {display: flex; flex-direction: column; padding-bottom:30px; }
.headtitle h1 {font-size: 24px; margin-bottom: 10px; text-align: center;}
.headtitle p {text-align: center; margin-bottom: 10px; max-width: 650px;}

.btn.full {background: none; border-color: #fff; color: #fff;}
.btn:hover {color:#000; background: #fff; transition: all .4s cubic-bezier(0.46, 0, 0.07, 1); }

.herobtn {display: grid; grid-template-columns: 1fr; grid-gap: 20px;}


.content {padding: 100px 20px;}
.content p {line-height: 1.6; text-align: center; max-width: 1100px; margin: 0 auto;}

.faits {padding: 60px 20px; background: #f03043; color: #fff; text-align: center; }
.faits h1 {color: #FFF; font-size: 30px; margin-bottom:  20px;}
.faits p { font-size:  18px; max-width: 1000px; margin: 0 auto; } 
.faits .blocs {display: grid; grid-gap: 45px;grid-template-columns: 1fr 1fr 1fr; margin-top: 60px;}
.faits .bloc img { max-width:   90px; opacity:  .3; margin-bottom: 20px;}
.faits .bloc h2 {color: #FFF; font-weight:  300; font-size: 24px; margin-bottom: 	10px;}
.faits .bloc p { font-size: 	16px; }


.temoignage {padding: 60px 20px;}
.temoignage .item {display: flex !important; flex-direction: column; justify-content: center; align-items: center; align-content: center;}
.temoignage .item img {width: 100px; height: auto; border-radius: 5px; margin-bottom: 30px;}
.item h2 {color: #f03043; margin-bottom: 8px;}
.item span {font-weight: bold;  margin-bottom: 30px;}
.item p {max-width: 1000px; text-align: center;}

.faq {padding: 30px 20px 20px 20px; background: #F6F6F6; position: relative;}
.faq h1 {color: #000; font-size: 30px; margin-bottom: 16px; text-align: center;}
.faq p { font-size:  15px; text-align: center; }
.faq .blocs { margin: 60px 0 0 0; }
.faq .bloc {position: relative; text-align: left; margin-bottom: 60px;}
.faq .bloc span { width: 40px; padding: 10px 15px; color: #fff; border-radius: 3px; text-align: center; background: #18B99B; display: block; position: absolute; left: 0; top: 0; }
.faq .bloc h2 { margin-bottom: 40px; color: #000; font-size: 19px;  }
.faq .bloc p {text-align: left !important;}
.faq.green {background: #18B99B;}
.faq.green h2, .faq.green p {color: #fff !important;}
.spfaq {position: absolute;font-weight: 600;font-size: 91px;top: -87px;color: #e3e3e3;left: calc(50% - 100px);}
.faq  p.subfaq {text-align: center;color: #f03043;font-weight: 600;font-size: 23px;margin-top: 15px; position: relative;}
.faq  p.subfaq:after {content: ''; position: absolute; bottom:  -15px; left: calc(50% - 20px); width: 40px; height: 3px; background: #18B99B;}

.steps {display: grid; grid-template-columns: 1fr 1fr 1fr; grid-gap: 120px;}
.schools {display: grid; grid-template-columns: 1fr 1fr 1fr 1fr 1fr; grid-gap: 20px; position: relative; padding-bottom: 50px; margin-bottom: 50px;}
.schools:after {content: ""; position: absolute; bottom: 0; left: calc(50% - 50px); width: 100px; height: 1px; border-bottom: 1px dashed #fff;}
.step {display: flex; flex-direction: column; justify-content: space-between;}
.step img {display: block; width: 100%; max-width: 100%;}
.step h3 { text-align: center; }


.candidater {padding: 80px 20px 90px 20px;}
.candidater .row .rowbox {display: flex;} 
.candidater .row h1 {color: #f03043; font-size: 30px; margin-bottom: 60px; text-align: center;}
.info {flex: 0 0 40%;}
.info hr {opacity: .4; width: 40%; margin: 30px auto;}
.info p {display: flex;}
.info p img {width: 24px; margin-right: 10px;}

.form { max-width:570px; }
.form .form-group {display: flex; margin-bottom: 10px; justify-content: flex-end;}
.form .form-group label {flex: 1}
.form .form-group input, .form .form-group select, .form .form-group .intl-tel-input {flex: 2}
.form .form-group input {padding: 5px 10px;}
.form .form-group select {padding: 7px 10px;}
.form .form-group .intl-tel-inpu {width: 100%;}

.download {padding: 60px 20px; background: #f03043; color: #fff; text-align: center;  }
.download h1 { font-weight: 400; margin-bottom: 20px; }

footer {padding: 20px; text-align: center; float: left; width: 100%;}
footer .row { display: flex; justify-content: space-between;}
.social {display: flex; align-items: center;}
.social a {display: inherit;}
.social img {width: 26px; margin: 0 0 0 6px ;}
.social img:hover {opacity: 0.5;}



/* Slick Slider */
.slick-slider{position:relative;display:block;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-khtml-user-select:none;-ms-touch-action:pan-y;touch-action:pan-y;-webkit-tap-highlight-color:transparent}.slick-list{position:relative;display:block;overflow:hidden;margin:0;padding:0}.slick-list:focus{outline:0}.slick-list.dragging{cursor:pointer;cursor:hand}.slick-slider .slick-list,.slick-slider .slick-track{-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);-o-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.slick-track{position:relative;top:0;left:0;display:block;margin-left:auto;margin-right:auto}.slick-track:after,.slick-track:before{display:table;content:''}.slick-track:after{clear:both}.slick-loading .slick-track{visibility:hidden}.slick-slide{display:none;float:left;height:100%;min-height:1px}[dir=rtl] .slick-slide{float:right}.slick-slide img{display:block}.slick-slide.slick-loading img{display:none}.slick-slide.dragging img{pointer-events:none}.slick-initialized .slick-slide{display:block}.slick-loading .slick-slide{visibility:hidden}.slick-vertical .slick-slide{display:block;height:auto;border:1px solid transparent}.slick-arrow.slick-hidden{display:none}.slick-dotted.slick-slider{margin-bottom:0px}.slick-dots{position:absolute;top:10px;display:block;width:100%;padding:0;margin:0;list-style:none;text-align:center}.slick-dots li{position:relative;display:inline-block;width:20px;height:20px;margin:0 2px;padding:0;cursor:pointer}.slick-dots li button{font-size:0;line-height:0;display:block;width:20px;height:20px;padding:5px;cursor:pointer;color:transparent;border:0;outline:0;background:0 0}.slick-dots li button:focus,.slick-dots li button:hover{outline:0}.slick-dots li button:focus:before,.slick-dots li button:hover:before{opacity:1}.slick-dots li button:before{font-size:50px;line-height:20px;position:absolute;top:0;left:0;width:20px;height:20px;content:'•';text-align:center;opacity:.5;color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.slick-dots li.slick-active button:before{opacity:1;color:#004c93}
.slick-arrow {position: absolute; top: 50%; width:32px; height: 32px; text-indent: -9999px; border: none; opacity: 0.1; z-index: 999;}
.slick-prev {left: 0; background: url('img/arrowleft.png') center center no-repeat;}
.slick-next {right: 0; background: url('img/arrowright.png') center center no-repeat;}


#emc-widget-container form {}
#emc-widget-container input, #emc-widget-container select {flex-grow: 1; height: 35px; width: 100%;}
#emc-widget-container label {flex: 0 0 250px;}
#form > div {display: flex; margin-bottom: 10px;}
#emc-widget-container button { background: #f03043; border: none; border-radius: 0px; padding: 15px 25px; font-weight: 600; margin-top: 15px; color: #fff; text-transform: uppercase; }
#emc-widget-container {position: relative; z-index: 999;}

.info p {font-size: 14px;}
.form {}
.info img {height: 24px;}
.faits {padding: 60px 20px 120px 20px;}

@media only screen and (max-width: 820px) { 
.header {position: initial;}
.header .row {justify-content: space-between; align-items: center;}
.reconnue {height: 38px;}
nav {display: none;}
.hero {flex-direction: column; padding: 0;}
.herocontent {flex: inherit; padding: 30px 10px; min-height: 360px;}
.heroimg {height: 30vh; border-radius: 0;}
.hero .btn {width: 100%;}
.faits .blocs {grid-template-columns: 1fr;}
.candidater .row .rowbox{flex-direction: column;}
.candidater .row .infos {margin-bottom: 40px;}
.content, .fait, .download {padding: 30px 10px;}
.candidater {padding: 30px 10px 100px 10px;}
.faits .bloc img {max-width: 50px;}
.faq .blocs {margin: 0;}
.slick-arrow {top: 0px;}
.form .form-group {flex-direction: column;}
footer .row { flex-direction: column; align-items: center;}
footer .row span {margin-bottom: 20px;}
.steps, .schools, .calendar {grid-template-columns: 1fr; grid-gap: 40px;}
.step {align-items: center;}
.step img {max-width: 60%;}
.herobtn {grid-template-columns: 1fr;}
.herocontent h1, .faits h1, .candidater .row h1, .faq p.subfaq, .temoignage .row h1  {font-size: 19px; line-height: 1.4;}
.item h2 {font-size: 18px;}
#form > div {flex-direction: column;}
#emc-widget-container label {flex: initial;}
.info {padding-right: 0; order: 2; margin-top: 40px;}
#emc-widget-container {padding: 20px 0 0 0 !important;}
.header .logo {width: 200px;}
}

@media only screen and (max-width: 820px) { 
.reconnue {display: none;}
.header .row {justify-content: center;}
}