body {
  font-family: "Montserrat", sans-serif;
}

.bg-light {
  background: #ffffff !important;
}

@media (min-width: 992px) {
  .bloc-header .container {
    max-width: 770px;
  }
}

.bloc-header {
  margin-bottom: 80px;
  background: #043d4f;
}

.navbar {
  min-height: 80px;
  display: block;
  padding: 0px;
}

.navbar .out-menu {
  position: relative;
}

.out-menu .navbar-brand {
  position: absolute;
  left: 0px;
  top: 0px;
}

@media (min-width: 992px) {
  .out-menu .navbar-brand {
    z-index: 1100;
  }
}

#dropdownMenuLink {
  right: 0px;
  top: 20px;
  position: absolute;
}

.dropdown-menu.show {
  display: block;
  right: 0px;
  width: 150px;
  top: 77px;
  left: initial;
}

@media (min-width: 1300px) {
  .out-menu {
    max-width: 1240px;
  }

  .bloc-activite .container {
    max-width: 1240px;
  }
}

.navbar button {
  background: none;
  cursor: pointer;
}

.grp {
  display: inline-block;
  vertical-align: middle;
}

.grp-tt {
  vertical-align: bottom;
}

.grp .text {
  font-size: 16px;
  font-weight: bold;
  color: #043d4f;
}

.grp.grp-t {
  width: 43px;
  height: 43px;
  border: 3px solid #043d4f;
  border-radius: 3px;
  padding-top: 8px;
}

.navbar .navbar-toggle {
  border: none;
}

.navbar .navbar-toggle .icon-bar {
  background-color: #043d4f;
  height: 3px;
}

.navbar-toggle .icon-bar {
  display: block;
  width: 28px;
  height: 3px;
  margin-left: 5px;
  border-radius: 3px;
}

.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 6px;
}

@media (max-width: 991px) {
  .out-menu .navbar-brand {
    position: absolute;
    left: 50%;
    top: 0px;
    margin-left: -116px;
  }

  .bloc-header {
    padding-top: 150px;
  }
}

/*******
* Bloc presentation
********/

.bloc-presentation {
  color: #043d4f;
  margin-bottom: 40px;
}

.bloc-presentation h1,
.bloc-presentation h2 {
  text-transform: uppercase;
  font-weight: bold;
}

.bloc-presentation h1 {
  font-size: 30px;
  position: relative;
  padding-top: 30px;
}

.bloc-presentation h1:before {
  content: "";
  width: 87px;
  height: 9px;
  background: #073d4f;
  position: absolute;
  top: 0px;
  left: 0px;
}

.bloc-presentation .bloc-left {
  margin-bottom: 30px;
}

.bloc-presentation .bloc-left p {
  font-size: 20px;
  font-weight: 500;
}

.bloc-presentation .bloc-right {
  color: #333333;
  margin-bottom: 30px;
  padding-left: 60px;
}

.bloc-presentation .bloc-right p {
  font-family: "Signika Negative", sans-serif;
  font-size: 17px;
  margin-bottom: 20px;
  line-height: 20px;
}

.bloc-presentation .bloc-right p:first-child {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  padding-top: 30px;
}

.bloc-presentation .bloc-right h2 {
  font-weight: bold;
  text-transform: uppercase;
  margin: 0px;
  font-size: 18px;
}

/*******
* BLOC AVTIVITE
********/

.bloc-activite {
  background: url("img/image-fond.jpg") no-repeat top center;
  background-size: cover;
  padding-top: 50px;
  padding-bottom: 55px;
}

.bloc-activite .bloc-acc .inner {
  padding-top: 50px;
  padding-left: 25px;
}

.bloc-activite .bloc-act {
  cursor: pointer;
}

.bloc-activite .bloc-act:hover {
  cursor: initial;
}

.bloc-activite .bloc-act .inner {
  transition: all 0.5s ease-in;
}

