/* =========================================================
   screen.css — version corrigée mobile / vieux templates
   Remplace l'ancien screen.css
   ========================================================= */

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  width: 100%;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-x: hidden;
}

body,
div,
span,
p,
a,
img,
ul,
ol,
li,
table,
th,
tr,
td,
form,
fieldset,
legend,
dl,
dt,
dd,
blockquote,
applet,
object {
  border: 0;
}

body {
  width: 100%;
  min-width: 0;
  padding: 0;
  background: #fff url("../img/bg.jpg") repeat-x;
  font: 16px/1.6 Arial, Helvetica, sans-serif;
  color: #354146;
  text-align: center;
  overflow-x: hidden;
}

/* évite les dépassements de texte */
body,
p,
div,
td,
th,
li,
a,
span,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

/* liens ---------------------------------------------------------------------- */
a {
  color: #1666a3;
}

a:link {
  color: #1666a3;
}

a:hover {
  color: #0b4775;
}

/* titres --------------------------------------------------------------------- */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 15px 0 10px 0;
  line-height: 1.25;
}

h1 {
  font-size: 32px;
  font-family: Georgia, "Times New Roman", serif;
}

h1#logo a {
  color: #ced1d2;
  text-decoration: none;
  display: block;
  padding: 18px 0 17px;
  font-weight: normal;
}

h1#logo a:hover {
  color: #fff;
}

h2 {
  font-size: 22px;
  color: #354146;
  font-weight: bold;
  padding: 0;
  margin: 0 0 10px 0;
}

h3 {
  font-size: 20px;
}

h4 {
  font-size: 19px;
}

h5 {
  font-size: 17px;
}

/* layout ---------------------------------------------------------------------- */
#layout {
  width: 100%;
  max-width: 100%;
  text-align: left;
}

#container {
  clear: both;
  width: 100%;
  max-width: 100%;
}

#intro {
  background: #e6e8e9;
  height: auto;
}

#intro-in,
#header,
#nav,
.content,
#footer {
  width: 891px;
  max-width: calc(100% - 30px);
  margin-left: auto;
  margin-right: auto;
}

#intro-in {
  padding: 20px 0;
}

/* header --------------------------------------------------------------------- */
#header {
  margin: 0 auto;
}

/* navigation ----------------------------------------------------------------- */
#nav {
  margin: 0 auto;
}

#nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
  min-height: 35px;
  height: auto;
}

#nav ul:after,
.columns:after,
.box:after {
  display: block;
  visibility: hidden;
  clear: both;
  line-height: 0;
  font-size: 0;
  content: ".";
}

#nav ul li {
  float: left;
  display: block;
  margin: 0;
  padding: 0;
}

#nav ul li a {
  display: block;
  float: left;
  font-size: 14px;
  color: #fff;
  text-decoration: none;
  padding: 12px 20px 10px;
  text-align: center;
  line-height: 1.2;
}

#nav ul li a:hover {
  color: #ced1d2;
  text-decoration: underline;
}

#nav ul li#active a {
  color: #101517;
  border: 1px solid #fff;
  border-bottom: 1px solid #e6e8e9;
  background: #e6e8e9;
  text-decoration: none;
}

/* contenu -------------------------------------------------------------------- */
.content {
  padding: 0;
  z-index: 10;
}

.line {
  margin-left: 5%;
  margin-right: 5%;
}

.content .in {
  padding: 20px 0 30px;
}

p.intro {
  background: url("../img/line.jpg");
  line-height: 1.55;
  margin: 0;
}

.shadow {
  border-top: 1px solid #dddddd;
  padding: 10px 0;
  background: url("../img/shadow.jpg") no-repeat;
}

img.thumb {
  padding: 3px;
  background: #fff;
  border: 1px solid #d1d1d1;
}

.columns {
  list-style: none;
  margin: 10px 0 0 0;
  padding: 0;
  font-size: 15px;
}

.columns li {
  float: left;
  width: 32%;
  text-align: left;
}

.columns li.col2 {
  border-left: 1px solid #d7d7d7;
  border-right: 1px solid #d7d7d7;
}

.columns li h3 {
  padding: 0 10px;
  color: #2e4650;
  margin: 0 0 5px;
}

.columns li.col2 h3,
.columns li.col3 h3 {
  padding-left: 20px;
}

