/*
Theme Name: Ascatec Theme
Theme URI: https://www.ascatec.fr
Author: Migration Rails vers WordPress
Author URI: https://www.ascatec.fr
Description: Clone visuel du site ascatec.fr - Bootstrap 3, Lato, FontAwesome 4
Version: 1.0.0
License: Private
Text Domain: ascatec-theme
*/

/* =====================================================
   Variables couleur
   indigo-ascatec : #3a51a3
   gray-ascatec   : #282828
   ===================================================== */

/* =====================================================
   Init
   ===================================================== */

body {
  font-family: 'Lato', sans-serif;
  color: #282828;
  font-size: 16px;
}

a {
  -webkit-transition: all 0.1s linear 0s;
  transition: all 0.1s linear 0s;
}

a:hover,
a:focus {
  text-decoration: none;
  color: #3a51a3;
  outline: 0;
}

.btn-ascatec {
  margin-top: 20px;
  border: 1px solid #3a51a3;
  color: #3a51a3;
  padding: 10px 30px;
  text-transform: uppercase;
  border-radius: 0;
  background-color: white;
}

.btn-ascatec:hover {
  background-color: #3a51a3;
  color: white;
}

h2 {
  font-size: 20px;
}

h3 {
  font-weight: 600;
  font-size: 16px;
}

/* =====================================================
   Override bxslider
   ===================================================== */

.bx-wrapper .bx-viewport {
  box-shadow: 0 0 0 transparent;
  border: 0 none;
  left: 0;
}

.bx-wrapper {
  margin: 0;
}

.bx-wrapper img {
  min-width: 100%;
}

/* =====================================================
   Header
   ===================================================== */

.logo {
  margin: 22px;
}

.header-contact {
  margin-top: 47px;
  color: white;
}

.header-phone {
  background-color: #575757;
  line-height: 40px;
  font-size: 18px;
  padding: 0 15px;
}

.header-phone i {
  font-size: 20px;
  margin-right: 10px;
}

.header-mail a {
  line-height: 40px;
  background-color: #787878;
  padding: 0 15px;
  font-size: 16px;
  color: white;
  display: block;
}

.header-mail a i {
  margin-right: 10px;
}

.header-mail a:hover {
  background-color: #3a51a3;
}

.header-socials a {
  display: block;
  line-height: 40px;
  padding: 0 15px;
  background-color: #3a51a3;
  color: white;
}

.header-socials a:hover {
  background-color: #213479;
}

.banner {
  background: url('assets/images/background-banner.jpg') center center no-repeat;
  background-size: cover;
  position: relative;
}

