.flag {
  display: inline-block;
  background: url("../img/flags.png") no-repeat top left;
  width: 22px;
  height: 15px;
  vertical-align: middle;
}
.flag.ad {
  background-position: 0px -27px;
}
.flag.ae {
  background-position: 0px -62px;
}
.flag.af {
  background-position: 0px -93px;
}
.flag.ag {
  background-position: 0px -124px;
}
.flag.ai {
  background-position: 0px -154px;
}
.flag.al {
  background-position: 0px -185px;
}
.flag.am {
  background-position: 0px -216px;
}
.flag.an {
  background-position: 0px -247px;
}
.flag.ao {
  background-position: 0px -277px;
}
.flag.aq {
  background-position: 0px -308px;
}
.flag.ar {
  background-position: 0px -339px;
}
.flag.as {
  background-position: 0px -370px;
}
.flag.at {
  background-position: 0px -401px;
}
.flag.au {
  background-position: 0px -431px;
}
.flag.aw {
  background-position: 0px -462px;
}
.flag.ax {
  background-position: 0px -493px;
}
.flag.az {
  background-position: 0px -524px;
}
.flag.ba {
  background-position: 0px -555px;
}
.flag.bb {
  background-position: 0px -586px;
}
.flag.bd {
  background-position: 0px -616px;
}
.flag.be {
  background-position: 0px -647px;
}
.flag.bf {
  background-position: 0px -678px;
}
.flag.bg {
  background-position: 0px -709px;
}
.flag.bh {
  background-position: 0px -739px;
}
.flag.bi {
  background-position: 0px -770px;
}
.flag.bj {
  background-position: 0px -801px;
}
.flag.bl {
  background-position: 0px -832px;
}
.flag.bm {
  background-position: 0px -863px;
}
.flag.bn {
  background-position: 0px -894px;
}
.flag.bo {
  background-position: 0px -924px;
}
.flag.br {
  background-position: 0px -955px;
}
.flag.bs {
  background-position: 0px -986px;
}
.flag.bt {
  background-position: 0px -1017px;
}
.flag.bw {
  background-position: 0px -1047px;
}
.flag.by {
  background-position: 0px -1078px;
}
.flag.bz {
  background-position: 0px -1109px;
}
.flag.ca {
  background-position: 0px -1140px;
}
.flag.cc {
  background-position: 0px -1171px;
}
.flag.cd {
  background-position: 0px -1201px;
}
.flag.cf {
  background-position: 0px -1232px;
}
.flag.cg {
  background-position: 0px -1263px;
}
.flag.ch {
  background-position: 0px -1294px;
}
.flag.ci {
  background-position: 0px -1325px;
}
.flag.ck {
  background-position: 0px -1355px;
}
.flag.cl {
  background-position: 0px -1386px;
}
.flag.cm {
  background-position: 0px -1417px;
}
.flag.cn {
  background-position: 0px -1448px;
}
.flag.co {
  background-position: 0px -1479px;
}
.flag.cr {
  background-position: 0px -1510px;
}
.flag.cu {
  background-position: 0px -1540px;
}
.flag.cv {
  background-position: 0px -1571px;
}
.flag.cw {
  background-position: 0px -1602px;
}
.flag.cx {
  background-position: 0px -1633px;
}
.flag.cy {
  background-position: 0px -1664px;
}
.flag.cz {
  background-position: 0px -1694px;
}
.flag.de {
  background-position: 0px -1725px;
}
.flag.dj {
  background-position: 0px -1756px;
}
.flag.dk {
  background-position: 0px -1787px;
}
.flag.dm {
  background-position: 0px -1817px;
}
.flag.do {
  background-position: 0px -1848px;
}
.flag.dz {
  background-position: 0px -1879px;
}
.flag.ec {
  background-position: 0px -1910px;
}
.flag.ee {
  background-position: 0px -1941px;
}
.flag.eg {
  background-position: 0px -1971px;
}
.flag.eh {
  background-position: 0px -2002px;
}
.flag.er {
  background-position: 0px -2033px;
}
.flag.es {
  background-position: 0px -2064px;
}
.flag.et {
  background-position: 0px -2095px;
}
.flag.eu {
  background-position: 0px -2125px;
}
.flag.fi {
  background-position: 0px -2156px;
}
.flag.fj {
  background-position: 0px -2187px;
}
.flag.fk {
  background-position: 0px -2218px;
}
.flag.fm {
  background-position: 0px -2249px;
}
.flag.fo {
  background-position: 0px -2279px;
}
.flag.fr {
  background-position: 0px -2310px;
}
.flag.ga {
  background-position: 0px -2341px;
}
.flag.gb, .flag.en, .flag.uk {
  background-position: 0px -2372px;
}
.flag.gd {
  background-position: 0px -2403px;
}
.flag.ge {
  background-position: 0px -2433px;
}
.flag.gg {
  background-position: 0px -2464px;
}
.flag.gh {
  background-position: 0px -2495px;
}
.flag.gi {
  background-position: 0px -2526px;
}
.flag.gl {
  background-position: 0px -2557px;
}
.flag.gm {
  background-position: 0px -2587px;
}
.flag.gn {
  background-position: 0px -2618px;
}
.flag.gq {
  background-position: 0px -2649px;
}
.flag.gr {
  background-position: 0px -2680px;
}
.flag.gs {
  background-position: 0px -2711px;
}
.flag.gt {
  background-position: 0px -2741px;
}
.flag.gu {
  background-position: 0px -2772px;
}
.flag.gw {
  background-position: 0px -2803px;
}
.flag.gy {
  background-position: 0px -2834px;
}
.flag.hk {
  background-position: 0px -2865px;
}
.flag.hn {
  background-position: 0px -2896px;
}
.flag.hr {
  background-position: 0px -2926px;
}
.flag.ht {
  background-position: 0px -2957px;
}
.flag.hu {
  background-position: 0px -2988px;
}
.flag.ic {
  background-position: 0px -3019px;
}
.flag.id {
  background-position: 0px -3050px;
}
.flag.ie {
  background-position: 0px -3080px;
}
.flag.il {
  background-position: 0px -3111px;
}
.flag.im {
  background-position: 0px -3142px;
}
.flag.in {
  background-position: 0px -3173px;
}
.flag.iq {
  background-position: 0px -3204px;
}
.flag.ir {
  background-position: 0px -3235px;
}
.flag.is {
  background-position: 0px -3265px;
}
.flag.it {
  background-position: 0px -3296px;
}
.flag.je {
  background-position: 0px -3327px;
}
.flag.jm {
  background-position: 0px -3358px;
}
.flag.jo {
  background-position: 0px -3389px;
}
.flag.jp {
  background-position: 0px -3419px;
}
.flag.ke {
  background-position: 0px -3450px;
}
.flag.kg {
  background-position: 0px -3481px;
}
.flag.kh {
  background-position: 0px -3512px;
}
.flag.ki {
  background-position: 0px -3543px;
}
.flag.km {
  background-position: 0px -3573px;
}
.flag.kn {
  background-position: 0px -3604px;
}
.flag.kp {
  background-position: 0px -3635px;
}
.flag.kr {
  background-position: 0px -3666px;
}
.flag.kw {
  background-position: 0px -3696px;
}
.flag.ky {
  background-position: 0px -3727px;
}
.flag.kz {
  background-position: 0px -3758px;
}
.flag.la {
  background-position: 0px -3788px;
}
.flag.lb {
  background-position: 0px -3819px;
}
.flag.li {
  background-position: 0px -3850px;
}
.flag.lc {
  background-position: 0px -3881px;
}
.flag.lr {
  background-position: 0px -3912px;
}
.flag.lk {
  background-position: 0px -3943px;
}
.flag.ls {
  background-position: 0px -3973px;
}
.flag.lt {
  background-position: 0px -4004px;
}
.flag.lu {
  background-position: 0px -4035px;
}
.flag.lv {
  background-position: 0px -4066px;
}
.flag.ma {
  background-position: 0px -4096px;
}
.flag.ly {
  background-position: 0px -4127px;
}
.flag.md {
  background-position: 0px -4158px;
}
.flag.mc {
  background-position: 0px -4189px;
}
.flag.me {
  background-position: 0px -4220px;
}
.flag.mf {
  background-position: 0px -4251px;
}
.flag.mh {
  background-position: 0px -4281px;
}
.flag.mg {
  background-position: 0px -4312px;
}
.flag.mk {
  background-position: 0px -4343px;
}
.flag.ml {
  background-position: 0px -4374px;
}
.flag.mm {
  background-position: 0px -4404px;
}
.flag.mn {
  background-position: 0px -4435px;
}
.flag.mo {
  background-position: 0px -4466px;
}
.flag.mp {
  background-position: 0px -4497px;
}
.flag.mq {
  background-position: 0px -4528px;
}
.flag.mr {
  background-position: 0px -4559px;
}
.flag.ms {
  background-position: 0px -4589px;
}
.flag.mt {
  background-position: 0px -4620px;
}
.flag.mu {
  background-position: 0px -4651px;
}
.flag.mv {
  background-position: 0px -4682px;
}
.flag.mw {
  background-position: 0px -4713px;
}
.flag.mx {
  background-position: 0px -4743px;
}
.flag.my {
  background-position: 0px -4774px;
}
.flag.mz {
  background-position: 0px -4805px;
}
.flag.nc {
  background-position: 0px -4836px;
}
.flag.na {
  background-position: 0px -4867px;
}
.flag.ne {
  background-position: 0px -4897px;
}
.flag.nf {
  background-position: 0px -4928px;
}
.flag.ng {
  background-position: 0px -4959px;
}
.flag.ni {
  background-position: 0px -4990px;
}
.flag.nl {
  background-position: 0px -5020px;
}
.flag.no {
  background-position: 0px -5051px;
}
.flag.np {
  background-position: 0px -5080px;
  height: 19px;
}
.flag.nr {
  background-position: 0px -5113px;
}
.flag.nz {
  background-position: 0px -5144px;
}
.flag.nu {
  background-position: 0px -5175px;
}
.flag.om {
  background-position: 0px -5205px;
}
.flag.pa {
  background-position: 0px -5236px;
}
.flag.pf {
  background-position: 0px -5267px;
}
.flag.pe {
  background-position: 0px -5298px;
}
.flag.pg {
  background-position: 0px -5328px;
}
.flag.ph {
  background-position: 0px -5359px;
}
.flag.pk {
  background-position: 0px -5390px;
}
.flag.pl {
  background-position: 0px -5421px;
}
.flag.pn {
  background-position: 0px -5451px;
}
.flag.pr {
  background-position: 0px -5482px;
}
.flag.ps {
  background-position: 0px -5513px;
}
.flag.pt {
  background-position: 0px -5544px;
}
.flag.pw {
  background-position: 0px -5575px;
}
.flag.py {
  background-position: 0px -5606px;
}
.flag.ro {
  background-position: 0px -5637px;
}
.flag.qa {
  background-position: 0px -5667px;
}
.flag.ru {
  background-position: 0px -5698px;
}
.flag.rs {
  background-position: 0px -5729px;
}
.flag.sa {
  background-position: 0px -5760px;
}
.flag.rw {
  background-position: 0px -5791px;
}
.flag.sc {
  background-position: 0px -5821px;
}
.flag.sb {
  background-position: 0px -5852px;
}
.flag.sd {
  background-position: 0px -5883px;
}
.flag.se {
  background-position: 0px -5914px;
}
.flag.sg {
  background-position: 0px -5945px;
}
.flag.sh {
  background-position: 0px -5975px;
}
.flag.si {
  background-position: 0px -6006px;
}
.flag.sk {
  background-position: 0px -6037px;
}
.flag.sl {
  background-position: 0px -6068px;
}
.flag.sm {
  background-position: 0px -6098px;
}
.flag.sn {
  background-position: 0px -6129px;
}
.flag.so {
  background-position: 0px -6160px;
}
.flag.sr {
  background-position: 0px -6191px;
}
.flag.ss {
  background-position: 0px -6222px;
}
.flag.st {
  background-position: 0px -6252px;
}
.flag.sv {
  background-position: 0px -6283px;
}
.flag.sy {
  background-position: 0px -6314px;
}
.flag.sz {
  background-position: 0px -6345px;
}
.flag.tc {
  background-position: 0px -6376px;
}
.flag.td {
  background-position: 0px -6407px;
}
.flag.tf {
  background-position: 0px -6437px;
}
.flag.tg {
  background-position: 0px -6468px;
}
.flag.th {
  background-position: 0px -6499px;
}
.flag.tj {
  background-position: 0px -6530px;
}
.flag.tk {
  background-position: 0px -6560px;
}
.flag.tm {
  background-position: 0px -6591px;
}
.flag.tl {
  background-position: 0px -6622px;
}
.flag.tn {
  background-position: 0px -6653px;
}
.flag.to {
  background-position: 0px -6684px;
}
.flag.tr {
  background-position: 0px -6714px;
}
.flag.tt {
  background-position: 0px -6745px;
}
.flag.tw {
  background-position: 0px -6776px;
}
.flag.tv {
  background-position: 0px -6807px;
}
.flag.tz {
  background-position: 0px -6838px;
}
.flag.ua {
  background-position: 0px -6868px;
}
.flag.ug {
  background-position: 0px -6899px;
}
.flag.us {
  background-position: 0px -6930px;
}
.flag.uy {
  background-position: 0px -6961px;
}
.flag.uz {
  background-position: 0px -6992px;
}
.flag.va {
  background-position: 0px -7023px;
}
.flag.vc {
  background-position: 0px -7053px;
}
.flag.ve {
  background-position: 0px -7084px;
}
.flag.vg {
  background-position: 0px -7115px;
}
.flag.vi {
  background-position: 0px -7146px;
}
.flag.vn {
  background-position: 0px -7176px;
}
.flag.vu {
  background-position: 0px -7207px;
}
.flag.wf {
  background-position: 0px -7238px;
}
.flag.ye {
  background-position: 0px -7269px;
}
.flag.ws {
  background-position: 0px -7300px;
}
.flag.za {
  background-position: 0px -7330px;
}
.flag.yt {
  background-position: 0px -7361px;
}
.flag.zm {
  background-position: 0px -7392px;
}
.flag.zw {
  background-position: 0px -7423px;
}

