/* Nouvelle feuille de style Tabourat */
/* Auteur: eev | aae */
/* 2024 */

/* Basic */
html,
body {width:100%; height:100%}
body {font-family: "Source Sans Pro", sans-serif}
img {pointer-events: none}
.thumb img {pointer-events: all}
a {color: #752025}
a:hover {color: #752025}
.text-vertical-center {display: table-cell; text-align: center; vertical-align: middle}
.text-vertical-center h1 {margin: 0; padding: 0; font-size: 4.5em; font-weight: 700}

/* Button */
.btn-primary {background-color: #c24850 !important; border: #c24850 !important}
.btn-primary:hover {background-color: #752025!important; border: #752025 !important}

/* Typography */
.title {font-weight: 600; color: #C24850; font-size: 36px; text-align: center}
.title_normal {font-weight: 400; color: #C24850; font-size: 32px; text-align: center; margin-bottom: 30px}
.title_small {color: #c24850; font-size: 24px; text-align: left; font-weight: 600}
.lead {font-size: 16px !important}
.center {text-align: center}

/* Custom Horizontal Rule */
hr.small {max-width: 100px}

/* About */
.about {padding: 50px 0; background-color: #F7F7F7}

/* Services */
.services {padding: 50px 0; background-color: #F7F7F7; margin-top: -100px}
.service-item {margin-bottom: 30px}

/* Portrait */
#portrait {width: 200px; height: 200px; border-radius: 100px; margin: 20px auto}
#portrait-2 {margin: 25px auto; width: 100%; pointer-events:all}

/* Flexbox portraits */
.flexbox-portraits {display: flex; flex-wrap: wrap; width: 100%; justify-content: space-between; align-items: center; gap: 15px}
.flexbox-portraits > div {width: 280px; text-align: center}

/* Prestations */
.flex-container {display: flex; flex-wrap: wrap; justify-content: center; padding-top: 25px}
.box {background-color: white; border-radius: 10px; padding: 35px; text-align: center; margin-bottom: 30px}
#left {margin-right: 15px}
#right {margin-left: 15px}

/* Callout */
.callout {display: table; width: 100%; height: 400px; color: #fff; background: url(../img/callout.jpg) no-repeat center center scroll; -webkit-background-size: cover; -moz-background-size: cover; background-size: cover; -o-background-size: cover}

/* Portfolio */
.portfolio {padding: 50px 0}
.portfolio-item {margin-bottom: 30px}
.img-portfolio {margin: 0 auto}
.img-portfolio:hover {opacity: 0.8}
.gallery_product {margin-bottom: 25px}
.select_portfolio {text-align: center; margin-bottom: 25px}

/* Call to Action */
.call-to-action {padding: 50px 0}
.call-to-action .btn {margin: 10px}

/* Map */
#map {padding-top: 100px; padding-bottom: 50px}
.map {height: 500px}
.map iframe {pointer-events: none}

/* Footer */
footer {padding: 50px 0 20px 0; background-color: #c24850; color: white}
#to-top {display: none; position: fixed; bottom: 5px; right: 5px}

/* Slideshow */
.slideshow {margin-top: 100px}
.slideshow-caption {position: absolute; right: 15%; bottom: 30%; left: 15%; z-index: 10; padding-left: 10%; padding-right: 10%; padding-top: 20px; padding-bottom: 0px; color: #fff; text-align: center; font-weight: bold; font-size: 60px; text-shadow: 4px 4px 4px #000}

/* Intro Mobile */
.img_intro {margin-top: 100px; margin-bottom: 50px}

/* Header */
.top_header {top: 0; width: 100%; height: 100px; background: #fff; box-shadow: 0px 10px 8px rgba(0, 0, 0, 0.2); position: fixed; z-index: 100}
.flex-header {display: flex; flex-wrap: nowrap}
.header-box1 {text-align: left; margin-right: -340px}
.header-box2 {font-weight: 600; color: #C24850; font-size: 26px; margin: 30px auto 0 auto}
.header-box3 {text-align: left}
#logo {width: 370px; padding-left: 20px; margin-bottom: -100px; margin-top: -30px}

/* Side Menu */
#sidebar-wrapper {z-index: 1000; position: fixed; right: 0; top: 0px; width: 250px; height: 100%; transform: translateX(250px); overflow-y: auto; background: #c24850; opacity: 0.9; -webkit-transition: all 0.4s ease 0s; -moz-transition: all 0.4s ease 0s; -ms-transition: all 0.4s ease 0s; -o-transition: all 0.4s ease 0s; transition: all 0.4s ease 0s}
.sidebar-nav {position: absolute; top: 0px; width: 250px; margin: 0; padding: 0; list-style: none; z-index: 1000}
.sidebar-nav li {text-indent: 20px; line-height: 40px}
.sidebar-nav li a {display: block; text-decoration: none; color: #999}
.sidebar-nav li a:hover {text-decoration: none; color: #fff; background: #752025}
.sidebar-nav li a:active,
.sidebar-nav li a:focus {text-decoration: none}
.sidebar-nav > .sidebar-brand {height: 55px; font-size: 18px; line-height: 55px;}
.sidebar-nav > .sidebar-brand a {color: #fff}
.sidebar-nav > .sidebar-brand1 a {color: #fff; border-top: solid thin #752025}
.sidebar-nav > .sidebar-brand2 a {color: #fff; padding-left: 30px; font-size: 16px; border-top: solid thin #752025}
.sidebar-nav > .sidebar-brand3 a {background-color: #fff; font-size: 18px; font-weight: bold; color: #752025; border-top: solid thin #752025}
.sidebar-nav > .sidebar-brand a:hover {background: #752025}
#menu-toggle {z-index: 1; position: fixed; top: 26px; right: 0; background: #c24850; border-color: #c24850; width: 44px; height: 44px; font-size: 30px; padding: 0;}
#menu-close {width: 44px; height: 44px; font-size: 24px; font-size: 30px; padding: 2px 0; margin-top: 30px; float: right}
#sidebar-wrapper.active {right: 250px; width: 250px; -webkit-transition: all 0.4s ease 0s; -moz-transition: all 0.4s ease 0s; -ms-transition: all 0.4s ease 0s; -o-transition: all 0.4s ease 0s; transition: all 0.4s ease 0s}
.toggle {margin: 5px 5px 0 0}

/* Parallax */
.parallax {margin-top: 100px; min-height: 50%; margin-bottom: 100px; background-attachment: fixed; background-position: 0% 100%; background-repeat: no-repeat; background-size: cover; background-position-x: center}
#construction {background-image: url("../images/construction.jpg")}
#entreprises {background-image: url("../images/entreprise2.jpg")}
#particuliers {background-image: url("../images/domotique.jpg")}
#collectivites {background-image: url("../images/collectivites.jpg")}
#presentation {background-image: url("../images/presentation.jpg")}
#agility {background-image: url("../images/agility.jpg")}
.intro {right: 15%; bottom: 30%; left: 15%; z-index: 10; padding-left: 10%; padding-right: 10%; padding-top: 12%; padding-bottom: 0px; color: #fff; text-align: center; font-weight: bold; font-size: 60px; text-shadow: 4px 4px 4px #000}

/* Animation */
.anime {width: 100%; background: #276A8F; color: white; font-size: 24px; font-weight: 600; text-align: center; padding: 25px; margin-top: 100px}
.value {text-align: left; width: 320px; margin-left: auto; margin-right: auto}

/* Accordion */
.entreprises1, .entreprises2, .entreprises3, .particuliers1, .particuliers2, .particuliers3, .collectivites1, .collectivites2, .collectivites3 {color: var(--mediumblue); font-weight: 600; margin: 20px 0; background-color: white; cursor: pointer; width: 100%; border: none; text-align: left; outline: none}
.panel {display: none; background-color: white; overflow: hidden}

/* Lightbox */
.row > .column {padding: 0 8px}
.row:after {content: ""; display: table; clear: both}

/* Create four equal columns that floats next to eachother */
.column {float: left; width: 25%}

/* The Modal (background) */
.modal {display: none; position: fixed; z-index: 1; padding-top: 100px; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: black; top: 100px}

/* Modal Content */
.modal-content {position: relative; background-color: #fefefe; margin: auto; padding: 0; width: 90%; max-width: 1200px}

/* The Close Button */
.close {color: white; position: absolute; top: 10px; right: 25px; font-size: 35px; font-weight: bold;}
.close:hover,
.close:focus {color: #999; text-decoration: none; cursor: pointer}

/* Hide the slides by default */
.mySlides {display: none}

/* Next & previous buttons */
.prev,
.next {cursor: pointer; position: absolute; top: 25%; width: auto; padding: 16px; color: #c24850 !important; font-weight: bold; font-size: 40px; transition: 0.6s ease; border-radius: 0 3px 3px 0; user-select: none; -webkit-user-select: none}

/* Position the "next button" to the right */
.next {right: 0; border-radius: 3px 0 0 3px}

/* On hover, add a black background color with a little bit see-through */
.prev:hover,
.next:hover {background-color: rgba(0, 0, 0, 0.8)}

/* Number text (1/3 etc) */
.numbertext {color: #f2f2f2; font-size: 12px; padding: 8px 12px; position: absolute; top: 0}

/* Caption text */
.caption-container {text-align: center; background-color: black; padding: 40px 16px; font-size: 20px; color: white}
img.demo {opacity: 0.6}
.active,
.demo:hover {opacity: 1}
img.hover-shadow {transition: 0.3s}
.hover-shadow:hover {box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)}

/* Scroll */
#scroll {position: fixed; right: 10px; bottom: 10px; cursor: pointer; width: 50px; height: 50px; background-color: #c24b50; text-indent: -9999px; display: none; -webkit-border-radius: 60px; -moz-border-radius: 60px; border-radius: 60px}
#scroll span {position: absolute; top: 50%; left: 50%; margin-left: -8px; margin-top: -12px; height: 0; width: 0; border: 8px solid transparent; border-bottom-color: #ffffff}
#scroll:hover {background-color: #752025; opacity: 1; filter: "alpha(opacity=100)"; -ms-filter: "alpha(opacity=100)"}

/* Références Galery */
.flexbox {display: flex; flex-wrap: wrap; justify-content: center}
.thumb {width: 200px; padding: 10px}
.thumb img {opacity: 0.8; cursor: pointer}
.thumb img:hover {opacity: 1}
.row:after {content: ""; display: table; clear: both}
.container-img {position: fixed; top: 10%; left: 25%; width: 50%; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2);}

/* Expanding image text */
#imgtext {position: absolute; bottom: 15px; left: 15px; color: white; font-size: 20px}
  
/* Closable button inside the expanded image */
.closebtn {position: absolute; top: 25px; right: 50px; color: white; font-size: 40px; cursor: pointer}

/* Teaser Job */
.call-job {width: 600px; display: none; text-align: center; position: relative; top: -200px; left: 0; margin: 0 auto; opacity: 0; transition: top 0.25s ease-out, opacity 0.25s ease-out; z-index: 2000}
.call-job.show {display: block; top: 50px; opacity: 1}
.call-job a:hover {cursor: pointer}
.teaser-job {position:absolute; padding-right:1rem !important; background-color:#c24850; color:white; border:0; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4);}
.teaser-job h2 {font-weight:600}
.teaser-job h4 {font-weight:600}
.teaser-job a {font-weight:600; color: black}

/* Flexbox portraits */
.flexbox-portraits {display: flex; flex-wrap: wrap; width: 100%; justify-content: center; align-items: flex-start; gap: 25px}
.flexbox-portraits > div {width: 280px; text-align: center}

/* Mediaqueries */
.desktop {display: block}
.mobile {display: none}

@media screen and (max-width: 320px) {
#logo {width: 240px;}
}
@media screen and (max-width: 768px) {
.prev, .nect {top: 20%}
#logo {width: 300px}
.map {height: 75%}
}
@media screen and (max-width: 525px) {
.container-img {width: 100%; left: 0; top: 15%}
.thumb {width: 280px}
}
@media screen and (max-width: 600px) {
.call-job {width:100%}
}
@media screen and (max-width: 629px) {
.flexbox-portraits > div {width: 200px}
}
@media screen and (max-width: 812px) {
.desktop {display: none}
.mobile {display: block}
.slideshow-caption {font-size: 24px; text-shadow: 2px 2px 2px #000; padding-left: 0; padding-right: 0}
.intro {padding-top: 25%; font-size: 24px; padding-top: 15%}
}
@media screen and (max-width: 1085px) {
.header-box2 {display: none}
.flex-container {margin: 0 30px}
.box {width: 100%}
#first {margin-right: 0}
}
@media screen and (max-width: 1440px) {
.header-box1 {margin-right: 0}
}