.columns li p {
  line-height: 1.6;
  padding: 0 20px 0 10px;
  margin: 0;
  color: #3f4345;
}

.columns li.col2 p {
  padding: 0 20px;
  font-size: 16px;
  text-align: center;
  color: #999;
}

.columns li.col3 p {
  padding: 0 10px 0 20px;
}

.columns li a.more {
  display: block;
  color: #1666a3;
  padding: 5px 0;
}

.columns li a.more:hover {
  color: #0b4775;
  text-decoration: none;
}

/* footer --------------------------------------------------------------------- */
#footer {
  clear: both;
  font-size: 14px;
  padding-bottom: 70px;
  color: #898989;
}

#footer a {
  color: #898989;
}

#footer a:hover {
  color: #666666;
  text-decoration: none;
}

#footer .f-left,
#footer .f-right {
  padding: 0 10px;
}

/* paragraphes ---------------------------------------------------------------- */
p {
  margin: 15px 0;
}

/* images / médias ------------------------------------------------------------ */
img,
video,
iframe,
embed,
object {
  max-width: 100%;
  height: auto;
}

img[width],
img[height] {
  max-width: 100%;
  height: auto;
}

/* tableaux ------------------------------------------------------------------- */
table {
  margin: 15px 0;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
  max-width: 100%;
}

th {
  text-align: center;
  font-weight: bold;
}

th,
td {
  padding: 3px 5px;
  font-size: 100%;
}

/* listes --------------------------------------------------------------------- */
ul,
ol {
  display: block;
  margin: 15px 0 15px 40px;
}

ul ul,
ul ul ul,
ol ol,
ol ol ol {
  margin: 0;
  margin-left: 20px;
}

ol {
  list-style-type: decimal;
}

ol ol {
  list-style-type: upper-alpha;
}

ol ol ol {
  list-style-type: lower-alpha;
}

li {
  display: list-item;
}

ul li a {
  text-decoration: underline;
}

/* définitions ---------------------------------------------------------------- */
dl {
  margin: 15px 0;
}

dt {
  font-weight: bold;
}

dd {
  margin-left: 30px;
}

/* formulaires ---------------------------------------------------------------- */
fieldset {
  margin: 15px 0;
  padding: 10px;
  border: 1px solid #CCC;
}

legend {
  margin-left: 10px;
  font-size: 100%;
  font-weight: bold;
  color: #000;
}

input,
textarea,
select,
button {
  max-width: 100%;
  font-size: 16px;
}

input.small {
  width: 50px;
}

input.normal {
  width: 146px;
}

/* autres --------------------------------------------------------------------- */
abbr,
acronym,
.help {
  border-bottom: 1px dotted #CCC;
  cursor: help;
}

blockquote {
  margin: 15px 20px;
  font-style: italic;
}

del,
.del {
  text-decoration: line-through;
}

strong,
.strong {
  font-weight: bold;
}

cite,
em,
q,
var {
  font-style: italic;
}

code,
kbd,
samp {
  font-family: monospace;
  font-size: 110%;
}

hr {
  display: block;
  height: 1px;
  margin: 10px 0;
  padding: 0;
  border: 0 solid #CCC;
  background: #CCC;
  color: #CCC;
}

.f-left {
  float: left;
}

.f-right {
  float: right;
}

.a-left,
tr.a-left td {
  text-align: left;
}

.a-center,
tr.a-center td {
  text-align: center;
}

.a-right,
tr.a-right td {
  text-align: right;
}

.a-justify {
  text-align: justify;
}

.va-top {
  vertical-align: top;
}

.va-middle {
  vertical-align: middle;
}

.va-bottom {
  vertical-align: bottom;
}

.clear {
  clear: both;
}

.box {
  min-height: 1px;
}

.noscreen {
  display: none;
}

.mleft10 {
  margin-left: 10px;
}

.mright10 {
  margin-right: 10px;
}

.mtop10 {
  margin-top: 10px;
}

.mbottom10 {
  margin-bottom: 10px;
}

.bigger {
  font-size: 115%;
}

.smaller {
  font-size: 85%;
}

.high {
  color: #00F;
}

.nonhigh {
  color: #777;
}

.foto {
  display: block;
  border: 3px solid #ddd;
}

/* =========================================================
   Correctifs mobile / tablette
   ========================================================= */