.flagLang {
  display: inline-block;
  background: url("../img/flags_lang.png") no-repeat top left;
  width: 30px;
  height: 20px;
  vertical-align: middle;
}
.flagLang.fr {
  background-position: 0px -13px;
}
.flagLang.fr {
  background-position: 0px -10px;
}
.flagLang.en {
  background-position: 0px -51px;
}
.flagLang.ar {
  background-position: 0px -93px;
}
.flagLang.es {
  background-position: 0px -135px;
}

@font-face {
  font-family: "Light";
  src: url("../fonts/Inter-Light.ttf?v=3.2.1") format("truetype");
  font-optical-sizing: auto;
  font-style: normal;
}
@font-face {
  font-family: "Regular";
  src: url("../fonts/Inter-Regular.ttf?v=3.2.1") format("truetype");
  font-optical-sizing: auto;
  font-style: normal;
}
@font-face {
  font-family: "Bold";
  src: url("../fonts/Inter-Bold.ttf?v=3.2.1") format("truetype");
  font-optical-sizing: auto;
  font-style: normal;
}
@font-face {
  font-family: "Titre";
  src: url("../fonts/DMSans-Black.ttf?v=3.2.1") format("truetype");
  font-optical-sizing: auto;
  font-style: normal;
}
:root {
  --font-light: Light;
  --font-regular: Regular;
  --font-bold: Bold;
  --font-titre: Titre;
}

