@import url('https://fonts.googleapis.com/css?family=Dancing%20Script:400,500,600,700'); /* Dancing Script */

/* GLOBAL */
.f-times {
    font-family: Times, sans-serif ;
}

.menu_active_color {
    font-weight: 600;
}

.hover-opacity {
    opacity: 1;
    cursor: pointer;

    -o-transition:opacity 0.3s ease-in;
    -ms-transition:opacity 0.3s ease-in;
    -moz-transition:opacity 0.3s ease-in;
    -webkit-transition:opacity 0.3s ease-in;
    transition:opacity 0.3s ease-in;
}

.hover-opacity:hover {
    opacity: 0.5;
}

.banner_homepage {
    color: #ffffff;
    background-size: cover!important;
    padding: 350px 0 90px;
    filter: brightness(0.9);
    background: url(../images/template/background_homepage.jpg) no-repeat center;
}

.banner_news {
    color: #ffffff;
    background-size: cover!important;
    padding: 150px 0 90px;
    filter: brightness(0.9);
    background: url(../images/template/banner_news.jpg) no-repeat center;
}

.banner_contact {
    color: #ffffff;
    background-size: cover!important;
    padding: 150px 0 90px;
    filter: brightness(0.9);
    background: url(../images/template/banner_contact.jpg) no-repeat center;
}

.banner_realisation {
    color: #ffffff;
    background-size: cover!important;
    padding: 150px 0 90px;
    filter: brightness(0.9);
    background: url(../images/template/banner_realisation.jpg) no-repeat center;
}

.banner_jobs {
    color: #ffffff;
    background-size: cover!important;
    padding: 150px 0 90px;
    filter: brightness(0.9);
    background: url(../images/template/banner_jobs.jpg) no-repeat center;
}
/* FIN GLOBAL */

.dropdown {
    position: relative;
    display: inline-block;
}

.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f1f1f1;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1;
}

.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

.dropdown-content a:hover {background-color: #ddd;}

.dropdown:hover .dropdown-content {display: block;}

.dropdown:hover .dropbtn {color: #407385;}


/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

/* Chrome */
input::-webkit-inner-spin-button,
input::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin:0;
}

/* Opéra*/
input::-o-inner-spin-button,
input::-o-outer-spin-button {
    -o-appearance: none;
    margin:0
}

.card {
    border: 0;
}

.card-body {
    padding: 0;
}

.card-body div label {
    color: rgba(0,0,0,.5);
}


.critere_supp {
    border: 1px solid rgba(0,0,0,.5)!important;
}

.categorie_container {
    z-index: 20;
    padding: 0 15%;
}

@media screen and (max-width: 450px) {
    .categorie_container {
        padding: 0;
    }
}

.categorie_listing {
    text-decoration: none;
    border-bottom: 1px solid #B2B2B2;
    padding-bottom: 10px;
    cursor: pointer;
}

/* HOMEPAGE */

.bloc_category {
    height: max-content;
    min-height: 200px;
    min-width: 200px;
    max-width: 250px;
    background-color: #383f80d1;
    padding: 5%;
    cursor: pointer;

    -o-transition:background-color 0.3s ease-in;
    -ms-transition:background-color 0.3s ease-in;
    -moz-transition:background-color 0.3s ease-in;
    -webkit-transition:background-color 0.3s ease-in;
    transition:background-color 0.3s ease-in;
}

.bloc_category_realisation {
    height: max-content;
    min-height: 200px;
    min-width: 200px;
    max-width: 250px;
    background-color: #858585c7;
    padding: 5%;
    cursor: pointer;

    -o-transition:background-color 0.3s ease-in;
    -ms-transition:background-color 0.3s ease-in;
    -moz-transition:background-color 0.3s ease-in;
    -webkit-transition:background-color 0.3s ease-in;
    transition:background-color 0.3s ease-in;
}

@media screen and (max-width: 450px) {
    .bloc_category {
        width: 150px;
        height: 150px;
        min-height: 150px;
        min-width: 150px;
    }

    .bloc_category_realisation {
        width: 150px;
        height: 150px;
        min-height: 150px;
        min-width: 150px;
    }

    .bloc_category,.bloc_category_search,.bloc_category_realisation  p {
        font-size: 12px;
    }
}

.bloc_category:hover {
    background-color: #383f80;
}

.bloc_category_realisation:hover {
    background-color: #858585;
}

.bloc_category_search {
    height: max-content;
    min-height: 200px;
    min-width: 200px;
    max-width: 250px;
    background-color: #ffffff;
    padding: 5%;
    border: 2px solid #383f80d1;
    cursor: pointer;

    -o-transition:background-color 0.3s ease-in;
    -ms-transition:background-color 0.3s ease-in;
    -moz-transition:background-color 0.3s ease-in;
    -webkit-transition:background-color 0.3s ease-in;
    transition:background-color 0.3s ease-in;
}


@media screen and (max-width: 450px) {
    .bloc_category_search {
        width: 150px;
        height: 150px;
        min-height: 150px;
        min-width: 150px;
    }
}

.bloc_category_search:hover {
    background-color: #ffffffc4;
}

/* FIN HOMEPAGE */


/* test */

/*
#moteur_recherche select, #moteur_recherche input, #moteur_recherche a {
    border: 1px solid #bdc1c6;
}
*/

.listing_checkbox {
    position: relative;
    width: 1.5em;
    height: 1.5em;
    color: #363839;
    border: 1px solid #bdc1c6!important;
    border-radius: 4px;
    appearance: none;
    outline: 0;
    cursor: pointer;
    transition: background 175ms cubic-bezier(0.1, 0.1, 0.25, 1);
}

.chamber_checkbox {
    width: 2.5em;
    height: 2.5em;
}

.listing_checkbox:before {
    position: relative;
    width: 1.5em;
    height: 1.5em;
    color: #363839;
    border: 1px solid #bdc1c6;
    border-radius: 4px;
    appearance: none;
    outline: 0;
    cursor: pointer;
    transition: background 175ms cubic-bezier(0.1, 0.1, 0.25, 1);
}

.listing_checkbox:checked + .chamber_label{
    color: #fff;

}

.listing_checkbox:checked {
    color: #fff;
    border-color: #393F80;
    background: #393F80;
}

/* ALL CHECKBOX */

/*
input[type="checkbox"] {
    position: relative;
    width: 1.5em;
    height: 1.5em;
    color: #363839;
    border: 1px solid #bdc1c6;
    border-radius: 4px;
    appearance: none;
    outline: 0;
    cursor: pointer;
    transition: background 175ms cubic-bezier(0.1, 0.1, 0.25, 1);
 }

input[type="checkbox"]:before {
    position: absolute;
    content: '';
    display: block;
    top: 2px;
    left: 7px;
    width: 8px;
    height: 14px;
    border-style: solid;
    border-color: #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    opacity: 0;
}

input[type="checkbox"]:checked {
    color: #fff;
    border-color: #393F80;
    background: #393F80;
}

*/

.fw-600 {
    font-weight: 600;
}

/* FIN ALL CHECKBOX */

#share_button {
    position: relative;
    padding-bottom: 20px;
}