.banner-overlay {
  position: absolute;
  background: linear-gradient(to top, rgba(58,81,163,0.8), rgba(0,0,0,0.8) 30%);
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

.banner.inner-page nav.nav-desktop.accueil {
  margin-bottom: 160px;
}

.banner.inner-page nav.nav-desktop {
  margin-bottom: 90px;
}

.banner.inner-page.single-line nav.nav-desktop,
.banner.inner-page.single-line .main-heading {
  margin-bottom: 105px;
}

nav.nav-desktop {
  background-color: rgba(58,81,163,0.6);
  position: relative;
  margin-bottom: 160px;
}

nav.nav-desktop ul {
  list-style: none;
  margin-bottom: 0;
  padding: 0;
}

nav.nav-desktop ul li {
  float: left;
}

nav.nav-desktop ul li:hover > ul {
  display: block;
}

nav.nav-desktop ul li.current-menu-item a {
  color: white;
  background: linear-gradient(to top, #3a51a3, transparent);
}

nav.nav-desktop ul li a {
  color: white;
  padding: 0 20px;
  line-height: 60px;
  font-size: 16px;
  text-transform: uppercase;
  display: block;
  -webkit-transition: all 0.1s linear 0s;
  transition: all 0.1s linear 0s;
}

nav.nav-desktop ul li a:hover {
  color: white;
  background: linear-gradient(to top, #3a51a3, transparent);
}

nav.nav-desktop ul ul {
  display: none;
  padding: 0;
  position: absolute;
  top: 100%;
}

nav.nav-desktop ul ul li {
  float: none;
  position: relative;
}

nav.nav-desktop ul ul li:last-child a {
  border-bottom: 0 none;
}

nav.nav-desktop ul ul li a {
  background-color: #3a51a3;
  border-bottom: 1px solid #6378c6;
  color: #fff;
}

nav.nav-desktop ul ul li a:hover {
  background-color: #213479;
}

.baseline h1 {
  font-size: 30px;
  font-weight: 600;
  color: white;
  text-transform: uppercase;
  position: relative;
  line-height: 1.42857143;
  margin-top: 0;
  margin-bottom: 85px;
}

.btn-banner {
  position: relative;
  border: 1px solid white;
  background-color: rgba(0,0,0,0.8);
  color: white;
  text-transform: uppercase;
  padding: 20px 70px;
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 160px;
  border-radius: 0;
}

.btn-banner:hover {
  background-color: rgba(58,81,163,0.6);
  color: white;
}

/* =====================================================
   Headings
   ===================================================== */

.main-heading {
  text-transform: uppercase;
  text-align: center;
  color: white;
  font-weight: 300;
  position: relative;
  margin-bottom: 90px;
  font-size: 30px;
  margin-top: 0;
}

.main-heading span {
  display: block;
  font-weight: 600;
}

.main-heading-xs {
  text-transform: uppercase;
  text-align: center;
  color: #3a51a3;
  font-weight: 300;
  position: relative;
  font-size: 27px;
  font-weight: 600;
}

.heading {
  font-size: 25px;
  font-weight: 300;
  text-align: center;
  margin-bottom: 40px;
  text-transform: uppercase;
}

.heading span {
  font-weight: 600;
}

.heading:after {
  content: '';
  border-bottom: 2px solid #3a51a3;
  width: 150px;
  display: block;
  margin: auto;
  margin-top: 10px;
}

/* =====================================================
   Default block
   ===================================================== */

.block {
  padding: 40px 0;
}

.block-gray {
  background-color: #f2f2f2;
}

/* =====================================================
   Block references
   ===================================================== */

.ref {
  width: 170px;
  height: 170px;
  margin: auto;
  text-align: center;
  font-weight: 600;
  margin-bottom: 20px;
}

.ref-1 {
  background: url('assets/images/background-ref1.png') center center no-repeat;
}

.ref-2 {
  background: url('assets/images/background-ref2.png') center center no-repeat;
}

.ref-3 {
  background: url('assets/images/background-ref3.png') center center no-repeat;
}

.ref-line1 {
  color: #3a51a3;
  border-radius: 19px;
  background-color: white;
  margin-top: 30px;
  height: 38px;
  width: 38px;
  display: inline-block;
  font-size: 30px;
  line-height: 34px;
}

.ref-line2 {
  margin-top: 5px;
  color: white;
}

.ref-3 .ref-line2 {
  font-size: 15px;
}

/* =====================================================
   Block last news
   ===================================================== */

.block-news {
  background: url('assets/images/background-last-news.jpg') center center no-repeat;
  background-size: cover;
  height: 100%;
  margin-bottom: 20px;
}

.block-news-overlay {
  background-color: rgba(0,0,0,0.9);
  padding: 10px;
  color: white;
  -webkit-transition: all 0.1s linear 0s;
  transition: all 0.1s linear 0s;
  overflow: hidden;
}

.block-news-overlay:hover {
  border-bottom: 10px solid #3a51a3;
}

.bn-title {
  min-height: 50px;
  font-weight: 600;
  border-bottom: 1px solid #3d3d3d;
  margin-bottom: 5px;
  padding-bottom: 5px;
}

.bn-more {
  font-weight: 500;
  font-style: italic;
  text-align: right;
}

.bn-more:hover {
  text-decoration: underline;
}

.bn-date {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 10px;
}

.bn-excerpt {
  font-size: 13px;
}

/* =====================================================
   Society
   ===================================================== */

ul.press {
  list-style: none;
  padding: 0;
}

ul.press li a {
  color: #282828;
}

ul.press li a:hover {
  color: #3a51a3;
}

ul.press li i {
  margin-right: 10px;
}

a.link:before {
  font: normal normal normal 14px/1 FontAwesome;
  content: "\f0c1";
  margin-right: 10px;
}

a.file:before {
  font: normal normal normal 14px/1 FontAwesome;
  content: "\f1c1";
  margin-right: 10px;
}

/* =====================================================
   Missions
   ===================================================== */

.m-block {
  width: 134px;
  height: 134px;
  border-radius: 45px;
  background-color: rgba(58,81,163,0);
  border: solid 2px #3a51a3;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  text-align: center;
  margin: auto;
  -webkit-transition: all 0.1s linear 0s;
  transition: all 0.1s linear 0s;
  position: relative;
  cursor: pointer;
  margin-bottom: 40px;
}

.m-block:hover,
.m-block.active {
  background-color: #3a51a3;
  color: white;
  border: 2px solid #f2f2f2;
}

.m-block:hover span,
.m-block.active span {
  color: white;
}

.m-block span {
  position: absolute;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  font-weight: 600;
  color: #3a51a3;
  font-size: 14px;
  width: 134px;
}

.m-block:after {
  position: absolute;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  display: inline-block;
  text-decoration: inherit;
  content: "\f178";
  left: 124px;
  top: -16px;
  color: #a6a6a6;
}

#m-block-5:after {
  content: '';
}

#m-block-1 span { font-size: 12px; top: 50px; left: 0; }
#m-block-2 span { font-size: 12px; top: 32px; left: 0; }
#m-block-3 span { top: 34px; left: 0; }
#m-block-4 span { top: 34px; left: 0; }
#m-block-5 span { font-size: 12px; top: 34px; left: -5px; }

.m-block-details {
  background-color: white;
  border: 1px solid #d7d7d7;
  padding: 10px;
  position: relative;
  text-align: center;
}

.m-block-details:after,
.m-block-details:before {
  bottom: 100%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}

.m-block-details:after {
  border-color: rgba(255,255,255,0);
  border-bottom-color: white;
  border-width: 20px;
  margin-left: -20px;
}

.m-block-details:before {
  border-color: rgba(215,215,215,0);
  border-bottom-color: #d7d7d7;
  border-width: 21px;
  margin-left: -21px;
}

.m-block-details.m-block-1:after, .m-block-details.m-block-1:before { left: 9%; }
.m-block-details.m-block-2:after, .m-block-details.m-block-2:before { left: 29.5%; }
.m-block-details.m-block-3:after, .m-block-details.m-block-3:before { left: 50%; }
.m-block-details.m-block-4:after, .m-block-details.m-block-4:before { left: 71%; }
.m-block-details.m-block-5:after, .m-block-details.m-block-5:before { left: 91.5%; }

/* =====================================================
   Réalisations / Références
   ===================================================== */

ul.bxslider li {
  position: relative;
}

ul.bxslider li:hover .realisation-overlay {
  visibility: visible;
  opacity: 1;
  -webkit-transition-delay: 0s;
  transition-delay: 0s;
}

.realisation-overlay {
  background-color: rgba(0,0,0,0.8);
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  color: white;
  text-align: center;
  text-transform: uppercase;
  padding: 10px;
  box-shadow: inset 0 -10px 0 0 #3a51a3;
  visibility: hidden;
  opacity: 0;
  -webkit-transition: 0s linear 0.2s, opacity 0.2s linear;
  transition: 0s linear 0.2s, opacity 0.2s linear;
  display: table;
}

.valign {
  display: table-cell;
  vertical-align: middle;
}

.realisation-name {
  font-size: 18px;
}

.realisation-localisation {
  font-size: 10px;
  text-transform: normal;
}

.agence {
  box-shadow: 0 0 5px rgba(0,0,0,.37);
  -webkit-transition: all 0.1s linear 0s;
  transition: all 0.1s linear 0s;
  padding: 30px 10px;
  text-align: center;
  text-transform: uppercase;
  font-size: 20px;
  cursor: pointer;
  margin-bottom: 20px;
  color: #707070;
  font-weight: 300;
}

.agence:hover,
.agence.active {
  background-color: #3a51a3;
  box-shadow: inset 0 0 5px rgba(0,0,0,.75);
  color: white;
}

.agence span {
  font-weight: 500;
}

.alphabet {
  background-color: #dadada;
  padding: 15px 0;
}

.f-nav { z-index: 9999; position: fixed; left: 0; top: 0; width: 100%; }

ul.alphabet-list {
  list-style: none;
  margin-bottom: 0;
  margin: 0;
  padding: 0;
  text-align: center;
}

.table-list {
  display: table;
  margin: 0 auto;
}

ul.alphabet-list li {
  display: inline;
}

ul.alphabet-list li a {
  color: #363636;
  text-transform: uppercase;
  font-weight: 300;
  padding: 0 6px;
}

ul.alphabet-list li a:hover {
  font-weight: 600;
}

.heading-alphabet {
  color: #363636;
  margin-bottom: 30px;
  border-bottom: 1px solid #dadada;
}

ul.two-cols {
  padding: 0;
  margin: 0;
  list-style: none;
  margin-bottom: 30px;
}

.references-block {
  padding-top: 70px;
}

/* =====================================================
   Footer
   ===================================================== */

footer {
  background-color: #3a51a3;
  color: white;
  padding: 10px;
  text-align: center;
}

footer a {
  color: white;
}

footer a:hover {
  color: white;
  text-decoration: underline;
}

/* =====================================================
   Contact
   ===================================================== */

.contact-texte {
  padding-bottom: 20px;
}

.map-area {
  background: url('assets/images/map-france.png') no-repeat;
  height: 386px;
  position: relative;
}

.area {
  position: absolute;
  opacity: 0.2;
}

.area.active {
  opacity: 1;
}

.area-1 { top: 21px; left: 76px; }
.area-2 { top: 165px; left: 66px; }
.area-3 { top: 290px; left: 49px; }

.map-details {
  border: 1px solid #c3c3c3;
  padding: 25px;
  background-color: white;
  margin-top: 10px;
}

.map-details .btn-ascatec {
  display: block;
  margin: 0;
  white-space: normal;
}

.second_contact_map_detail {
  margin-top: 30px;
}

/* =====================================================
   Override Bootstrap
   ===================================================== */

.form-control {
  background-color: #3a51a3;
  color: white;
  border-radius: 0;
  height: 50px;
  border: 0 none;
}

.form-control:focus {
  border: 1px solid #2a3d81;
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075);
}

.form-control.textarea-contact-form {
  height: 245px;
}

.navbar-default {
  background-color: white;
}

.navbar-toggle {
  margin-top: 20px;
  margin-bottom: 20px;
}

.navbar-brand {
  height: auto;
  line-height: normal;
}

/* =====================================================
   LinkedIn Widget
   ===================================================== */

.linkedin-widget {
  max-width: 700px;
  margin: 20px auto;
  padding: 20px;
  border: 1px solid #ddd;
  border-radius: 10px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  box-shadow: 0 4px 6px rgba(0,0,0,0.1);
  font-family: Arial, sans-serif;
  background-color: #fff;
}

.linkedin-widget img {
  border-radius: 50%;
  width: 80px;
  height: 80px;
  margin-right: 20px;
}

.linkedin-info {
  -webkit-flex-grow: 1;
  flex-grow: 1;
}

.linkedin-info h2 {
  margin: 0;
  font-size: 22px;
  color: #333;
}

.linkedin-info p {
  margin: 5px 0;
  color: #666;
  font-size: 16px;
}

.linkedin-button a {
  text-decoration: none;
  padding: 10px 20px;
  background-color: #0077B5;
  color: #fff;
  font-weight: bold;
  border-radius: 5px;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.linkedin-button a:hover {
  background-color: #005582;
}

/* =====================================================
   Navbar mobile toggle (override Bootstrap)
   ===================================================== */

.navbar-toggle .icon-bar {
  -webkit-transition: 300ms ease-in-out;
  transition: 300ms ease-in-out;
  background-color: #fff;
  position: relative;
  width: 24px;
  height: 3px;
}

.navbar-toggle .icon-bar:last-child {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  top: -7px;
}

.navbar-toggle .icon-bar:nth-child(2) {
  opacity: 0;
}

.navbar-toggle .icon-bar:nth-child(3) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0px;
}

.navbar-toggle.collapsed .icon-bar {
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  top: 0;
  opacity: 1;
}

.navbar-default .navbar-toggle .icon-bar {
  background-color: #3a51a3;
}

.navbar-default .navbar-toggle {
  border-color: #282828;
}

.navbar-default .navbar-toggle:focus,
.navbar-default .navbar-toggle:hover {
  background-color: white;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:focus,
.navbar-default .navbar-nav > .active > a:hover {
  color: white;
  background-color: #3a51a3;
}

/* =====================================================
   Contact Form 7 — neutralisation des wrappers + style
   ===================================================== */

/* Supprime les marges parasites du wrapper CF7 */
.wpcf7 {
  margin: 0;
}

.wpcf7-form-control-wrap {
  display: block;
}

/* Les inputs CF7 héritent du style .form-control */
.wpcf7-form-control-wrap input,
.wpcf7-form-control-wrap textarea {
  width: 100%;
}

/* Message d'erreur inline CF7 */
.wpcf7-not-valid-tip {
  color: #d9534f;
  font-size: 13px;
  font-weight: 600;
  margin-top: 4px;
  display: block;
}

/* Bandeau global CF7 — collé juste sous le bouton, sans gouttière */
.wpcf7-response-output {
  margin: 0 !important;
  padding: 8px 15px;
  border-radius: 0;
  font-size: 14px;
}

.wpcf7-mail-sent-ok {
  border: 1px solid #5cb85c !important;
  background-color: #dff0d8;
  color: #3c763d;
}

.wpcf7-validation-errors,
.wpcf7-acceptance-missing {
  border: 2px solid #d9534f !important;
  background-color: #f2dede;
  color: #a94442;
}

/* Bouton submit CF7 */
.wpcf7-submit {
  cursor: pointer;
  width: 100%;
}

/* =====================================================
   Media Queries
   ===================================================== */

@media (max-width: 767px) {
  .logo { margin: 10px 0; }
  .header-contact { margin-top: 82px; text-align: center; }
  .banner { background: none; }
  .baseline, .btn-banner { margin: 25px 0; }
  .btn-banner { padding: 10px; font-weight: 500; }
  .pull-left, .pull-right { float: none; width: 100%; }
  .baseline h1 { font-size: 25px; color: #3a51a3; padding: 0; margin: 0; }
  .block { padding-top: 10px; }
  .m-block { margin-bottom: 50px; }
  .m-block:after { content: "\f175"; left: 125px; top: 118px; }
  .m-block-details:after, .m-block-details:before { left: 50% !important; }
  .map-details { margin-top: 50px; }
  .references-block { padding-top: 100px; }
  .mobile-logo { width: 200px; }
  .main-heading { margin: 90px 0; }
  .linkedin-widget { -webkit-flex-direction: column; flex-direction: column; text-align: center; }
  .linkedin-widget img { margin: 0 auto 15px auto; }
  .linkedin-info h2 { font-size: 20px; }
  .linkedin-info p { font-size: 14px; }
  .linkedin-button { margin-top: 10px; }
  .linkedin-button a { padding: 8px 16px; }
}

@media (min-width: 768px) and (max-width: 991px) {
  .logo img { width: 250px; }
  .header-contact { margin-top: 34px; }
  nav.nav-desktop ul li a { font-size: 14px; }
  .m-block { width: 110px; height: 110px; }
  .m-block:after { left: 126px; top: 36px; }
  #m-block-1 span { font-size: 9px; top: 40px; left: -15px; }
  #m-block-2 span { font-size: 9px; top: 30px; left: -12px; }
  #m-block-3 span { top: 26px; font-size: 12px; left: -14px; }
  #m-block-4 span { top: 24px; left: -12px; }
  #m-block-5 span { font-size: 10px; top: 25px; left: -20px; }
  .map-details { margin-top: 20px; }
}

@media (max-width: 991px) {
  .map-details .btn-ascatec { margin: 20px 0; }
}

@media (min-width: 992px) and (max-width: 1200px) {
  .m-block:after { left: 148px; top: 32px; }
}
