#footer {
  background:#25488e;
  position:relative;
  z-index:2;
}
#footer .wrapper { padding-left:40px; }
#footer .wrapper .inner {
  display:flex;
  margin:auto;
  max-width:1200px;
}
#footer #footer-menu-container {
  background:#e4e5e7 url(https://www.velo-territoires.org/wp-content/themes/drc/extra/assets/img/pattern.png) left top repeat;
  margin-left:40px;
  padding:110px 0 45px;
  position:relative;
}
#footer #footer-menu-container #footer-menu {
  display:flex;
  justify-content:center;
  padding:0 20px;
}
#footer #footer-menu-container #footer-menu .menu-item {
  display:block;
  font-size:18px;
  font-weight:900;
  list-style:none;
  padding:0 10px 0 49px;
}
#footer #footer-menu-container #footer-menu .menu-item a { color:#25488e; }
#footer #footer-menu-container #footer-menu .menu-item a:hover { color:#8bb043; }
#footer #footer-menu-container:before {
  background:#8bb043;
  content:"";
  display:block;
  margin:auto;
  position:absolute;
  top:-5px;
  right:0;
  bottom:auto;
  left:0;
  width:1200px;
  height:5px;
}
#footer #footer-menu-container:after {
  background:#92ba52 url(https://www.velo-territoires.org/wp-content/themes/drc/extra/assets/img/pattern.png) left top repeat;
  content:"";
  display:block;
  position:absolute;
  top:0;
  left:-40px;
  z-index:1;
  width:40px;
  height:100%;
}
#footer .back-to-top {
  align-items:center;
  background:#173c86;
  display:flex;
  fill:#173c86;
  flex:0 0 auto;
  justify-content:center;
  position:relative;
  z-index:1;
  width:120px;
  height:120px;
}
#footer .back-to-top .icon {
  fill:#ffffff;
  flex:0 0 auto;
  width:25px;
  height:25px;
  transition:fill 600ms ease-in-out;
}
#footer .back-to-top:after {
  background:#ffffff;
  content:"";
  display:block;
  margin:auto;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:-1;
  transition:transform 600ms ease-in-out;
  transform:scaleY(0);
  transform-origin:center bottom;
}
#footer .back-to-top:hover:after { transform:scaleY(1); }
#footer .back-to-top:hover .icon { fill:#173c86; }
#footer #footer-social {
  align-items:center;
  justify-content:center;
  display:flex;
  flex:0 1 auto;
  height:120px;
  padding:10px 20px;
  position:relative;
  z-index:10;
  min-width:280px;
}
#footer #footer-social .social-item {
  display:block;
  flex:0 0 auto;
  margin:0 15px;
  list-style:none;
  width:35px;
  height:35px;
}
#footer #footer-social .social-item .icon {
  fill:#ffffff;
  padding:5px;
  width:100%;
  height:100%;
  transition:fill 300ms ease-in-out;
}
#footer #footer-social .social-item a:hover .icon { fill:#8bb043; }
#footer .subscription {
  align-items:center;
  display:flex;
  flex:1 1 auto;
  justify-content:flex-end;
}
#footer .subscription .form-title { display:none; }
#footer .subscription .form {
  display:flex;
  flex:1 1 auto;
  height:50px;
}
#footer .subscription .field-wrapper {
  background:#ffffff;
  color:#173c86;
  flex:1 1 auto;
  font-size:20px;
  font-weight:100;
  line-height:50px;
  position:relative;
  z-index:5;
}
#footer .subscription .field-wrapper .label {
  color:#173c86;
  font-size:18px;
  font-weight:100;
  padding:0 0 0 20px;
  position:absolute;
  top:0;
  left:0;
  z-index:2;
  width:100%;
  height:100%;
  transform-origin:0 0;
  transition:none 200ms ease-out;
  transition-property:color, transform;
}
#footer .subscription .field-wrapper .input {
  display:block;
  font-weight:700;
  padding:0 0 0 20px;
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
}
#footer .subscription .submit-button {
  background:#173c86;
  align-items:center;
  align-content:center;
  color:#ffffff;
  display:flex;
  font-size:18px;
  font-weight:900;
  flex:0 0 auto;
  padding:0 20px;
  position:relative;
  z-index:1;
}
#footer .subscription .submit-button:after {
  background:#8bb043;
  content:"";
  margin:auto;
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:-1;
  transform:scaleX(0);
  transform-origin:0 0;
  transition:none 600ms ease-in-out;
  transition-property:font-size, transform;
}
#footer .subscription .submit-button:hover:after { transform:scaleX(1); }
#footer .subscription.hide-label .label {
  color:#ffffff;
  font-size:16px;
  transform:translateY(-42px);
}
#footer .subscription .error {
  color:#ffffff;
  font-size:16px;
  font-weight:700;
  line-height:30px;
  position:absolute;
  bottom:-30px;
  left:20px;
  z-index:-1;
  transform-origin:0 0;
  transform:translateY(-50px);
  transition:transform 200ms ease-out;
}
#footer .subscription.has-error .input {
  outline:1px solid #b24d4d;
  outline-offset:-1px;
}
#footer .subscription.has-error .error { transform:translateY(0); }
#footer .copyright {
  background:#173c86;
  color:#ffffff;
  font-size:14px;
  font-weight:300;
  line-height:60px;
  padding-left:40px;
  text-align:center;
}
@media only screen and (max-width: 1240px) {
  #footer { display:none; }
}
