/**
 * Forms
 */

/* All elements */
.field { margin-bottom: 15px; position:relative; }
.field label { display: inline-block; margin:0; }

.field [data-validate-for] { display:none; font-size:10px; line-height:10px; position:absolute; right:0; bottom:-1.2em; }
.field [data-validate-for].visible { display:block; }

/* Textfields & textareas */
.field.textfield input,
.field.textarea textarea { display: block; width: 100%; padding: 10px; border: 1px solid #ccc; }

/* Checkbox & Radio */
.field.checkbox,
.field.radio { line-height: 20px; }
.field.checkbox input,
.field.radio input { width:20px; height:20px; float:left; margin-right:10px; }
.field.checkbox label,
.field.radio label { position:relative; margin-bottom: 0; cursor: pointer; }

.field.checkbox span:before,
.field.radio span:before { content:''; position:absolute; left:0; top:0; width:20px; height:20px; border:1px solid #ccc; background:#fff; }

.field.checkbox span:after,
.field.radio span:after { content:''; position:absolute; left:3px; top:3px; width: 14px; height:14px; background:#ccc; opacity:0; transition:all 0.5s ease 0s; }

.field.checkbox input:checked+span:after,
.field.radio input:checked+span:after { opacity: 1; }

.field.checkbox .message:before,
.field.checkbox .message:after,
.field.radio .message:before,
.field.radio .message:after { content:none; }

.field.checkbox span:before,
.field.checkbox span:after { border-radius: 0; }

.field.radio span:before,
.field.radio span:after { border-radius: 50%; }

/* Select */
.field.select select { display:block; width:100%; padding:10px; border:1px solid #ccc; }

/* Select2 */
.field.select2 .select2-selection { border-radius:0; border:1px solid #ccc; height:46px; }
.field.select2 .select2-selection__rendered { line-height:46px; }
.field.select2 .select2-selection__arrow { height:46px; }

/* Addresses */
.field.address .ap-input { height:auto; line-height:auto; border-radius:0; }
.field.address .ap-dropdown-menu { color:#000; }

/* Captcha */
.field.captcha { display:flex; justify-content:center; }

/**
 * Navigation
 **/
 
/* Frontend editor */
.ct-widget.ct-ignition { position:fixed; left:auto; top:auto; right:20px; bottom:20px; z-index:10000; transition:all 0.5s ease 0s; }
.ct-widget.ct-ignition .ct-ignition__button { position:static; margin-top:10px;}

.ce-element { outline:2px dashed rgba(243, 156, 18, 0.5); }
.ce-element--focused, .ce-element:focus { outline:2px dashed rgba(243, 156, 18, 1); }

/**
 * Maintenance
 **/
 
.maintenance { display:flex; align-items:center; justify-content:center; min-height:100vh; text-align:center; background:#004759 url(../themes/personeni/assets/img/maintenance.jpg) no-repeat left top; background-size:cover; color:#fff; }
.maintenance:before { content:''; position:absolute; left:0; top:0; width:100%; height:100%; z-index:2; }
.maintenance .container { position:relative; z-index:3; visibility:hidden; }
.maintenance .code { font-size:120px; font-weight:300; }
.maintenance h1 { font-weight:500; font-size:40px; text-transform:uppercase; display:flex; flex-direction:column; justify-content:center; align-items:center; }    
.maintenance h1:after { content:''; display:block; width:50px; height:3px; background:#fff; margin:30px 0; }
.maintenance .btn { color:#fff; background:transparent; border:2px solid #fff; border-radius:99px; padding:10px 15px; text-transform:uppercase; margin:20px 10px 0 10px; display:inline-block; font-size:13px; transition:all 0.5s ease 0s; }
.maintenance .btn:hover { text-decoration:none; background:#fff; color:#333; }
/**
 * General Elements
 **/

#tarteaucitronPersonalize { background:#f06526 !important; color:#222; border-radius:40px;}
#tarteaucitronCloseAlert { border-radius:40px; }
#tarteaucitronPercentage { background:#f06526 !important; }

body { font-family:'Roboto'; font-weight:normal; color:#000000; line-height:2.2em; letter-spacing:1px; }
:focus { outline:none; }

/* Titles */
h1 { }
h2 { }
h3 { }
h4 { }
h5 { }
h6 { }intro

/* Links */
a { }
a:visited { }
a:hover { text-decoration:none; }
a:focus { text-decoration:none; }

/* Titles */
h1 { text-transform:uppercase; font-weight:800; margin-bottom:40px; }

/* Images */
img { max-width:100%; height:auto; }
img[data-sizes="auto"] { display: block; width: 100%; }

/* Swiper */
.swiper-container .swiper-wrapper { box-sizing:border-box; }
.swiper-container .prevnext { position:absolute; top:50%; transform:translateY(-50%); z-index:2; width:35px; height:35px; font-size:24px; line-height:35px; text-align:center; }
.swiper-container .prev { left:0; background:#fff; color:#f06526; cursor:pointer; }
.swiper-container .next { right:0; background:#f06526; color:#fff; cursor:pointer; }

.swiper-container .bottom {  }
.swiper-container .bottom .title { background:#f06526; color:#fff; text-transform:uppercase; font-weight:700; font-size:26px; text-align:center; padding:20px; letter-spacing:4px; }
.swiper-container .bottom .nav { background:#5b6064; color:#fff; padding:20px 40px; display:flex; align-items:center; justify-content:space-between; }
.swiper-container .bottom .prevnext { position:static; top:auto; transform:none; background:none; color:#fff; }
.swiper-container .bottom .swiper-pagination { position:static; }
.swiper-container .bottom .swiper-pagination-bullet { width:12px; height:12px; background:#fff; margin:0 10px; opacity:1; cursor:pointer; }
.swiper-container .bottom .swiper-pagination-bullet-active { background:#f06526; }

/* Buttons */
.btn { display:inline-block; line-height:1em; cursor:pointer; transition:all 0.5s ease 0s; }
.btn.outline { border:3px solid #f06526; color:#f06526; font-weight:400; padding:15px 40px; text-transform:uppercase;  }
.btn.outline.white { border-color:#fff; color:#fff; }
.btn.filled { background:#fff; color:#f06526; font-weight:300; text-transform:uppercase; border:1px solid transparent; text-align:center; display:inline-block; padding:15px 30px; font-size:14px; }

.btn.outline:hover { background:#f06526; color:#fff; }
.btn.outline.white:hover { background:#fff; color:#f06526; }

/* Forms */
.field.textfield { margin-bottom:50px; }
.field.textfield label { position:absolute; left:30px; top:50%; transform:translateY(-50%); transition:all 0.3s ease 0s; text-transform:uppercase; font-weight:700; }
.field.textfield input { border:4px solid #fff; background:transparent; color:#fff; padding:15px 25px; text-transform:uppercase; font-weight:700; }
.field.textfield.active label,
.field.textfield.filled label { transform:translateY(0); top:-30px; left:0; }

.field.textarea label { position:absolute; left:30px; top:30px; transform:translateY(-50%); transition:all 0.3s ease 0s; text-transform:uppercase; font-weight:700; }
.field.textarea textarea { border:4px solid #fff; background:transparent; color:#fff; padding:10px 25px; text-transform:uppercase; font-weight:700; min-height:300px; }
.field.textarea.active label,
.field.textarea.filled label { transform:translateY(0); top:-30px; left:0; }

.field.submit { text-align:center; margin-top:50px; border:none; }
.field.submit .btn { font-weight:700; background:#fff; border:2px solid #fff; }
.field.submit .btn:hover { background:#f0591e; color:#fff; }

/* Hamburger */
.hamburger { padding:0; position:relative; z-index:15; display:none; }
.hamburger:focus { outline:none; }

.hide { display:none; }

/**
 * Layout
 **/
 
/* Header */
#header { display:flex; flex-direction:column; position:relative; z-index:2; }
#header .logo { max-width:300px; }

#header .primary { order:2; padding:30px 0; text-transform:uppercase; font-weight:800; }
#header .primary .container { display:flex; flex-direction:row; justify-content:space-between; align-items:center; }
#header .primary ul { list-style:none; display:flex; flex-direction:row; justify-content:flex-end; margin:0; padding:0; }
#header .primary li { margin-left:15px;  }
#header .primary a { color:#000; border:2px solid transparent; transition:all 0.3s ease 0s; padding:5px 15px; }
#header .primary li a:hover { border:2px solid #f06526; }

#header .primary li.active { position:relative;  }
#header .primary li.active:before { content:''; position:absolute; left:0; top:0; width:100%; height:120px; background:#f06526; z-index:-1; }
#header .primary li.active a { color:#fff; }

#header .secondary { order:1; background:#cccccc; font-size:12px; line-height:1.4em; font-weight:800; }
#header .secondary ul { list-style:none; display:flex; flex-direction:row; justify-content:flex-end; margin:0; padding:0; text-transform:uppercase;}
#header .secondary ul li {  }
#header .secondary a { display:flex; flex-direction:column; justify-content:center; height:100%; padding:10px 30px; }

#header .secondary .about a { background:#ececec; color:#000000; }
#header .secondary .contact a { background:#f06526; color:#fff; }
#header .secondary .recrut a { background:#5b6064; color:#fff; }
#header .secondary .facebook a { background:#304684; color:#fff; }

/* Footer */
#footer .maps { background:#5b6064; padding-top:90px; padding-bottom:90px; }
#footer .maps .row { justify-content: center; }
#footer .maps .inner { position:relative; padding-bottom:200px; transition:all 0.7s ease 0s; z-index:2; }
#footer .maps .map img { display:block; width:100%; position:relative; z-index:2; }
#footer .maps .address { background:#f0591e; color:#fff; text-align:center; position:absolute; bottom:0; width:100%; padding:80px 30px 50px 30px; z-index:2; clip-path: polygon(0 50px, 100% 0, 100% 100%, 0% 100%); -webkit-clip-path: polygon(0 20%, 100% 0, 100% 100%, 0% 100%); -moz-clip-path: polygon(0 20%, 100% 0, 100% 100%, 0% 100%); border:1px solid #f0591e; }
#footer .maps .address h3 { text-transform:uppercase; margin-bottom:0; }
#footer .maps .address p { line-height: 1.4em; }

#footer .links { background:url(../themes/personeni/assets/img/grid-bg.png) repeat left top; text-align:center; padding:60px 0; }
#footer .links .container { position:relative; }
#footer .links .row { justify-content:space-between; align-items:center; }
#footer .links .container:after { content:''; position:absolute; left:50%; top:50%; width:172px; height:196px; transform:translate(-50%, -50%); background:url(../themes/personeni/assets/img/p.png) no-repeat center center;  }
#footer .links .copyright { font-weight:300; color:#5b6064; line-height:1.6em; display:block; margin-bottom:40px; }
#footer .links ul { list-style:none; padding:0; margin:0; }
#footer .links ul a { font-size:24px; font-weight:900; color:#5b6064; }
#footer .links ul li.mentions-legales a { font-weight:300; }

/**
 * Pages
 **/
 
/* General */
.slider { background:url(../themes/personeni/assets/img/grid-bg-w.png) repeat left top; position:relative; }
.slider:before { content:''; position:absolute; left:0; bottom:0; width:100%; height:30px; background:#fff; z-index:0; }
.slider .swiper-container { padding-bottom:30px; }
.slider .bottom { position:absolute; bottom:0; z-index:2; width:90%; left:50%; transform:translateX(-50%); }


.intro { text-align:center; background:url(../themes/personeni/assets/img/grid-bg-w.png) repeat left top; }
.intro .container { background:url(../themes/personeni/assets/img/intro-bg.png) no-repeat center bottom; padding:100px 0; }
.intro h1 { text-transform:uppercase; margin-bottom:50px; }

#accueil .intro { background:none; }

#accueil .modeles { background:#5b6064; color:#fff; padding:80px 0; }
#accueil .modeles .image img { position:relative; z-index:2; }
#accueil .modeles .text { text-align:center; position:relative; }
#accueil .modeles .text h3 { width:calc(100% + 150px); text-transform:uppercase; border:5px solid #fff; font-size:70px; font-weight:900; line-height:150px; position:absolute; right:15px; bottom:-100px; z-index:1:; }
#accueil .modeles .swiper-slide { padding-bottom:100px; }
#accueil .modeles .bottom { position:static; display:flex; flex-direction:row; justify-content:space-between; max-width:350px; margin:20px auto; }

#accueil .blog { background:#e9e9e9; padding:80px 0; }
#accueil .blog .text { background:#f06526 url(../themes/personeni/assets/img/post-bg.png) no-repeat center center; color:#fff; order:1; text-align:center; padding:100px 80px 60px 80px; min-height:525px;  }
#accueil .blog .image { background:#fff; order:2; position:relative; }
#accueil .blog .image .inner { position:absolute; left:-30px; top:50%; transform:translateY(-50%); z-index:2; width:100%; }
#accueil .blog .image .inner:after { content:''; position:absolute; left:50px; top:100px; width:200px; height:200px; border-radius:50%; background:none; z-index:-1; box-shadow:-50px 0 80px rgba(0,0,0,0.5);}
#accueil .blog .title { text-transform:uppercase; font-size:36px; font-weight:900; margin-bottom:50px; }
#accueil .blog .content {line-height:1.5em; font-weight:300;  }
#accueil .blog .btn  { margin-top:50px; }


#accueil .stats { padding:80px 0; }
#accueil .stats .stat .text { color:#f0591e; text-transform:uppercase; text-align:center; position:relative;  border:6px solid #f0591e; }
#accueil .stats .stat .text b { display:block; font-size:40px; }
#accueil .stats .stat .text p { margin-bottom:0; font-size:30px; }
#accueil .stats .stat.realisations img { padding-right:50px; margin-bottom:100px; }
#accueil .stats .stat.realisations .text { position:absolute; bottom:0; right:0; padding:40px 60px 15px 60px; }
#accueil .stats .stat.experience img { padding-left:50px; margin-top:100px; }
#accueil .stats .stat.experience .text { position:absolute; left:15px; top:0; padding:15px 60px 40px 60px; }
#accueil .stats .rt { max-width:150px; margin:80px auto 0 auto; }

.shadow:after { content:''; width:calc(100% - 50px); height:100px; box-shadow:0 0 80px rgba(0,0,0,0.9); position:absolute; left:50%; transform:translateX(-50%); bottom:10px; border-radius:50%; opacity:0; transition:all 0.7s ease 0s; }
.shadow:hover .inner { transform:translateY(-10px); }
.shadow:hover:before { opacity:1; }
.shadow:hover:after { opacity:1; }

/* Accueil */
#accueil h1 { font-weight:900; text-transform:uppercase; font-size:30px; text-align:center; }
#accueil h2 { font-weight:900; text-transform:uppercase; font-size:30px; text-align:center; }
#accueil main header { text-align:center; margin-bottom:60px; }
#accueil main header h2 { margin-bottom:0; }
#accueil main header p { margin-bottom:0; font-weight:300; text-transform:uppercase; font-size:12px;  }
#accueil main header a { color:#fff;  }

/* Modeles */
#modeles .intro h1 { font-size:30px; font-weight:900; text-transform:uppercase; margin-bottom:40px; }
#modeles .modeles { padding:100px 0; }
#modeles .record { margin-bottom:30px; }
#modeles .record .text { background:#f06526; color:#fff; text-align:center; padding:20px 30px 40px 30px; }
#modeles .record h2 { font-size:30px; text-transform:uppercase; }
#modeles .record .price { font-size:16px; font-weight:300; margin:15px 0; text-transform:uppercase; }
#modeles .record .price strong { font-weight:900; }

#modele .banner { background:url(../themes/personeni/assets/img/grid-bg-w.png) repeat left top; padding:60px 0; }
#modele .banner .row { position:relative; }
#modele .banner h1 { text-align:center; margin-bottom:50px; text-transform:uppercase; font-weight:800; }
#modele .banner .text { color:#fff; padding:100px 130px 100px 80px; background:#f06526 url(../themes/personeni/assets/img/house-bg.png) no-repeat center center; }
#modele .banner .text .price { text-transform:uppercase; font-weight:700; font-size:36px; line-height:1.4em; margin-bottom:60px; }
#modele .banner .text .description { font-weight:300; line-height:1.6em; text-align:justify; }
#modele .banner .image { position:absolute; right:15px; top:50%; transform:translateY(-50%); }
#modele .plans { padding:80px 0; }
#modele .options { margin:0; }
#modele .options header { background:#f06526; color:#fff; padding:80px;  }
#modele .options header h2 { margin:0; text-transform:uppercase; font-size:38px; font-weight:800; }
#modele .options header .row { align-items:center; }
#modele .options header .right { font-weight:400; font-size:28px; text-transform:uppercase; line-height:1.6em; }
#modele .options .images-options { margin:60px 0; }
#modele .options .images-options img { margin-bottom:50px; }
#modele .options .images-combles .col-md-6 { padding:0 30px; }
#modele .options .images-combles .right { border-left:1px solid #000; }
#modele .options .images-combles h3 { text-transform:uppercase; font-weight:bold; text-align:center; font-size:30px; margin:50px 0; }
#modele .options .images-combles img { margin-bottom:60px; padding-bottom:60px; }
#modele .more { margin:80px 0; text-align:center; }
#modele .image { position:relative; }
#modele .image .print { position:absolute; z-index: 2; right:15px; bottom:15px; font-size:30px; color:#000; opacity:0; transition:all 0.5s ease 0s; }
#modele .image:hover .print { opacity:1; }


/* Terrains */
#terrains .intro { background:none; }

#terrains .search { background:#5b6064; padding:30px 0; color:#fff; font-weight:700; text-transform:uppercase;  text-align:center; font-size:26px; }
#terrains .search p { line-height:2em; }
#terrains .search span.terrain { border-bottom:2px solid #00d898; }
#terrains .search span.maison { border-bottom:2px solid #f06526; }
#terrains .search input { display:inline-block; background:none; border:none; color:#fff; text-transform:uppercase; border-bottom:1px solid #fff; line-height:1.2em; font-weight:bold; }
#terrains .search button { background:none; border:none; color:#fff; }
#terrains .search select { background:none; border:none; border-bottom:1px solid #fff; color:#fff; text-transform:uppercase; font-weight:700; }
#terrains .search option { background:#5b6064; font-size:16px;}

#terrains .results #gmap { min-height:880px; }
#terrains .results .popup { font-size:26px; text-transform:uppercase; font-weight:900; text-align:center; padding:15px 30px; }
#terrains .results .popup.maison span { color:#f06526; }
#terrains .results .popup.terrain span { color:#00d898; }
#terrains .results .popup a { display:block; font-size:12px; text-transform:none; font-weight:500; }

#terrain .galerie { padding:40px 0 60px 0; background:#e9e9e9; text-align:center; }
#terrain .galerie h2 { text-transform:uppercase; font-size:30px; font-weight:800; margin-bottom:50px;  }
#terrain .galerie .image { padding-top:40px; padding-bottom:40px; position:relative; }
#terrain .galerie .image:before { content:''; position:absolute; left:0; top:0; width:50%; height:100%; background:#f06526; z-index:-1; }
#terrain .galerie .image:after { content:''; position:absolute; right:0; top:0; width:50%; height:100%; background:#fff; z-index:-1; }
#terrain .galerie .caption { margin-top:50px; }
#terrain .galerie .swiper-container .prevnext { top:350px; transform:translateY(0); }

#terrain .more { padding:50px 0; text-align:center; }


/* Contact */
#contact .form { padding:60px 0; background:#f0591e; color:#fff; }
#contact .recrutement { padding:60px 0; background:url(../themes/personeni/assets/img/grid-bg-w.png) repeat left top; text-align:center; }
#contact .recrutement h2 { font-size:30px; text-transform:uppercase; font-weight:800; margin-bottom:50px; }
#contact .recrutement .btn { display:inline-block; padding:20px 40px; background:#fff; margin:30px 15px; color:#f0591e; font-size:30px; font-weight:800; transition:all 0.5s ease 0s; }
#contact .recrutement .btn:hover { color:#fff; background:#f0591e; }

#contact .radios { display:flex; flex-direction:row; align-items:center; border:4px solid #fff;  text-transform:uppercase; font-weight:800; margin-bottom:50px; }
#contact .radios .label { width:calc(100% - 300px); padding:15px 30px; }
#contact .radios label { width:150px; padding:23px 30px; border-left:4px solid #fff; text-align:center; }
#contact .radios label input { display:none; }
#contact .radios label span:before,
#contact .radios label span:after { display:none; }
#contact .radios .selected { background:rgba(255,255,255,0.25); }

/* Qui sommes nous */
#qui-sommes-nous .intro .container { padding-top:0; padding-bottom:0; }
#qui-sommes-nous .content { padding:50px 0; }
#qui-sommes-nous .content .paragraph-1 { text-align:center; margin-bottom:60px; }
#qui-sommes-nous .content .row { align-items:center; margin-bottom:80px; justify-content:space-between; }
#qui-sommes-nous .content .row.odd .text { text-align:left; }
#qui-sommes-nous .content .row.even .text { text-align:right; }
#qui-sommes-nous .content h2 { color:#f0591e; font-size:30px; text-transform:uppercase; font-weight:800; margin-bottom:40px; }

.legal { padding:80px 0; }
.legal table { margin:20px 0; width:100%; }
.legal table td, .legal table th { padding:10px; border:1px solid #ddd; }















/**
 * Large devices (desktops, less than 1200px)
 **/
@media (max-width: 1199px) {
  #accueil .stats .stat .text p { font-size:24px; }
}

/**
 * Medium devices (tablets, less than 992px)
 **/
@media (max-width: 991px) {
  #header .logo { max-width:200px; }
  #header .logo a { display:block; padding:0; }
  
  .slider .swiper-container { padding-bottom:35px; }
  .swiper-container .bottom .title { font-size:20px; }
  .swiper-container .bottom .nav { padding:20px 10px; }
  
  #accueil .modeles .swiper-slide { padding-bottom:0; }
  #accueil .modeles .text { display:flex; flex-direction:column; text-align:left; }
  #accueil .modeles .text h3 { font-size:30px; line-height:50px; position:static; right:auto; bottom:auto; border:none; order:1; }
  #accueil .modeles .text .description { order:2; }
  #accueil .modeles .text .bottom { order:3; width:auto; }
  
  
  #accueil .stats .stat .text { padding:15px 40px 20px 40px; border-width:4px; }
  #accueil .stats .stat .text p { font-size:20px; }
  #accueil .stats .stat .text b { font-size:30px; }
  
  #accueil .blog .text { padding:40px; display:flex; flex-direction:column; justify-content:center; }
  #accueil .blog .image .inner { left:0; }
  #accueil .blog .image .inner:after { content:none; }
  
  #qui-sommes-nous .content h2 { margin-bottom:20px; font-size:26px; }
  
}

/**
 * Small devices (landscape phones, less than 768px)
 **/
@media (max-width: 767px) {
  .hamburger { display:inline-block; }
  #header .primary .menu { position:fixed; background:#f06526; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; left:0; top:0; width:100%; height:100vh; transition:all 0.5s ease 0s; overflow:hidden; opacity:0; pointer-events:none; }
  body.open #header .primary .menu {  opacity:1; pointer-events:auto; }
  body.open #header .primary .menu li:before { content:none; }
  body.open #header .primary .menu a { color:#fff; }
  
  #header .secondary ul { justify-content:center; }
  
  .swiper-container .bottom .title { font-size:14px; padding:10px; }
  .swiper-container .bottom .nav { padding:10px; }
  .swiper-container .bottom .swiper-pagination-bullet { margin:0 5px; width:8px; height:8px; }
  
  .intro .container { padding:60px 0; }
  
  #accueil .blog .image { order:1;  }
  #accueil .blog .image img { object-fit:cover; max-height:250px; }
  #accueil .blog .text { order:2; min-height:0; padding:60px; }
  #accueil .blog .image .inner { left:0; position:static; transform:none; top:auto; }
  
  #accueil .stats .stat.realisations .text { position:static; padding:30px;}
  #accueil .stats .stat.realisations img { padding-right:0; margin-bottom:0; }
  #accueil .stats .stat.experience .text { position:static; padding:30px; }
  #accueil .stats .stat.experience img { padding-left:0; margin-top:30px; }
  
  #footer .map { margin-bottom:50px; }
  #contact .radios .label { width:calc(100% - 200px); }
  #contact .radios label { padding:40px 10px ;}
  
  #modele .banner .image { position:static; transform:none; width:100%; order:1; padding:0; }
  #modele .banner .text { order:2; padding:40px; }
}

/**
 * Extra small devices (portrait phones, less than 544px)
 **/
@media (max-width: 575px) {
  #qui-sommes-nous .content .row.even .image { order:1; }
  #qui-sommes-nous .content .row.even .text { order:2; text-align:left; }
  #contact .radios .label { width:100%; } 
  #header .secondary .container { padding-left:0; padding-right:0; }
  ;
}