#share_buttons {
    display: none;
}

#share_button:hover  #share_buttons {
    padding: 15px 20px;
    box-shadow: 1px 4px 15px 1px #b3b3b3;
    display: flex;
    position: absolute;
    top: 40px;
    right: 0;
    z-index: 999;
    background-color: #fff;
}

#share_buttons a, #share_buttons span {
    margin: 0 8px;
    display: inline-block;
}

li {

    transition:margin 0.3s ease-in, padding 0.3s ease-in;
}

.list_realisations li:hover,
.list_realisations li.active {
    color: #393F80;
    font-weight: bold;

    border-bottom: 1px solid #393F80;
    padding: 0 0 2% 0;
    margin: 7% 0!important;
    font-size: 22px!important;
}

.list_realisations {
    list-style-type: none;
    padding: 0;
    cursor: pointer;
    font-size: 18px;
}

.list_realisations li {
    margin: 3% 0;
}

.list_realisations li a {
    text-decoration: none;
}


/* test */

/* The Modal (background) */
.modal-avan {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 1; /* Sit on top */
    padding-top: 100px; /* Location of the box */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgb(0,0,0); /* Fallback color */
    background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
}

/* Modal Content (image) */
.modal-avan-content {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 60%;
}

/* Caption of Modal Image */
#caption-avan {
    margin: auto;
    display: block;
    width: 80%;
    max-width: 700px;
    text-align: center;
    color: #ccc;
    padding: 10px 0;
    height: 150px;
}

/* Add Animation */
.modal-avan-content, #caption-avan {
    -webkit-animation-name: zoom;
    -webkit-animation-duration: 0.6s;
    animation-name: zoom;
    animation-duration: 0.6s;
}

@-webkit-keyframes zoom {
    from {-webkit-transform:scale(0)}
    to {-webkit-transform:scale(1)}
}

@keyframes zoom {
    from {transform:scale(0)}
    to {transform:scale(1)}
}

/* The Close Button */
.close {
    position: absolute;
    top: 15px;
    right: 35px;
    color: #f1f1f1;
    font-size: 40px;
    font-weight: bold;
    transition: 0.3s;
}

.close:hover,
.close:focus {
    color: #bbb;
    text-decoration: none;
    cursor: pointer;
}

/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px){
    .modal-avan-content {
        width: 100%;
    }
}

/* Next & previous buttons */
.prev, .next {
    cursor: pointer;
    position: absolute;
    top: 50%;
    width: auto;
    padding: 16px;
    margin-top: -22px;
    color: white!important;
    background-color: #826AB0;
    font-weight: bold;
    font-size: 18px;
    transition: 0.6s ease;
    border-radius: 0 3px 3px 0;
    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);
}

.container_realisation img {
    -o-transition:filter 0.3s ease-in;
    -ms-transition:filter 0.3s ease-in;
    -moz-transition:filter 0.3s ease-in;
    -webkit-transition:filter 0.3s ease-in;
    transition:filter 0.3s ease-in;
}

.container_realisation img:hover {
    filter: brightness(0.5);
    cursor: pointer;
}

.control-realisations {
    width: 2%;
    height: 11%;
    background: #393F80;
    margin: auto;
}

#contact {
    background-color: #E9EAEA;
}

/* test */

@media only screen and (max-width: 450px){
    .table td, .table th {
        padding: 11px;
        display: inline-block;
    }
    .table th {
        padding: 10px;
        font-size: 12px;
    }
}

@media only screen and (max-width: 375px){
    .table td, .table th {
        padding: 10px;
        display: inline-block;
    }
    .table th {
        padding: 9px;
        font-size: 12px;
    }
}

@media only screen and (max-width: 360px){
    .table td, .table th {
        padding: 9px;
        display: inline-block;
    }
    .table th {
        padding: 8px;
        font-size: 12px;
    }
}

.tp-banner {
    height: 100%!important;
}