:root {
  --or: #cbbba0;
}
.nopadding {padding:0;}

@charset "utf-8";

body
{
   font-family: 'Lato', sans-serif;
  font-weight:300;
  	font-size:20px;
  color:#000;
}

h1,h2,h3, .ash1 {
  color:var(--or);
  font-weight:300;
}

h1 {
  font-size:36px;
}

h2 {
  font-size:24px;
}

h3, .ash1 {
  font-size:22px;
}

header{
  position: fixed;
  top: 0;
  z-index:30;
  width:100%;
  min-height:88px;
  padding:0 8px;
}

body>header >.container {
  	position:relative;
}

span.or {
  color:var(--or);
}

.veryimportant {
  margin:64px 16px;
}

/* Main logo */

.logotop {
  display: flex;
  align-items: center;
  justify-content:flex-start;
  position:absolute;
  top:0;
  left:0;
  height:72px;
}

.toplogo {
  height:100%;
  display: inline-block;
  position:relative;
  margin:0 8px;
}

.toplogo img {
  height:100%;
  width:auto;
}

/* error page */
body.errorpage>div>header {
  position:relative !important;
  display:flex;
  flex-flow: row nowrap;
  align-items:center;
  justify-content:center;
}

body.errorpage .content, body.errorpage>div>footer {
	text-align:center;
  	margin:64px 16px;
}

/* Language switcher */

.lang {
	position:absolute;
  top:0;
  right:0;
  height:72px;
  margin:0 8px;
}


.moduletable.lngswitcher {
  position:absolute;
  top:0;
  right:0;
  height:100%;
  max-height:var(--headerdefh); 
}

.mod-languages {
  height:100%;
}

.lngswitcher>.moduletable ul {
    display:flex;
  	flex-flow:column nowrap;
    justify-content: center;
	height:100%;
  max-height:73px;
}

.mod-languages ul {
    margin: 0;
    padding: 0;
    list-style: none;
}


div.mod-languages ul li.lang-active {
    background-color:transparent !important;
}

p.stw {
  position:absolute;
  right:8px;
  bottom:8px;
  text-align:center;
  color:#666;
  font-size:12px;
}

p.stw a{
  font-size:12px !important;
  color:#222 !important;
  text-decoration:none;
}

.homepage {
  width:100%;
  min-height:30vh;
  display:flex;
  flex-flow:column nowrap;
  justify-content: center;
  align-items: flex-start;
}

/* RGPD */

.rgpd_banner {
    position:fixed;
    left:0;
    width:100%;
    min-height:60px;
    display:flex;
    flex-flow:column nowrap;
    justify-content:space-around;
    align-items:center;
      z-index:100;
  color:#000;
  background-color:var(--or);
  font-size:14px;
  z-index:100;
}

.rgpd_banner p {
    text-align:center;
  margin:16px 0;
}

rgpd_banner a {
  text-decoration:none;
}


/* Main menu */

.menutop .moduletable.menumain {
    width: 100%;

}

.menutop {
  position:relative;
  display:flex;
  width:100%;
  flex-flow:column nowrap;
  align-items:center;
justify-content: space-between;
}

.menutop>img {
  margin:32px 0;
}


body:not(.responsive) .responsive_open, body.responsive.open .responsive_open{
  display:none;
}

body.responsive:not(.open) .responsive_open {
  display:block;
}

body:not(.responsive) .responsive_close, body.responsive:not(.open)  .responsive_close{
  display:none;
}

body.responsive.open .responsive_close {
  display:block;
}

.menutop .nav
{
    width:100%;
  display: none;
    border-top:solid 1px var(--or);
  border-bottom:solid 1px var(--or);
  margin-bottom:16px;
}

body .menutop .nav, body.responsive:not(.open) .menutop .nav ol
{
  	display: none;
  	justify-content: space-around;
    width:100%;
}

body:not(.responsive) .menutop .nav
{
  	display: flex;
  	justify-content: space-around;
}

body.responsive.open .menutop .nav
{
  	display: flex;
  flex-flow:column nowrap;
  	justify-content: flex-start;
}

.menutop .nav li {
    max-width: 100%;
  padding:8px;
    text-align: center;
  	display:flex;
  	align-items:center;
  justify-content:center;
  background-color:transparent;
  transition: all .6s;
}

.menutop .nav li:hover {
	background-color:var(--or);
}

.nav li a, .nav li a:visited
{
 color:#000;
  text-transform:uppercase;
  text-decoration:none;
}



body>header {
  	background: rgb(255,255,255);
  	box-shadow: 0px 0px 3px rgb(0 0 0 / 29%);
  	padding:8px 0;
  	
  	
}

/* Main content */

body>main {
  margin:24px 0;
}

/* Slider */

.slider {
  margin-top:106px;
  
}

.slider picture img {
  min-width:100%;
	width:100%;
  	height:auto;
}

.slider .imgcnt {
  width:100%;

}

.slider .imgcnt figure {
  position:relative;
  min-width:100%;
  width:100%;
  margin:0;
  display:flex;
  flex-flow:row nowrap;
  justify-content:center;
  align-items:center;
  overflow:hidden;
  max-height:600px;
}

