.video {
  position: relative;
  margin-bottom: 15px;
}
.video video {
  display: none;
  width: 100%;
  height: 100%;
  margin-top: -3px;
}
@media only screen and (max-width: 480px) {
  .video {
    overflow: hidden;
    margin-bottom: 30px;
  }
}
.video img {
  width: 100%;
}
@media only screen and (max-width: 480px) {
  .video img {
    width: 170%;
    margin-left: -35%;
  }
}
.video h2 {
  position: absolute;
  bottom: 10%;
  right: 10%;
  text-align: right;
  text-transform: uppercase;
}
@media only screen and (max-width: 480px) {
  .video h2 {
    position: relative;
    right: 5%;
  }
}
.video h2 span {
  display: block;
}
.video h2 .first {
  font-size: 1.6em;
  line-height: 0.7em;
}
@media only screen and (max-width: 480px) {
  .video h2 .first {
    font-size: 1em;
  }
}
.video h2 .second {
  font-family: gothicbold;
  font-size: 1.6em;
}
@media only screen and (max-width: 480px) {
  .video h2 .second {
    font-size: 1em;
  }
}
.video h2 .third {
  font-size: 0.6em;
}
@media only screen and (max-width: 480px) {
  .video h2 .third {
    font-size: 0.4em;
  }
}
.video h2 a,
.video h2 a:hover {
  color: #3f4552;
}
.links {
  margin-bottom: 30px;
}
.links .row {
  margin: 0;
}
.links .row .col-sm {
  padding: 0 0 0 15px;
}
@media only screen and (max-width: 480px) {
  .links .row .col-sm {
    margin: 0 0 15px;
    padding: 0;
  }
}
.links .row .col-sm.first {
  padding: 0;
}
.links a {
  display: block;
  background: #000;
  color: #fff;
}
.links a img {
  width: 100%;
}
.links a span {
  display: block;
  text-transform: uppercase;
  padding: 15px 0;
}
.carousel {
  margin-bottom: 30px;
}
.carousel .carousel-indicators li {
  width: 12px;
  height: 12px;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
  background-color: #77746f;
}
.carousel .carousel-indicators li.active {
  background-color: #e10613;
}
.carousel .carousel-inner .content {
  position: absolute;
  top: 100px;
  right: 60px;
  text-align: right;
  color: #fff;
}
.carousel .carousel-inner .content.top-left {
  text-align: left;
  right: auto;
  left: 60px;
}
@media only screen and (max-width: 480px) {
  .carousel .carousel-inner .content.top-left {
    text-align: right;
  }
}
.carousel .carousel-inner .content.bottom-right {
  text-align: left;
  top: auto;
  bottom: 60px;
}
@media only screen and (max-width: 480px) {
  .carousel .carousel-inner .content.bottom-right {
    text-align: right;
  }
}
@media only screen and (max-width: 480px) {
  .carousel .carousel-inner .content {
    right: 0;
    left: auto;
    text-align: right;
  }
}
.carousel .carousel-inner .content h3 {
  font-size: 2em;
  text-transform: uppercase;
  letter-spacing: 0.3em;
}
.carousel .carousel-inner .content p {
  margin-top: 15px;
  font-size: 0.9em;
}
@media only screen and (max-width: 480px) {
  .carousel#carouselValues .carousel-indicators {
    bottom: 0;
  }
  .carousel#carouselValues .carousel-item {
    height: 300px;
  }
  .carousel#carouselValues .carousel-item img {
    height: 300px;
    width: auto !important;
  }
  .carousel#carouselValues .carousel-item .content {
    margin-right: 5px;
  }
  .carousel#carouselValues .carousel-item .content h3 {
    font-size: 1.7em;
  }
}
@media only screen and (min-width: 481px) and (max-width: 1024px) {
  .carousel#carouselTestimonial .carousel-item {
    height: 450px;
  }
}
.carousel.testimonial .carousel-inner {
  background-image: url(/assets/images/homepage/testimonial/bg.jpg);
  background-size: contain;
}
@media only screen and (max-width: 480px) {
  .carousel.testimonial .carousel-inner {
    background-size: auto;
  }
}
.carousel.testimonial .carousel-control-prev-icon {
  background-image: url(/assets/images/homepage/testimonial/left.png);
  width: 21px;
  height: 37px;
}
.carousel.testimonial .carousel-control-next-icon {
  background-image: url(/assets/images/homepage/testimonial/right.png);
  width: 21px;
  height: 37px;
}
@media only screen and (max-width: 480px) {
  .carousel.testimonial .carousel-item {
    height: 500px;
  }
  .carousel.testimonial .carousel-control-next,
  .carousel.testimonial .carousel-control-prev {
    display: none;
  }
}
.carousel.testimonial h2 {
  position: absolute;
  top: 80px;
  left: 0;
  z-index: 10;
  color: #fff;
  width: 100%;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  font-size: 2.5em;
}
@media only screen and (max-width: 480px) {
  .carousel.testimonial h2 {
    font-size: 1.8em;
  }
}
.carousel.testimonial .content {
  position: absolute;
  top: 200px;
  left: 0;
  text-align: center;
}
@media only screen and (max-width: 480px) {
  .carousel.testimonial .content {
    top: 160px;
  }
}
.carousel.testimonial .content h3 {
  text-transform: uppercase;
  font-size: 1.5em;
  letter-spacing: normal;
  font-family: gothicbold;
}
.carousel.testimonial .content h3 span {
  display: block;
  text-transform: none;
  font-family: gothic;
  font-size: 0.7em;
}
.carousel.testimonial .content hr {
  background: #e10613;
  width: 3%;
}
@media only screen and (max-width: 480px) {
  .carousel.testimonial .content hr {
    width: 12%;
  }
}
.carousel.testimonial .content p {
  margin-top: 35px;
  margin-left: 28%;
  width: 44%;
}
@media only screen and (max-width: 480px) {
  .carousel.testimonial .content p {
    width: 80%;
    margin-left: 10%;
  }
}
.carousel.testimonial .content p .first-quote {
  color: #e10613;
  font-size: 2em;
  line-height: 0;
  font-family: gothicbold;
}
.carousel.testimonial .content p .final-quote {
  color: #e10613;
  font-family: gothicbold;
}
.partners {
  margin-top: 0;
  margin-bottom: 30px;
}
.partners h2 {
  text-transform: uppercase;
  letter-spacing: 0.4em;
}
@media only screen and (max-width: 480px) {
  .partners h2 {
    font-size: 1.5em;
  }
}
.partners .row {
  height: 100px;
  margin-top: 60px;
}
@media only screen and (max-width: 480px) {
  .partners .row {
    height: auto;
    margin-top: 0;
  }
}
@media only screen and (min-width: 481px) and (max-width: 1024px) {
  .partners .row:last-child {
    margin-top: 100px;
  }
}
.partners .col-sm {
  height: 100%;
  line-height: 100px;
}
.partners .col-sm img {
  max-height: 100px;
}
#contact {
  margin-bottom: 0;
}
#contact .row {
  margin-left: 0;
  margin-right: 0;
}
#contact h2 {
  background: #e10613;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  padding: 30px 0;
  font-size: 1.4em;
}
#contact ul li {
  list-style-type: none;
  padding-top: 25px;
}
#contact ul li a {
  color: #fff;
}
#contact ul li a:hover {
  color: #e10613;
}
#contact .col-sm {
  background: #000;
  padding: 0;
}
#contact .col-sm.contact {
  margin-right: 10px;
}
#contact .col-sm.contact ul {
  padding: 0 0 30px 60px;
}
#contact .col-sm.contact ul li {
  text-align: left;
}
#contact .col-sm.contact ul li a {
  height: 30px;
  line-height: 30px;
  padding-left: 40px;
  position: relative;
}
#contact .col-sm.contact ul li a:before {
  content: '';
  background-size: 20px 20px;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 20px;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
  top: 0;
}
#contact .col-sm.contact ul li a.phone {
  display: block;
  padding-bottom: 60px;
}
#contact .col-sm.contact ul li a.phone:before {
  background-image: url(/assets/images/homepage/contact/phone.png);
  background-size: 20px 20px;
  background-position-y: 20px;
  height: 50px;
}
#contact .col-sm.contact ul li a.mail:before {
  background-image: url(/assets/images/homepage/contact/mail.png);
  background-size: 25px 17px;
  width: 25px;
  height: 17px;
}
#contact .col-sm.contact ul li a.web:before {
  background-image: url(/assets/images/homepage/contact/web.png);
}
#contact .col-sm.social {
  margin-left: 10px;
}
@media only screen and (max-width: 480px) {
  #contact .col-sm.social {
    margin-left: 0;
    margin-top: 30px;
  }
}
#contact .col-sm.social ul {
  padding: 0 60px 30px 0;
}
#contact .col-sm.social ul li {
  text-align: right;
  text-transform: uppercase;
}
#contact .col-sm.social ul li a {
  height: 30px;
  line-height: 30px;
  padding-right: 60px;
  position: relative;
}
#contact .col-sm.social ul li a:after {
  content: '';
  background-size: 20px 20px;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 20px;
  background-repeat: no-repeat;
  position: absolute;
  right: 0;
  top: -2px;
}
#contact .col-sm.social ul li a.linkedin:after {
  background-image: url(/assets/images/homepage/contact/linkedin.png);
  background-size: 20px 20px;
}
#contact .col-sm.social ul li a.instagram:after {
  background-image: url(/assets/images/homepage/contact/instagram.png);
  background-size: 20px 20px;
}
.maps {
  margin-top: 30px;
  margin-bottom: 30px;
}
.maps .row {
  margin: 30px 0 0;
}
.maps .col-sm {
  padding: 0;
}
.maps .col-sm a:hover {
  color: #000;
}
.maps .col-sm img {
  width: 100%;
}
.maps .col-sm .content {
  padding-top: 50px;
}
.maps .col-sm .content h3 {
  font-family: gothicbold;
  text-transform: uppercase;
  margin-bottom: 30px;
}
.maps .col-sm .content h3 span {
  display: block;
  color: #e10613;
  font-family: gothic;
  font-size: 0.7em;
}
.maps .col-sm.lille {
  margin-right: 10px;
  text-align: left;
}
.maps .col-sm.lille .content {
  padding-left: 60px;
}
@media only screen and (max-width: 480px) {
  .maps .col-sm.lille .content {
    padding-left: 30px;
  }
}
.maps .col-sm.bordeaux {
  margin-left: 10px;
  text-align: right;
}
@media only screen and (max-width: 480px) {
  .maps .col-sm.bordeaux {
    margin-left: 0;
    margin-top: 30px;
  }
}
.maps .col-sm.bordeaux .content {
  padding-right: 60px;
}
@media only screen and (max-width: 480px) {
  .maps .col-sm.bordeaux .content {
    padding-right: 30px;
  }
}
.maps h2 {
  text-transform: uppercase;
  letter-spacing: 0.5em;
}