@media screen and (max-width: 920px) {
  html,
  body {
    width: 100%;
    min-width: 0 !important;
  }

  body {
    font-size: 18px !important;
    line-height: 1.65 !important;
    text-align: left;
  }

  #layout,
  #container,
  #intro,
  #intro-in,
  #header,
  #nav,
  .content,
  .content .in,
  #footer,
  .wrapper,
  .wrap,
  .container,
  .page,
  .main,
  .content,
  .contenu,
  .corps,
  .global,
  .site,
  .header,
  .footer {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #intro-in,
  #header,
  #nav,
  .content,
  #footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .content .in {
    padding-top: 18px;
    padding-bottom: 25px;
  }

  .line {
    margin-left: 0;
    margin-right: 0;
  }

  h1 {
    font-size: 30px !important;
    line-height: 1.25 !important;
  }

  h1#logo a {
    padding: 14px 0;
  }

  h2 {
    font-size: 25px !important;
    line-height: 1.3 !important;
  }

  h3 {
    font-size: 22px !important;
    line-height: 1.35 !important;
  }

  h4,
  h5,
  h6 {
    font-size: 20px !important;
    line-height: 1.4 !important;
  }

  p,
  li,
  td,
  th,
  dd,
  dt,
  blockquote {
    font-size: 18px !important;
    line-height: 1.65 !important;
  }

  ul,
  ol {
    margin-left: 24px;
  }

  /* menu horizontal ancien -> menu lisible sur mobile */
  #nav ul {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible;
  }

  #nav ul li {
    float: none !important;
    display: block !important;
    width: 100% !important;
  }

  #nav ul li a,
  #nav ul li#active a {
    float: none !important;
    display: block !important;
    width: 100% !important;
    padding: 12px 10px !important;
    font-size: 18px !important;
    line-height: 1.4 !important;
    text-align: left !important;
    border-left: 0 !important;
    border-right: 0 !important;
  }

  /* colonnes anciennes -> empilées */
  .columns {
    font-size: 100% !important;
    margin-left: 0 !important;
  }

  .columns li,
  .columns li.col2,
  .columns li.col3,
  .left,
  .right,
  .sidebar,
  .menu,
  .navigation,
  .col,
  .column,
  .colonne {
    float: none !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    text-align: left !important;
  }

  .columns li h3,
  .columns li.col2 h3,
  .columns li.col3 h3,
  .columns li p,
  .columns li.col2 p,
  .columns li.col3 p {
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: left !important;
  }

  .columns li {
    margin-bottom: 22px;
  }

  .f-left,
  .f-right {
    float: none !important;
    display: block;
    text-align: left;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  table {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }

  tbody,
  tr,
  td,
  th {
    max-width: 100% !important;
  }

  td *,
  th * {
    font-size: inherit !important;
  }

  img,
  video,
  iframe,
  embed,
  object {
    max-width: 100% !important;
    height: auto !important;
  }

  input,
  textarea,
  select,
  button,
  input.small,
  input.normal {
    max-width: 100% !important;
    font-size: 18px !important;
  }
}

/* petits téléphones ---------------------------------------------------------- */
@media screen and (max-width: 480px) {
  body {
    font-size: 19px !important;
    line-height: 1.7 !important;
  }

  #intro-in,
  #header,
  #nav,
  .content,
  #footer {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  h1 {
    font-size: 28px !important;
  }

  h2 {
    font-size: 24px !important;
  }

  h3 {
    font-size: 21px !important;
  }

  p,
  li,
  td,
  th,
  dd,
  dt,
  blockquote {
    font-size: 19px !important;
  }

  #nav ul li a,
  #nav ul li#active a {
    font-size: 19px !important;
  }
  #nav ul li a,
  #nav ul li#active a {
    font-size: 19px !important;
  }
  #nav ul li a,
  #nav ul li#active a {
    font-size: 19px !important;
  }
 #nav ul li a,
  #nav ul li#active a {
    font-size: 19px !important;
  }
}
/* Correctif hauteur formulaires ViteUnDevis */
iframe[src*="viteundevis.com"] {
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  height: 1500px !important;
  min-height: 1500px !important;
  border: 0;
}

@media screen and (max-width: 920px) {
  iframe[src*="viteundevis.com"] {
    height: 1800px !important;
    min-height: 1800px !important;
  }
}

@media screen and (max-width: 480px) {
  iframe[src*="viteundevis.com"] {
    height: 2000px !important;
    min-height: 2000px !important;
  }
}
