body,div,h1,h2,h3,h4,h5,h6,p,blockquote,pre,code,ol,ul,li,dl,dt,dd,figure,table,th,td,form,fieldset,legend,input,textarea{margin:0;padding:0}table{border-spacing:0;border-collapse:collapse}caption,th,td{text-align:left;text-align:start;vertical-align:top}abbr,acronym{font-variant:normal;border-bottom:1px dotted #666;cursor:help}blockquote,q{quotes:none}fieldset,img{border:0}ul{list-style-type:none}sup{vertical-align:text-top}sub{vertical-align:text-bottom}del{text-decoration:line-through}ins{text-decoration:none}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font:12px/1 "Lucida Grande","Lucida Sans Unicode",Verdana,sans-serif;color:#000}input,button,textarea,select{font-family:inherit;font-size:99%;font-weight:inherit}pre,code{font-family:Monaco,monospace}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:400}h1{font-size:1.8333em}h2{font-size:1.6667em}h3{font-size:1.5em}h4{font-size:1.3333em}table{font-size:inherit}caption,th{font-weight:700}a{color:#00f}h1,h2,h3,h4,h5,h6{margin-top:1em}h1,h2,h3,h4,h5,h6,p,pre,blockquote,table,ol,ul,form{margin-bottom:12px}
body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li{float:left}.ce_gallery>ul li.col_first{clear:left}.float_left{float:left}.float_right{float:right}.block{overflow:hidden}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.ie7 img{-ms-interpolation-mode:bicubic}.ie8 img{width:auto}
/* ColorBox, (c) 2011 Jack Moore, MIT license */
#colorbox,#cboxOverlay,#cboxWrapper{position:absolute;top:0;left:0;z-index:9999;overflow:hidden}#cboxWrapper{max-width:none}#cboxOverlay{position:fixed;width:100%;height:100%}#cboxMiddleLeft,#cboxBottomLeft{clear:left}#cboxContent{position:relative}#cboxLoadedContent{overflow:auto;-webkit-overflow-scrolling:touch}#cboxTitle{margin:0}#cboxLoadingOverlay,#cboxLoadingGraphic{position:absolute;top:0;left:0;width:100%;height:100%}#cboxPrevious,#cboxNext,#cboxClose,#cboxSlideshow{cursor:pointer}.cboxPhoto{float:left;margin:auto;border:0;display:block;max-width:none;-ms-interpolation-mode:bicubic}.cboxIframe{width:100%;height:100%;display:block;border:0;padding:0;margin:0}#colorbox,#cboxContent,#cboxLoadedContent{box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box}#cboxOverlay{background:#000;opacity:.9;filter:alpha(opacity = 90)}#colorbox{outline:0}#cboxContent{margin-top:20px;background:#000}.cboxIframe{background:#fff}#cboxError{padding:50px;border:1px solid #ccc}#cboxLoadedContent{border:5px solid #000;background:#fff}#cboxTitle{position:absolute;top:-20px;left:0;color:#ccc}#cboxCurrent{position:absolute;top:-20px;right:0;color:#ccc}#cboxLoadingGraphic{background:url("../../assets/jquery/colorbox/1.6.1/images/loading.gif") no-repeat center center}#cboxPrevious,#cboxNext,#cboxSlideshow,#cboxClose{border:0;padding:0;margin:0;overflow:visible;width:auto;background:0}#cboxPrevious:active,#cboxNext:active,#cboxSlideshow:active,#cboxClose:active{outline:0}#cboxSlideshow{position:absolute;top:-20px;right:90px;color:#fff}#cboxPrevious{position:absolute;top:50%;left:5px;margin-top:-32px;background:url("../../assets/jquery/colorbox/1.6.1/images/controls.png") no-repeat top left;width:28px;height:65px;text-indent:-9999px}#cboxPrevious:hover{background-position:bottom left}#cboxNext{position:absolute;top:50%;right:5px;margin-top:-32px;background:url("../../assets/jquery/colorbox/1.6.1/images/controls.png") no-repeat top right;width:28px;height:65px;text-indent:-9999px}#cboxNext:hover{background-position:bottom right}#cboxClose{position:absolute;top:5px;right:5px;display:block;background:url("../../assets/jquery/colorbox/1.6.1/images/controls.png") no-repeat top center;width:38px;height:19px;text-indent:-9999px}#cboxClose:hover{background-position:bottom center}
/* roboto-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url("../../files/somava/fonts/roboto-v32-latin-regular.woff2") format('woff2'), url("../../files/somava/fonts/roboto-v32-latin-regular.ttf") format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}
/* anton-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  src: url("../../files/somava/fonts/anton-v25-latin-regular.woff2") format('woff2'), url("../../files/somava/fonts/anton-v25-latin-regular.ttf") format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

html {
  margin: 0;
  padding: 0;
  font-size: 100%;
  height: 100.1%;
}
body {
  margin: 0;
  padding: 0;
  font-family: "Roboto", arial, sans-serif;
  font-size: 1.3em;
  font-style: normal;
  background-color: #fff;
  min-width: 320px;
}
#wrapper {
  position: relative;
  min-height: 100%;
  max-width: 1920px;
  margin: 0 auto;
}
#header {
  position: fixed;
  z-index: 100;
  top: 0;
  width: 100%;
  margin: 0;
  padding: 2px 0 0 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  border-bottom: 1px solid #0071b5;
}
#header .inside {
  position: relative;
  width: 100%;
  max-width: 1600px;
  height: 84px;
  min-height: 84px;
  margin: 0 auto;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#container {
  position: relative;
  margin: 84px 0 0 0;
}
#container #main {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#container #main .inside {
  width: 100%;
  margin: 0 auto;
  padding: 0 0 0 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#container #main .inside .mod_article {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 0;
}
#container #main .inside .mod_article.diapo {
  padding: 2rem;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  background-color: #c0c0c0;
}
#container #main .inside .mod_article.diapo.clair {
  background-color: #dadada;
}
#footer {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
#footer .inside {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #0071b5;
  min-height: 300px;
}
.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}
.flex > div {
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.flex > div.ce_text,
.flex > div.ce_form {
  padding: 4rem;
}
.flex > div.ce_image figure {
  line-height: 0;
}
.flex > div.ce_image figure img {
  width: 100%;
  height: auto;
}
.flex > h2 {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 5rem 4rem 4rem;
  text-align: right;
}
@media screen and (min-width: 1171px) {
  .xl-2 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 10%;
            flex: 1 1 10%;
  }
  .xl-3 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 25%;
            flex: 1 1 25%;
  }
  .xl-4 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 33.333333%;
            flex: 1 1 33.333333%;
  }
  .xl-6 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
  }
  .xl-8 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 66.666666%;
            flex: 1 1 66.666666%;
  }
  .xl-9 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 75%;
            flex: 1 1 75%;
  }
  .xl-12 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
  body.ie .xl-2 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 10%;
            flex: 1 1 10%;
  }
  body.ie .xl-3 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 25%;
            flex: 1 1 25%;
  }
  body.ie .xl-4 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 20%;
            flex: 1 1 20%;
  }
  body.ie .xl-6 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 35%;
            flex: 1 1 35%;
  }
  body.ie .xl-8 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
  }
  body.ie .xl-9 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 60%;
            flex: 1 1 60%;
  }
  body.ie .xl-12 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
}
@media screen and (min-width: 771px) and (max-width: 1170px) {
  .l-2 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 10%;
            flex: 1 1 10%;
  }
  .l-3 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 25%;
            flex: 1 1 25%;
  }
  .l-4 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 33.333333%;
            flex: 1 1 33.333333%;
  }
  .l-6 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
  }
  .l-8 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 66.666666%;
            flex: 1 1 66.666666%;
  }
  .l-9 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 75%;
            flex: 1 1 75%;
  }
  .l-12 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
  body.ie .l-2 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 10%;
            flex: 1 1 10%;
  }
  body.ie .l-3 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 25%;
            flex: 1 1 25%;
  }
  body.ie .l-4 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 20%;
            flex: 1 1 20%;
  }
  body.ie .l-6 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 35%;
            flex: 1 1 35%;
  }
  body.ie .l-8 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
  }
  body.ie .l-9 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 60%;
            flex: 1 1 60%;
  }
  body.ie .l-12 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
}
@media screen and (max-width: 770px) {
  .s-4 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 33.333333%;
            flex: 1 1 33.333333%;
  }
  .s-6 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
  }
  .s-8 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 66.666666%;
            flex: 1 1 66.666666%;
  }
  .s-12 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
  body.ie .s-4 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 20%;
            flex: 1 1 20%;
  }
  body.ie .s-6 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 35%;
            flex: 1 1 35%;
  }
  body.ie .s-8 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 50%;
            flex: 1 1 50%;
  }
  body.ie .s-12 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
}
@media screen and (min-width: 771px) and (max-width: 1170px) {
  .l-un {
    -webkit-box-ordinal-group: -2;
        -ms-flex-order: -3;
            order: -3;
  }
  .l-deux {
    -webkit-box-ordinal-group: -1;
        -ms-flex-order: -2;
            order: -2;
  }
  .l-trois {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
@media screen and (max-width: 770px) {
  .s-un {
    -webkit-box-ordinal-group: -2;
        -ms-flex-order: -3;
            order: -3;
  }
  .s-deux {
    -webkit-box-ordinal-group: -1;
        -ms-flex-order: -2;
            order: -2;
  }
  .s-trois {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1;
  }
}
p,
li,
th,
td,
label,
a {
  margin: 0.5em 0;
  color: #161616;
  font-size: 1.3rem;
  padding: 0;
}
p {
  line-height: 1.3em;
}
a {
  text-decoration: none;
  color: #161616;
}
a:hover {
  text-decoration: none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Anton", arial, sans-serif;
  font-style: normal;
  color: #161616;
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.8rem;
  margin: 0;
  padding: 0;
}
h1 {
  font-size: 3rem;
  line-height: 3rem;
}
h2 {
  font-size: 3rem;
  line-height: 3.4rem;
  padding-bottom: 1rem;
}
h3 {
  font-size: 3rem;
  line-height: 3rem;
  padding: 1.5rem 0 1rem;
  text-align: center;
}
h4 {
  padding-bottom: 0.5rem;
}
.textjustify p {
  text-align: justify;
}
.textcenter p {
  text-align: center;
}
.textleft p {
  text-align: left;
}
.textright p {
  text-align: right;
}
.textC {
  text-align: center;
  text-align: center;
}
.txt120 p {
  font-size: 120%;
}
.txt90 p {
  font-size: 90%;
}
.txt85 p {
  font-size: 85%;
}
.boldmaj p strong {
  text-transform: uppercase;
}
.bleu p,
.noir p,
.bleu li,
.noir li,
.bleu h2,
.noir h2,
.bleu h4,
.noir h4 {
  color: #fff;
}
.bleu {
  background-color: #0071b5;
}
.noir {
  background-color: #161616;
}
.gris {
  background-color: #c0c0c0;
}
.grisclair {
  background-color: #dadada;
}
.fondblanc {
  background-color: #fff;
}
.somava {
  background-color: #fff;
}
.somava h2,
.somava p {
  color: #0071b5;
}
ul {
  list-style: disc;
  margin-top: 0.4em;
  margin-left: 10px;
  padding-left: 10px;
}
li {
  margin: 0;
  line-height: 1.2em;
  padding: 0.3em 0;
}
.big {
  font-size: 140%;
  font-weight: 700;
}
.caption,
.label p {
  font-size: 0.9em;
  font-style: italic;
  color: #161616;
  padding: 2px 0 6px 0;
}
.tel {
  font-size: 1.8rem;
  font-family: "Anton", arial, sans-serif;
}
.email {
  display: inline-block;
  padding: 0.5rem 1rem;
  margin-top: 1rem;
  font-size: 1.4rem;
  border: 1px #161616 solid;
}
.email:hover {
  color: #fff;
  background-color: #0071b5;
}
.liste ol {
  list-style-position: inside;
}
.liste ol li {
  padding: 0.3rem 0 1.8rem;
}
.liste ol li::marker {
  font-size: 140%;
  font-weight: 700;
}
.logo {
  position: absolute;
  top: 0;
  margin: 0 0 0 2%;
  z-index: 100;
}
.logo a {
  line-height: 0;
}
.back01 {
  background: url("../../files/somava/bandeau/back01.jpg") no-repeat center top;
  background-size: cover;
}
.back02 {
  background: url("../../files/somava/bandeau/back02.jpg") no-repeat center center;
  background-size: cover;
}
.back03 {
  background: url("../../files/somava/bandeau/back03.jpg") no-repeat center bottom;
  background-size: cover;
}
.back04 {
  background: url("../../files/somava/bandeau/back04.jpg") no-repeat center bottom;
  background-size: cover;
}
.back05 {
  background: url("../../files/somava/bandeau/back05.jpg") no-repeat center bottom;
  background-size: cover;
}
.back06 {
  background: url("../../files/somava/bandeau/back06.jpg") no-repeat center center;
  background-size: cover;
}
.back07 {
  background: url("../../files/somava/bandeau/back07.jpg") no-repeat center center;
  background-size: cover;
}
.back08 {
  background: url("../../files/somava/bandeau/back08.jpg") no-repeat center center;
  background-size: cover;
}
.back09 {
  background: url("../../files/somava/bandeau/back09.jpg") no-repeat center bottom;
  background-size: cover;
}
.back10 {
  background: url("../../files/somava/bandeau/back10.jpg") no-repeat center center;
  background-size: cover;
}
.back11 {
  background: url("../../files/somava/bandeau/back11.jpg") no-repeat center center;
  background-size: cover;
}
.back12 {
  background: url("../../files/somava/bandeau/back12.jpg") no-repeat center center;
  background-size: cover;
}
.back13 {
  background: url("../../files/somava/photo/chaudronnerie/atelier-chaudronnerie.jpg") no-repeat center center;
  background-size: cover;
}
.back14 {
  background: url("../../files/somava/photo/chaudronnerie/atelier-chaudronnerie-2.jpg") no-repeat center center;
  background-size: cover;
}
.back15 {
  background: url("../../files/somava/bandeau/back-moule-hydraulique.jpg") no-repeat center center;
  background-size: cover;
}
.back16 {
  background: url("../../files/somava/bandeau/laser-somava.jpg") no-repeat center center;
  background-size: cover;
}
.back {
  background: url("../../files/somava/pict/black.png") repeat left top;
  padding: 10rem 8rem 7rem;
  text-align: center;
}
.back h1 {
  padding: 4rem 0 1rem;
  font-size: 6rem;
  line-height: 7rem;
  color: #0071b5;
  text-shadow: 3px 3px 5px #000;
}
.back.blanc h1 {
  color: #fff;
}
.back h2 {
  padding: 0.5rem 12rem 1rem;
  font-size: 3rem;
  line-height: 3.5rem;
  color: #fff;
  text-shadow: 3px 3px 5px #000;
}
.backtest1 {
  background: url("../../files/somava/pict/bd-test1.jpg") no-repeat center bottom;
  background-size: cover;
}
.backtest2 {
  background: url("../../files/somava/pict/bd-test1.jpg") no-repeat center bottom;
  background-size: cover;
}
.backtest2 .back {
  background: none;
}
.backtest3 {
  background: url("../../files/somava/pict/bd-test3.jpg") no-repeat center center;
  background-size: cover;
}
.backtest3 .back {
  background: none;
}
.backtest4 {
  background: url("../../files/somava/pict/bd-test4.jpg") no-repeat center top;
  background-size: cover;
}
.backtest4 .back {
  background: none;
}
.ce_sliderStart .slider-control {
  height: 3rem;
  margin-top: -3rem;
}
.ce_sliderStart .slider-control .slider-menu b {
  font-size: 3rem;
  line-height: 3rem;
}
p {
  max-width: 900px;
}
.photo {
  min-height: 320px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}
.photo.innovation-1 {
  background-image: url("../../files/somava/us/innovation-1.jpg");
}
.photo.innovation-2 {
  background-image: url("../../files/somava/us/innovation-2.jpg");
}
.photo.innovation-3 {
  background-image: url("../../files/somava/us/innovation-3.jpg");
}
.photo.innovation-4 {
  background-image: url("../../files/somava/us/innovation-4.jpg");
}
.photo.innovation-5 {
  background-image: url("../../files/somava/us/innovation-5.jpg");
}
.photo.innovation-tableau {
  background-image: url("../../files/somava/us/innovation-tableau.jpg");
}
.photo.innovation-chauffage {
  background-image: url("../../files/somava/us/innovation-chauffage.jpg");
}
.photo.innovation-hydraulique {
  background-image: url("../../files/somava/us/innovation-hydraulique.jpg");
}
.photo.atelier-1 {
  background-image: url("../../files/somava/us/atelier-1.jpg");
}
.photo.atelier-2 {
  background-image: url("../../files/somava/us/atelier-2.jpg");
}
.photo.atelier-3 {
  background-image: url("../../files/somava/us/atelier-3.jpg");
}
.photo.atelier-4 {
  background-image: url("../../files/somava/us/atelier-4.jpg");
  background-position: center bottom;
}
.photo.atelier-5 {
  background-image: url("../../files/somava/us/atelier-5.jpg");
}
.photo.bureau-1 {
  background-image: url("../../files/somava/us/bureau-1.jpg");
}
.photo.bureau-2 {
  background-image: url("../../files/somava/us/bureau-2.jpg");
}
.photo.bureau-3 {
  background-image: url("../../files/somava/us/bureau-3.jpg");
  background-position: center top;
}
.photo.bureau-4 {
  background-image: url("../../files/somava/us/bureau-4.jpg");
}
.photo.bureau-5 {
  background-image: url("../../files/somava/us/bureau-5.jpg");
}
.photo.bureau-3d {
  background-image: url("../../files/somava/us/bureau-etude-3d.png");
}
.photo.chantier-1 {
  background-image: url("../../files/somava/us/chantier-1.jpg");
}
.photo.chantier-2 {
  background-image: url("../../files/somava/us/chantier-2.jpg");
}
.photo.chantier-3 {
  background-image: url("../../files/somava/us/chantier-3.jpg");
}
.photo.chantier-4 {
  background-image: url("../../files/somava/us/chantier-4.jpg");
}
.photo.chantier-5 {
  background-image: url("../../files/somava/us/chantier-5.jpg");
}
.minh {
  min-height: 500px;
}
.illustration figcaption {
  display: none;
}
.mod_article .lien p a,
.mod_article .ce_hyperlink a,
.mod_article p.lien a,
.mod_article p.back a,
.mod_article .lien li a {
  display: inline-block;
  margin: 1rem 1.5rem 1rem 0;
  padding: 0.4rem 2rem;
  font-size: 1.1rem;
  color: #161616;
  border: 1px solid #161616;
}
.mod_article .lien p a:hover,
.mod_article .ce_hyperlink a:hover,
.mod_article p.lien a:hover,
.mod_article p.back a:hover,
.mod_article .lien li a:hover {
  background-color: #0071b5;
  color: #fff;
}
.mod_article .lien.video p a {
  background: url("../../files/somava/pict/video.png") no-repeat 0.7rem center;
  background-size: auto;
  color: #fff;
  background-color: #161616;
  padding: 0.6rem 2rem 0.6rem 2.9rem;
}
.mod_article .lien.video p a:hover {
  background-color: #0071b5;
}
.mod_article .lien.linkedin {
  position: relative;
}
.mod_article .lien.linkedin::before {
  content: "";
  position: absolute;
  top: 1rem;
  margin-top: 1px;
  left: 1px;
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  background-image: url("../../files/somava/pict/l-in.png");
  background-size: cover;
}
.mod_article .lien.linkedin a {
  padding-left: 3.2rem;
}
.mod_article.noir .lien p a,
.mod_article.bleu .lien p a,
.mod_article.noir .ce_hyperlink a,
.mod_article.bleu .ce_hyperlink a,
.mod_article.noir p.lien a,
.mod_article.bleu p.lien a,
.mod_article.noir p.back a,
.mod_article.bleu p.back a,
.mod_article.noir .lien li a,
.mod_article.bleu .lien li a {
  border: 1px solid #dadada;
  color: #fff;
}
.mod_article.noir a,
.mod_article.bleu a {
  color: #fff;
  text-decoration: underline;
}
.mod_article.somava .lien p a,
.mod_article.somava .ce_hyperlink a,
.mod_article.somava p.lien a,
.mod_article.somava p.back a,
.mod_article.somava .lien li a {
  border-color: #0071b5;
  color: #0071b5;
}
.mod_article.bleu .lien p a:hover,
.mod_article.bleu .ce_hyperlink a:hover,
.mod_article.bleu p.lien a:hover,
.mod_article.bleu p.back a:hover,
.mod_article.bleu .lien li a:hover {
  background-color: #16557b;
}
@media screen and (min-width: 1191px) {
  .ce_gallery {
    max-width: none;
  }
}
.ce_gallery ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-line-pack: start;
      align-content: flex-start;
  padding-right: 1px;
}
.ce_gallery ul li {
  float: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 2rem;
  margin: 0;
}
.ce_gallery ul li figure.image_container {
  position: relative;
  overflow: hidden;
  margin: 0;
}
.ce_gallery ul li figure.image_container a {
  margin: 0;
}
.ce_gallery ul li figure.image_container a img {
  margin: 0;
  border: 0;
}
.ce_gallery ul.cols_4 li {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 25%;
          flex: 0 1 25%;
}
@media screen and (max-width: 1290px) {
  .ce_gallery ul.cols_4 li {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 33.333333%;
            flex: 0 1 33.333333%;
    padding: 1rem;
  }
}
@media screen and (max-width: 770px) {
  .ce_gallery ul.cols_4 li {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 50%;
            flex: 0 1 50%;
    padding: 0.5rem;
  }
}
.ce_accordion {
  text-align: center;
}
.ce_accordion .toggler {
  cursor: pointer;
  display: inline-block;
  border: 1px solid #3f3f41;
  color: #3f3f41;
  font-size: 1.1rem;
  line-height: 1.3rem;
  padding: 0.4rem 2rem;
}
.ce_accordion .toggler:hover {
  background-color: #3f3f41;
  color: #fff;
}
.ce_accordion .accordion {
  text-align: left;
  padding-top: 1rem;
}
.ce_form div.widget {
  padding: 8px 0;
}
.ce_form div.widget label {
  display: inline-block;
  margin: 0;
  font-size: 1.1rem;
  color: #3f3f41;
  font-style: italic;
  width: 200px;
}
.ce_form div.widget input,
.ce_form div.widget textarea {
  padding: 3px;
  font-size: 1.1rem;
  color: #161616;
  width: 250px;
}
.ce_form div.widget textarea {
  width: 350px;
  font-family: "Roboto", arial, sans-serif;
}
.ce_form div.widget.widget-textarea label {
  vertical-align: top;
}
.ce_form div.widget.widget-checkbox span input[type=checkbox] {
  float: left;
  width: 25px;
}
.ce_form div.widget.widget-checkbox span label {
  width: 100%;
  display: block;
}
.ce_form div.widget.widget-checkbox span label a {
  font-size: 1.1rem;
  text-decoration: underline;
  color: #3f3f41;
}
.ce_form div.widget.widget-checkbox span label a:hover {
  color: #0071b5;
}
.ce_form div.widget p.error {
  color: #0071b5;
}
.ce_form .submit {
  margin-top: 0.8em;
  padding: 4px 10px;
  margin-left: 206px;
  font-size: 1rem;
  text-transform: uppercase;
}
.map-rwd {
  overflow: hidden;
  position: relative;
}
.map-rwd iframe {
  height: 100%;
  min-height: 450px;
  width: 100%;
}
.mentions h4 {
  padding-top: 1em;
}
.mentions p {
  margin: 0.5em 0;
  font-size: 90%;
}
.mentions p a {
  font-size: 100%;
  text-decoration: underline;
}
.mentions p a:hover {
  color: #0071b5;
}
.mentions li {
  font-size: 90%;
}
#footer .flex > div p,
#footer .flex > div a,
#footer .flex > div .caption {
  color: #fff;
  font-size: 1.1rem;
  line-height: 1.2rem;
}
#footer .flex > div a:hover {
  color: #fff;
  text-decoration: underline;
}
#footer .flex > div h2 {
  color: #fff;
  padding-bottom: 0.5rem;
}
#footer .flex > div h4 {
  color: #fff;
  line-height: 2.4rem;
  padding-top: 1rem;
}
#footer .flex > div .tel {
  font-size: 2.4rem;
}
#footer .flex > div .phrase {
  font-size: 1.6rem;
  line-height: 2rem;
  font-style: italic;
  margin-bottom: 3rem;
}
#footer .flex > div .ce_gallery {
  text-align: center;
  padding: 2rem 0;
}
#footer .flex > div .ce_gallery ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -ms-flex-line-pack: start;
      align-content: flex-start;
}
#footer .flex > div .ce_gallery ul li {
  padding: 0;
}
#footer .flex > div.exemple {
  padding-bottom: 0.5rem;
}
#footer .flex > div.zoneliens {
  max-width: 900px;
  margin: 0 auto;
  padding: 0 2rem 2rem;
  -webkit-column-count: 3;
     -moz-column-count: 3;
          column-count: 3;
}
@media screen and (min-width: 771px) and (max-width: 990px) {
  #footer .flex > div.zoneliens {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    max-width: 600px;
  }
}
@media screen and (max-width: 770px) {
  #footer .flex > div.zoneliens {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1;
    max-width: none;
    text-align: center;
  }
}
#footer .flex > div.zoneliens p {
  margin: 0 0 0.5rem;
}
#footer .inside .flex .ce_toplink {
  position: fixed;
  z-index: 300;
  right: 2px;
  bottom: 10px;
  width: 2rem;
  background-color: rgba(0,113,181,0.5);
  padding: 6px 3px 2px;
  border: 1px solid rgba(255,255,255,0.5);
}
#footer .inside .flex .ce_toplink a {
  display: block;
  margin: 0;
}
@media screen and (min-width: 1191px) {
  #footer .inside .flex .ce_toplink {
    display: none;
  }
}
.cookiebar {
  z-index: 100;
  padding: 2rem 3rem;
  background-color: rgba(238,238,238,0.95);
}
.cookiebar .cookiebar__text {
  width: 100%;
  margin-right: 0;
}
.cookiebar .cookiebar__text span,
.cookiebar .cookiebar__text a {
  display: block;
  font-size: 1.2rem;
  line-height: 1.3rem;
  color: #000;
}
.cookiebar .cookiebar__text a {
  text-decoration: underline;
}
.cookiebar .cookiebar__button {
  margin: 1rem 0 0 1rem;
  padding: 0.3rem 1.1rem 0.4rem;
  font-size: 1.2rem;
  line-height: 1.5rem;
}
nav.menu {
  position: relative;
  padding: 2.8rem 5% 0 5%;
  padding: 2.8rem 0 0 0;
  z-index: 40;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
}
nav.menu #menuToggle {
  position: relative;
  padding: 5px 0 0 0;
  z-index: 50;
  -webkit-user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}
nav.menu #menuToggle input {
  display: block;
  width: 40px;
  height: 32px;
  position: absolute;
  top: 0;
  right: 10px;
  cursor: pointer;
  opacity: 0;
  z-index: 2;
  -webkit-touch-callout: none;
}
#menuToggle > span {
  display: block;
  clear: right;
  float: right;
  width: 33px;
  height: 4px;
  margin: 0 10px 5px 0;
  position: relative;
  background-color: #161616;
  border-radius: 3px;
  z-index: 1;
  -webkit-transform-origin: 4px 0px;
      -ms-transform-origin: 4px 0px;
          transform-origin: 4px 0px;
  -webkit-transition: background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), opacity 0.55s ease, -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
  transition: background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), opacity 0.55s ease, -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
  transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), opacity 0.55s ease;
  transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1), opacity 0.55s ease, -webkit-transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1);
}
#menuToggle > span:first-child {
  -webkit-transform-origin: 0% 0%;
      -ms-transform-origin: 0% 0%;
          transform-origin: 0% 0%;
}
#menuToggle > span:nth-last-child {
  -webkit-transform-origin: 0% 100%;
      -ms-transform-origin: 0% 100%;
          transform-origin: 0% 100%;
}
#menuToggle input:checked ~ span:nth-last-child(2) {
  opacity: 1;
  -webkit-transform: rotate(-45deg) translate(-1px, -1px);
      -ms-transform: rotate(-45deg) translate(-1px, -1px);
          transform: rotate(-45deg) translate(-1px, -1px);
  background: #161616;
}
#menuToggle input:checked ~ span:nth-last-child(3) {
  opacity: 0;
  -webkit-transform: rotate(0deg) scale(0.2, 0.2);
      -ms-transform: rotate(0deg) scale(0.2, 0.2);
          transform: rotate(0deg) scale(0.2, 0.2);
}
#menuToggle input:checked ~ span:nth-last-child(4) {
  opacity: 1;
  -webkit-transform: rotate(45deg) translate(1px, -1px);
      -ms-transform: rotate(45deg) translate(1px, -1px);
          transform: rotate(45deg) translate(1px, -1px);
}
#menu {
  width: 100%;
  margin: 0;
  padding: 1rem 0 2rem;
  background-color: #fff;
  display: none;
  text-align: center;
  list-style-type: none;
}
#menu li {
  float: none;
  margin: 0;
  padding: 0;
}
#menu li a,
#menu li span.active,
#menu li span.trail {
  display: inline-block;
  margin: 0;
  padding: 0 15px;
  font-family: "Anton", arial, sans-serif;
  color: #161616;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-style: normal;
  text-decoration: none;
  text-align: center;
}
#menu li a:hover,
#menu li span.active,
#menu li span.trail {
  color: #0071b5;
}
#menu li.trail a {
  color: #0071b5;
}
#menuToggle input:checked ~ ul {
  display: inline-block;
}
@media screen and (min-width: 1311px) {
  nav.menu {
    padding: 2.8rem 5% 0 5%;
  }
  nav.menu #menuToggle input {
    display: none;
  }
  nav.menu #menuToggle span {
    display: none;
  }
  nav.menu #menu {
    display: inline-block;
    float: right;
    width: inherit;
    background-color: transparent;
    margin: 0;
    padding: 0 0.3em 0 0;
  }
  nav.menu #menu li {
    float: left;
    padding: 0 0.7rem;
  }
  nav.menu #menu li a,
  nav.menu #menu li span.active,
  nav.menu #menu li span.trail {
    display: inline-block;
    margin: 0;
    padding: 0 15px;
    font-family: "Anton", arial, sans-serif;
    color: #161616;
    font-size: 1.6rem;
    line-height: 2rem;
    font-style: normal;
    text-decoration: none;
    text-align: center;
  }
  nav.menu #menu li a:hover,
  nav.menu #menu li span.active,
  nav.menu #menu li span.trail {
    color: #0071b5;
  }
  nav.menu #menu li.trail a {
    color: #0071b5;
  }
  nav.menu #menu li.last a,
  nav.menu #menu li.last span {
    padding-right: 0;
  }
}
#footer .pmenu {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0;
  padding: 1rem 4rem 2rem;
  text-align: center;
}
#footer .pmenu ul {
  display: inline-block;
  margin: 0;
  padding: 0;
  list-style-type: none;
}
#footer .pmenu ul li {
  float: left;
  margin: 0;
  padding: 0;
  position: relative;
}
#footer .pmenu ul li a,
#footer .pmenu ul li span.active,
#footer .pmenu ul li span.trail {
  display: block;
  margin: 0;
  padding: 0 15px;
  border-right: 1px solid #5daddd;
  font-style: normal;
  color: #fff;
  font-size: 1.1rem;
  line-height: 1.3rem;
  text-decoration: none;
  text-align: center;
  font-weight: 300;
}
#footer .pmenu ul.level_1 > li > span.active:after,
#footer .pmenu ul.level_1 > li > span.trail:after,
#footer .pmenu ul.level_1 > li > a:hover:after,
#footer .pmenu ul.level_1 > li.trail > a:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: calc(100% - 30px);
  height: 1px;
  margin: 2px 15px;
  background-color: #fff;
}
#footer .pmenu ul.level_1 > li.last .last {
  border-right: none;
}
@media screen and (max-width: 990px) {
  #footer .pmenu ul li {
    float: none;
  }
  #footer .pmenu ul li a,
  #footer .pmenu ul li span.active,
  #footer .pmenu ul li span.trail {
    border-right: none;
    padding: 0.4rem 1rem;
  }
  #footer .pmenu ul li a:after,
  #footer .pmenu ul li span.active:after,
  #footer .pmenu ul li span.trail:after {
    content: none;
  }
  #footer .pmenu ul.level_1 > li > span.active,
  #footer .pmenu ul.level_1 > li > span.trail,
  #footer .pmenu ul.level_1 > li > a:hover,
  #footer .pmenu ul.level_1 > li.trail > a {
    text-decoration: underline;
  }
  #footer .pmenu ul.level_1 > li > span.active:after,
  #footer .pmenu ul.level_1 > li > span.trail:after,
  #footer .pmenu ul.level_1 > li > a:hover:after,
  #footer .pmenu ul.level_1 > li.trail > a:after {
    content: none;
  }
}
html.wf-loading p,
html.wf-loading h1,
html.wf-loading h2,
html.wf-loading h3,
html.wf-loading a,
html.wf-loading li span {
  visibility: hidden;
}
html.wf-active p,
html.wf-active h1,
html.wf-active h2,
html.wf-active h3,
html.wf-active a,
html.wf-active li span {
  visibility: visible;
}
@media screen and (max-width: 1310px) {
  html {
    font-size: 90%;
  }
  html #wrapper #header .inside {
    height: 70px;
    min-height: 70px;
  }
  html #wrapper #header .inside .menu {
    padding-top: 2.2rem;
  }
  html #wrapper #header .inside .menu ul#menu {
    padding-top: 2rem;
  }
  html #wrapper #container {
    margin-top: 70px;
  }
  .logo {
    height: 80px;
    width: 225px;
  }
  .logo img {
    height: auto;
    width: 225px;
  }
  h2,
  h3 {
    font-size: 2.3rem;
    line-height: 3.2rem;
    padding: 0 0 1rem 0;
  }
  .back {
    padding: 6rem 4rem 5rem;
  }
  .back h1 {
    padding: 4rem 0 1rem;
    font-size: 4rem;
    line-height: 4rem;
  }
  .back h2 {
    padding: 0.5rem 4rem 1rem;
    font-size: 2.5rem;
    line-height: 3rem;
  }
  .logo {
    height: 65px;
    width: 197px;
  }
  .logo img {
    height: 65px;
    width: auto;
  }
}
@media screen and (max-width: 770px) {
  html {
    font-size: 80%;
  }
  html #wrapper #header .inside {
    height: 55px;
    min-height: 55px;
  }
  html #wrapper #header .inside .menu {
    padding-top: 1rem;
  }
  html #wrapper #header .inside .menu ul#menu {
    padding-top: 2rem;
  }
  html #wrapper #container {
    margin-top: 55px;
  }
  h2,
  h3 {
    font-size: 2.1rem;
    line-height: 2.9rem;
    padding: 0 0 1rem 0;
  }
  .back {
    padding: 4rem 2rem 3rem;
  }
  .back h1 {
    padding: 2rem 0 1rem;
    font-size: 3rem;
    line-height: 3rem;
  }
  .back h2 {
    padding: 0.5rem 2rem 1rem;
    font-size: 2.1rem;
    line-height: 2.9rem;
  }
  .logo {
    height: 50px;
    width: 152px;
  }
  .logo img {
    height: 50px;
    width: auto;
  }
  .flex > div.ce_text,
  .flex > div.ce_form {
    padding: 2rem;
  }
  .flex > h2 {
    padding: 2rem 2rem 0;
    text-align: left;
  }
}
@media screen and (max-width: 460px) {
  .s-6 {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
  }
}
.fl {
  float: left;
}
.fr {
  float: right;
}
.cl {
  clear: left;
}
.cr {
  clear: right;
}
.w20 {
  width: 20vw;
}
.w30 {
  width: 30vw;
}
.w40 {
  width: 40vw;
}
.w50 {
  width: 50vw;
}
.w60 {
  width: 60vw;
}
.w70 {
  width: 70vw;
}
.w80 {
  width: 80vw;
}
.mt1 {
  margin-top: 1vw;
}
.mt2 {
  margin-top: 2vw;
}
.mt3 {
  margin-top: 3vw;
}
.mt4 {
  margin-top: 4vw;
}
.mt5 {
  margin-top: 5vw;
}
.mt6 {
  margin-top: 6vw;
}
.mb1 {
  margin-bottom: 1vw;
}
.mb2 {
  margin-bottom: 2vw;
}
.mb3 {
  margin-bottom: 3vw;
}
.mb4 {
  margin-bottom: 4vw;
}
.mb5 {
  margin-bottom: 5vw;
}
.mb6 {
  margin-bottom: 6vw;
}
.mr1 {
  margin-right: 1vw;
}
.mr2 {
  margin-right: 2vw;
}
.mr3 {
  margin-right: 3vw;
}
.mr4 {
  margin-right: 4vw;
}
.mr5 {
  margin-right: 5vw;
}
.ml1 {
  margin-left: 1vw;
}
.ml2 {
  margin-left: 2vw;
}
.ml3 {
  margin-left: 3vw;
}
.ml4 {
  margin-left: 4vw;
}
.ml5 {
  margin-left: 5vw;
}
.pr5 {
  padding-right: 5vw;
}
.mib1 {
  padding-bottom: 1rem;
}
.mih1 {
  padding-top: 1rem;
}
.mih6 {
  padding-top: 6rem;
}
.tal p {
  text-align: left;
}
.tar p {
  text-align: right;
}
.tac {
  text-align: center;
}
.tac p {
  text-align: center;
}
.taj p {
  text-align: justify;
}