.module-footer {
  padding: 2rem 0;
}
.module-footer .container {
  max-width: 1440px !important;
}
.module-footer .blocs {
  display: flex;
  gap: 1rem;
}
@media only screen and (max-width : 660px) {
  .module-footer .blocs {
    flex-direction: column;
  }
}
.module-footer .blocs .bloc {
  min-height: 220px;
  flex: 1;
  background: var(--color-primaire);
  background: linear-gradient(180deg, var(--color-primaire-light) 0%, var(--color-primaire) 100%);
  overflow: hidden;
  border-radius: 20px;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 50px 50px 50px 230px;
}
.module-footer .blocs .bloc:before {
  content: "";
  width: 205px;
  height: 190px;
  background: transparent url("../img/module-bloc-links-bg.png") center center no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.5s ease 0s;
}
.module-footer .blocs .bloc:hover:before {
  bottom: -20px;
  left: -20px;
}
@media only screen and (max-width : 660px) {
  .module-footer .blocs .bloc {
    min-height: auto;
    padding: 30px;
  }
  .module-footer .blocs .bloc:before {
    display: none;
  }
}
.module-footer .blocs .bloc .bloc-titre {
  font-weight: 700;
  color: #ffffff;
  display: block;
  font-size: 1.8rem;
}
.module-footer .blocs .bloc .btn-cta {
  font-weight: 600;
  margin-top: 2rem;
  color: var(--color-education) !important;
}
.module-footer .blocs .bloc .btn-cta:after {
  background: #FFFFFF;
}
.module-footer .blocs .bloc .btn-cta:before {
  background: var(--color-education-light);
}
.module-footer .blocs .bloc .btn-cta:hover {
  color: #ffffff !important;
}