.bloc-activite .bloc-act .txt-hover {
  opacity: 0;
  position: absolute;
  top: 0px;
  background: -moz-linear-gradient(
    left,
    rgba(0, 61, 79, 1) 0%,
    rgba(0, 83, 108, 0.89) 64%,
    rgba(0, 96, 125, 0.89) 100%
  );
  background: -webkit-linear-gradient(
    left,
    rgba(0, 61, 79, 1) 0%,
    rgba(0, 83, 108, 0.89) 64%,
    rgba(0, 96, 125, 0.89) 100%
  );
  background: linear-gradient(
    to right,
    rgba(0, 61, 79, 1) 0%,
    rgba(0, 83, 108, 0.89) 64%,
    rgba(0, 96, 125, 0.89) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#003d4f', endColorstr='#e300607d',GradientType=1 );
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: #fff;
  transition: all 0.35s ease-in;
  width: 100%;
  width: calc(100% - 10px);
  left: 5px;
  padding: 10px;
}

.txt-hover .titre {
  font-size: 18px;
  font-weight: bold;
  display: block;
  text-align: center;
  margin-bottom: 10px;
}

.txt-hover ul {
  padding-left: 0px;
  list-style-type: none;
  padding: 0px 20px;
}

.txt-hover ul li {
  font-size: 14px;
  margin-bottom: 5px;
  text-align: center;
}

.bloc-activite .bloc-act:hover .inner {
  opacity: 0;
}

.bloc-activite .bloc-act:hover .txt-hover {
  opacity: 1;
}

.bloc-activite h2,
.nos-services-pg h1 {
  font-size: 30px;
  position: relative;
  padding-top: 30px;
  text-transform: uppercase;
  font-weight: bold;
  color: #043d4f;
  margin-bottom: 30px;
}

.bloc-activite h2:before,
.nos-services-pg h1:before {
  content: "";
  width: 87px;
  height: 9px;
  background: #073d4f;
  position: absolute;
  top: 0px;
  left: 0px;
}

.nos-services-pg h2 {
  font-weight: bold;
  text-transform: uppercase;

  font-size: 18px;
}

.nos-services-pg p,
.nos-services-pg li {
  color: #043d4f;
  font-size: 17px;
}

.bloc-activite .bloc-single,
.bloc-activite .bloc-acc {
  margin-bottom: 10px;
  padding-right: 5px;
  padding-left: 5px;
}

.bloc-activite .bloc-acc .inner {
  background: rgba(255, 255, 255, 1);
  background: -moz-linear-gradient(
    left,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 100%
  );
  background: -webkit-gradient(
    left top,
    right top,
    color-stop(0%, rgba(255, 255, 255, 1)),
    color-stop(100%, rgba(255, 255, 255, 0))
  );
  background: -webkit-linear-gradient(
    left,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 100%
  );
  background: -o-linear-gradient(
    left,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 100%
  );
  background: -ms-linear-gradient(
    left,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 100%
  );
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 1) 0%,
    rgba(255, 255, 255, 0) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ffffff', GradientType=1 );
  height: 100%;
}

.bloc-activite .bloc-single .inner {
  background: -moz-linear-gradient(
    left,
    rgba(0, 61, 79, 1) 0%,
    rgba(0, 83, 108, 0.89) 64%,
    rgba(0, 96, 125, 0.89) 100%
  );
  background: -webkit-linear-gradient(
    left,
    rgba(0, 61, 79, 1) 0%,
    rgba(0, 83, 108, 0.89) 64%,
    rgba(0, 96, 125, 0.89) 100%
  );
  background: linear-gradient(
    to right,
    rgba(0, 61, 79, 1) 0%,
    rgba(0, 83, 108, 0.89) 64%,
    rgba(0, 96, 125, 0.89) 100%
  );
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#003d4f', endColorstr='#e300607d',GradientType=1 );
  color: #fff;
  height: 100%;
  text-align: center;
  padding: 10px;
  display: flex;
  flex-direction: column;
}

.bloc-activite .bloc-single .inner .bloc-img {
  margin-bottom: 20px;
}

.bloc-activite .bloc-single .inner .titre {
  font-weight: 700;
  font-size: 18px;
  text-transform: uppercase;
  display: block;
  line-height: 21px;
  margin-bottom: 5px;
}

.read-more {
  margin-top: auto;
  margin-bottom: 10px;
}