.slider .imgcnt picture {
	min-width:100%;
	width:100%;
}

.slider .imgcnt figcaption {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  margin:0;
  display:flex;
  flex-flow:row nowrap;
  justify-content:center;
  align-items:center;
}

.caption {
  position:relative;
  text-transform:uppercase;
  font-size:36px;
  color:#525151;
  background-color:rgba(255,255,255,.8);
  z-index:20;
  width:100%;
  font-weight:300;
  text-align:center;
  padding:16px 0;
}

.caption>div {
  display:inline-block;
  width:380px;
  max-width:60%;
}

.caption>div>img {
 max-width:100%;	
  height:auto;
}


/* Services */

.services, .service>.img {
  display:flex;
  flex-flow:row wrap;
  justify-content:space-around;
  align-items:center;
  margin-bottom:16px;

}

.services>.service {
  position:relative;
  	display:inline-block;
	margin:24px;
  	max-width:320px;
  min-height:264px;
}

.services img {
  	transition: transform .5s;
  transform:scale(.95,.95);
  max-width:100%;
  height:auto;
}

.services img:hover {
  transform:scale(1.05,1.05);
}

ul.or, .center {
  width:100%;
  list-style: none;
  display:flex;
  flex-flow: column nowrap;
  justify-content:center;
  align-items:center;
  padding:0;
}

ul.or>li {
  text-align:center;
}

.pricing {
  font-size:16px;
  margin: 24px 0;
  text-align:center;
  padding-top:32px;
}

.pricing a {
  
  text-decoration:none;
  cursor:pointer;
  color: var(--or);
}

/* Contact */

#ff_formdiv1 label{
  font-size:14px;
}

#ff_formdiv1 #bfElemWrap41 {
  display:flex;
  flex-flow:column nowrap;
  justify-content:center;
  align-items: center;
}

#ff_formdiv1 #bfElemWrap41 label{
  text-align:center
}

#ff_formdiv1 textarea, #ff_formdiv1 input{
  color: #666;
}

.map {
  margin-top:36px;
}

/* Article contact */

.entry {
  display:flex;
  flex-flow:row wrap;
  justify-content:felx-start
  align-items:flex-start;
  padding:8px 0;
}

.entry .text{
  color:#aaa;
  margin-right:16px;
}

.entry .value a{
  color:#000;
  text-decoration:none;
}

.entry .aler{
  color:#aaa;
  font-size:80%;
}

.map img {
  width:100%;
  height:auto;
  margin-top:48px;
}

button[type=button] {
  background-color: var(--or);
  border: none;
  color: #777;
  padding: 8px 24px;
  text-decoration: none;
  margin: 4px 2px;
  cursor: pointer;
  transition:all .4s;
  box-shadow: none;
}

button[type=button]:hover {
  color: #444;
  box-shadow: 1px 2px;
}

#footer {
  position:relative;
  	display: flex;
  	align-items:center;
  padding:16px 0;
  border-top: solid 4px rgb(96,96,96);
  color: #aaa;
  margin-top:64px;
  font-size:16px;
}

#footer a, #footer a:visited{
	color:#aaa;
  text-decoration:none;
  text-transform:none;
  font-size:16px;
}

#footer .menubottom {
  border-top:solid 2px #ccc;
  margin-top:16px;
  padding-top:16px;
}

#footer .bottominfos span {
  border-bottom:solid 2px #aaa;
  margin-bottom:8px;
  display:inline-block;
  font-size:18px;
}

#footer .bottominfos img {
  margin-bottom:8px;
}

footer .moduletable
{
  width:100%;
  display:flex;
  flex-flow:column nowrap;
  align-items: center;
  justify-content: center;
  height:100%;
}

footer .menubottom .moduletable
{
  padding-bottom:40px;
}

footer .moduletable ul
{
  width:100%;
  display:flex;
  flex-flow:column nowrap;
  justify-content: flex-start;
  width:200px;
}

footer .moduletable ul li
{
	margin:2px 0;
}

#scrolltop {
  position:fixed;
  bottom: 48px;
  right:8px;
}

#scrolltop a{
  display:inline-block;
    padding:8px;
  background-color:var(--or);
  border-radius:50%;
  width:32px;
  height:32px;
  text-decoration:none;
}


.item-page{
  display:flex;
  width:100%;
  align-items: center;
  justify-content:center;
  flex-direction:column;
}

@media (min-width: 576px) {
	.toplogo, .lang {
  		margin:0 0;
	}
    #footer .menubottom {
  		border-top:none;
  		margin-top:0;
  		padding-top:0;
	}
 	.caption {
		font-size:44px;
	}
  footer .menubottom .moduletable {
	padding-bottom:0;
	}
}

@media (min-width: 768px) {
    .menutop .nav li {
	    max-width: 176px;
	}
	.logotop, .lang {
  		position:relative;
	}
    .menutop .nav {
		border-top:none;
		border-bottom:none;
      	margin-bottom:0;
	}
  	.slider {
  		margin-top:88px;
	}
 	.caption {
		font-size:72px;
	}
}

@media screen and (orientation:landscape) {

}

@media screen and (orientation:portrait) {

}