body > footer {
  border-top: 1px solid rgba(12, 4, 133, 0.2);
  margin-top: 2rem;
  background: #ffffff;
  padding-top: 7rem;
  position: relative;
  z-index: 9;
}
@media only screen and (max-width : 660px) {
  body > footer {
    padding-top: 30px;
  }
}
body > footer .container {
  max-width: 100%;
}
body > footer .line-top {
  display: flex;
}
@media only screen and (max-width: 1024px) {
  body > footer .line-top {
    align-items: center;
    flex-direction: column;
  }
}
body > footer .line-top .bloc-logo a {
  display: block;
}
body > footer .line-top .bloc-logo img {
  max-width: 100%;
  display: block;
  width: 320px;
}
@media only screen and (max-width : 660px) {
  body > footer .line-top .bloc-logo img {
    margin: 0 auto;
  }
}
body > footer .line-top .bloc-nav {
  flex: 1;
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  padding-top: 6rem;
}
@media only screen and (max-width: 1024px) {
  body > footer .line-top .bloc-nav {
    width: 100%;
  }
}
@media only screen and (max-width : 660px) {
  body > footer .line-top .bloc-nav {
    flex-wrap: wrap;
    justify-content: flex-start;
  }
}
body > footer .line-top .bloc-nav ul {
  padding: 0;
  margin: 0;
}
@media only screen and (max-width : 660px) {
  body > footer .line-top .bloc-nav ul {
    width: 50%;
  }
}
body > footer .line-top .bloc-nav ul li {
  padding: 0;
  margin: 0;
  list-style: none;
  padding-bottom: 20px;
}
@media only screen and (max-width : 660px) {
  body > footer .line-top .bloc-nav ul li {
    padding-bottom: 10px;
  }
}
body > footer .line-top .bloc-nav ul li .a {
  display: inline-block;
  font-size: 1.5rem;
  color: var(--color-primaire);
  font-family: "Regular";
  font-weight: 400;
  text-decoration: none;
  position: relative;
  transition: all 0.5s ease 0s;
}
@media only screen and (max-width : 660px) {
  body > footer .line-top .bloc-nav ul li .a {
    font-size: 1.3rem;
  }
}
body > footer .line-top .bloc-nav ul li .a:after {
  position: absolute;
  bottom: -5px;
  left: 0;
  display: block;
  margin-top: 5px;
  content: "";
  width: 1px;
  height: 1px;
  background: transparent;
  transition: all 0.5s ease 0s;
}
body > footer .line-top .bloc-nav ul li .a:hover {
  text-decoration: none;
  margin-left: 5px;
  opacity: 1;
}
body > footer .line-top .bloc-nav ul li .a:hover:after {
  width: 90%;
  background: var(--color-primaire);
}
body > footer .line-top .bloc-nav ul li span.a {
  opacity: 0.5;
}
body > footer .line-top .bloc-nav ul li.btn-education .a {
  color: var(--color-education);
}
body > footer .line-top .bloc-nav ul li.btn-education .a:hover:after {
  background: var(--color-education);
}
body > footer .line-top .bloc-nav ul li.btn-training .a {
  color: var(--color-training);
}
body > footer .line-top .bloc-nav ul li.btn-training .a:hover:after {
  background: var(--color-training);
}
body > footer .line-top .bloc-nav ul li.btn-junior .a {
  color: var(--color-junior);
}
body > footer .line-top .bloc-nav ul li.btn-junior .a:hover:after {
  background: var(--color-junior);
}
body > footer .line-top .bloc-nav ul li.btn-event .a {
  color: var(--color-event);
}
body > footer .line-top .bloc-nav ul li.btn-event .a:hover:after {
  background: var(--color-event);
}
body > footer .line-contact {
  padding: 40px 0 0 55px;
}
@media only screen and (max-width: 1024px) {
  body > footer .line-contact {
    padding-left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
}
body > footer .line-contact span {
  color: var(--color-primaire);
  font-size: 1.6rem;
  font-weight: 700;
  display: inline-block;
  margin-bottom: 12px;
}
body > footer .line-contact > div {
  display: flex;
  gap: 1rem;
}
@media only screen and (max-width: 1024px) {
  body > footer .line-contact > div {
    justify-content: center;
  }
}
body > footer .line-contact .social {
  font-size: 2.4rem;
  line-height: 1em;
  color: var(--color-primaire);
  transition: all 0.25s ease 0s;
}
body > footer .line-contact .social:hover {
  text-decoration: none;
  color: var(--color-secondaire);
}
body > footer .line-bottom {
  border-top: 1px solid rgba(12, 4, 133, 0.2);
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin-top: 4rem;
  padding: 20px 0;
}
@media only screen and (max-width : 660px) {
  body > footer .line-bottom {
    flex-direction: column;
    gap: 1.5rem;
  }
}
body > footer .line-bottom span {
  color: var(--color-primaire-light);
  font-family: "Regular";
  font-weight: 400;
  display: inline-block;
  font-size: 1.2rem;
}
@media only screen and (max-width : 660px) {
  body > footer .line-bottom span {
    text-align: center;
  }
}
body > footer .line-bottom ul {
  margin: 0;
  padding: 0;
  display: flex;
  gap: 2rem;
}
@media only screen and (max-width : 660px) {
  body > footer .line-bottom ul {
    justify-content: center;
    flex-wrap: wrap;
  }
  body > footer .line-bottom ul li {
    margin-bottom: 1rem;
  }
}
body > footer .line-bottom ul li {
  list-style: none;
  color: var(--color-primaire-light);
  font-family: "Regular";
  font-weight: 400;
  display: inline-block;
  font-size: 1.2rem;
}
body > footer .line-bottom ul li a {
  color: var(--color-primaire-light);
  transition: all 0.25s ease 0s;
}
body > footer .line-bottom ul li a:hover {
  text-decoration: none;
  color: var(--color-secondaire);
}/*# sourceMappingURL=footer_aerocampus.css.map */