.read-more span {
  font-family: "Cardo", serif;
  font-size: 16px;
  position: relative;
}

.read-more span:after {
  border-top: 1px solid #fff;
  left: 0;
  /* margin: auto; */
  position: absolute;
  /* right: 5px; */
  top: 11px;
  width: 70px;
  content: "";
  z-index: 1;
  left: -74px;
}

.read-more span:before {
  height: 1px;
  background: #fff;
  /* margin: auto; */
  position: absolute;
  /* right: 5px; */
  top: 11px;
  width: 70px;
  content: "";
  z-index: 1;
  right: -74px;
}

.read-more i {
  background: url("img/icon.svg") no-repeat center center;
  width: 22px;
  height: 22px;
  display: inline-block;
  vertical-align: middle;
}

/********
* BLOC SECTEUR
*********/

.bloc-secteur {
  color: #043d4f;
  padding-top: 75px;
}

.bloc-secteur h2 {
  position: relative;
  padding-top: 30px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 25px;
}

.bloc-secteur h2:before {
  content: "";
  width: 87px;
  height: 9px;
  background: #073d4f;
  position: absolute;
  top: 0px;
  left: 0px;
}

.bloc-secteur ul {
  padding-left: 0px;
}

.bloc-secteur ul li {
  list-style-type: none;
  font-size: 17px;
  margin-bottom: 25px;
  font-family: "Signika Negative", sans-serif;
}

.bloc-secteur ul li strong {
  font-size: 18px;
  font-family: "Montserrat", sans-serif;
}

.bloc-secteur .bloc-txt,
.bloc-secteur .bloc-carte {
  margin-bottom: 60px;
}

/********
* BLOC CARTE COORD
*********/

.bloc-form {
  background: #043d4f;
  padding-top: 200px;
}

.bloc-form .form-contact {
  max-width: 550px;
  margin: 0 auto;
  padding-bottom: 50px;
}

.form-contact h1 {
  color: #fff;
  position: relative;
  padding-top: 30px;
  font-weight: 700;
  text-transform: uppercase;
  margin-bottom: 75px;
}

.form-check label {
  color: #fff;
}

.form-check {
  margin-bottom: 10px;
}

.form-contact h1:before {
  content: "";
  width: 87px;
  height: 9px;
  background: #fff;
  position: absolute;
  top: 0px;
  left: 0px;
}

.bloc-form input,
.bloc-form textarea {
  background: #ffffff;
  border-radius: 0px;
  border: none;
  min-height: 43px;
  color: #043d4f;
  font-size: 16px;
  font-family: "Montserrat";
}

.bloc-carte-coord {
  background: #c9d2dc;
}

::placeholder {
  color: #043d4f;
  font-size: 20px;
}

.bloc-form p {
  color: #fff;
  line-height: 21px;
  font-size: 18px;
}

.bloc-form p.info {
  padding-top: 30px;
}

.bloc-form .btn-validation .btn-alb {
  background: #fff;
  border: none;
  color: #043d4f;
  text-transform: uppercase;
  text-align: center;
  max-width: 230px;
  font-size: 20px;
  font-family: "Montserrat";
  border-radius: 0px;
  width: 100%;
}

.info-contact {
  padding-top: 80px;
}

.info-contact p {
  font-size: 18px;
  color: #043d4f;
  line-height: 23px;
  font-family: "Montserrat";
  margin-bottom: 20px;
}

.info-contact p strong {
  font-size: 20px;
  text-transform: uppercase;
}

#carte-gmap {
  min-height: 400px;
}

/********
* FOOTER
*********/

#footer {
  background: #043d4f;
  color: #fff;
  padding-top: 30px;
  padding-bottom: 60px;
}

#footer a {
  color: #fff;
}

@media (min-width: 768px) {
  #footer .col-txt {
    border-right: 1px solid #fff;
  }
}

@media (max-width: 991px) {
  .logo-footer {
    margin: 0 auto;
    text-align: center;
    margin-bottom: 30px;
  }
}

@media (max-width: 767px) {
  .bloc-presentation .bloc-right {
    padding-left: 15px;
  }
}

.is-invalid {
  outline: 1px solid red;
}
