/* --------- GENERAL ------------*/
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html, body {
    height: 100%;
    width: 100%;
}

a.text-decoration-none {
    list-style: none;
    text-decoration: none;
}


/*------------ POP uP messages --------------*/


#div_id_message input.form-control.textinput {
    min-height: 80px !important;
}

#div_id_email input.form-control.textinput,
#div_id_subject input.form-control.textinput,
#div_id_message input.form-control.textinput {
    min-width: 250px !important;
}

.bouton-modal {
    transition: transform 0.3s ease; /* pour une animation fluide */
}

.bouton-modal:hover {
    cursor: pointer;
    transform: scale(1.05) !important; /* 5% plus grand */
}

.modal-contact {
    border-radius: 30px !important;
}

/* Cible les tooltips Bootstrap */
.tooltip-inner {
    background-color: white !important;
    color: #333 !important;
    padding: 1rem !important;
    margin: 1rem 1rem 0 1rem !important;
    text-align: center;
    max-width: 250px;
    border: 1px solid #ccc;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

/* Triangle du tooltip (la petite flèche) */
.tooltip.bs-tooltip-top .tooltip-arrow::before {
    border-top-color: white !important;
}

.tooltip.bs-tooltip-bottom .tooltip-arrow::before {
    border-bottom-color: white !important;
}

.tooltip.bs-tooltip-start .tooltip-arrow::before {
    border-left-color: white !important;
}

.tooltip.bs-tooltip-end .tooltip-arrow::before {
    border-right-color: white !important;
}

.tooltip-inner {
    background-color: white !important;
    color: black !important;
}

input[name="honeypot"] {
    display: none !important;
}

/*------------ FONTS --------------*/


h1, h2, h3, h4, h5, h6, p {
    font-family: "Lato", sans-serif;
}

#simulator label {
    font-family: "Lato", sans-serif;
    font-weight: 600;
    font-style: italic;
}


.lato-thin {
    font-family: "Lato", sans-serif;
    font-weight: 100;
    font-style: normal;
}

.lato-light {
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-style: normal;
}

.lato-regular {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.lato-bold {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-style: normal;
}

.lato-black {
    font-family: "Lato", sans-serif;
    font-weight: 900;
    font-style: normal;
}

.lato-thin-italic {
    font-family: "Lato", sans-serif;
    font-weight: 100;
    font-style: italic;
}

.lato-light-italic {
    font-family: "Lato", sans-serif;
    font-weight: 300;
    font-style: italic;
}

.lato-regular-italic {
    font-family: "Lato", sans-serif;
    font-weight: 400;
    font-style: italic;
}

.lato-bold-italic {
    font-family: "Lato", sans-serif;
    font-weight: 700;
    font-style: italic;
}

.lato-black-italic {
    font-family: "Lato", sans-serif;
    font-weight: 900;
    font-style: italic;
}

/*--------- COLORS -------------*/

.text-blue {
    color: deepskyblue;
}

.text-gray {
    color: #bebdbd !important;
    font-size: 12px !important;
}

#loader {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    z-index: 9999;
}

.centrage-col {
    margin-left: auto;
    margin-right: auto;
}

html {
    margin-bottom: 0;
}

.text-red {
    color: #FF324D;
}

.text-green {
    color: green;
}

.text-white {
    color: #FFFFFF;
}

.bg-popup {
    background-image: radial-gradient(circle at 30% 30%, rgba(68, 156, 62, 1) 40%, rgba(255, 208, 4, 0.6) 70%, rgba(192, 207, 4, 0.4) 100%);
}

.bg-form {
    background-color: #bacfd2;
}

.bg-red {
    background-color: #FF324D;
}

.bg-gray {
    background-color: #b2afaf;
}

.bg-gray-dark {
    background-color: #565252 !important;
}

.color-gray {
    color: #565252 !important;
}

.centrage-col-2 {
    width: 100%;
    margin-left: 0;
    margin-right: auto;
}

.form-group-perso {
    background: #bacfd2;
    padding: 30px;
    color: black;
    border-radius: 5px;
    margin: 2px;
    font-size: 20px;
}

.button-up {
    position: relative;
    padding: 5px;
    top: 85px;
    color: white;
    margin-left: auto;
    margin-right: auto;
    width: 70px;
    background-color: #FF324D;
    border-radius: 50px;
}

.button-up:hover {
    background-color: rgba(255, 50, 77, 0.89);
}


/*---------- slider home project -----------*/

.row-slider-info-home {
    width: 100%;
    height: auto;
    min-height: 300px
}

.row-slider-name {
    width: 100%;
}

.slider-title {
    margin-left: 0;
    margin-right: 30px;
}

.bouton-Accompagner {
    width: 120px;
}

.slider-name {
    color: #FFF;
}

.col-slider {
    width: 200px;
}

.text-intitule-slider {
    height: 100%;
    min-height: 70px;
    margin-left: 0;
}

.text-footer-slider {
    height: 100%;
    min-height: 130px;
    padding: 5px;
}

.img-slider {
    min-height: 120px;
}

.slider-arrow {
    width: 10px;
    position: relative;
    top: -125px;
    right: 15px;
    z-index: -1;
}

.icon-plus {
    margin-right: 20px;
    margin-left: 20px;
}

.text-bouton-slider {
    color: white;
}

.text-bouton-slider:hover {
    color: red;
}

.with-card-slider-info {
    width: 160px
}

@media (max-width: 500px) {
    .bouton-Accompagner {
        width: 40px;
    }

    .text-bouton-slider {
        writing-mode: vertical-rl; /* texte vertical de haut en bas */
        transform: rotate(180deg); /* facultatif : pour que le texte soit orienté vers le haut */
    }

    .slider-title {
        margin-left: 10px;
        width: 270px;
    }

    .slider-name-sm {
        justify-content: start !important;
    }

}


/*----------showcase--------------------*/

.showcase .showcase-text {
    padding: 3rem
}

.showcase .showcase-img {
    min-height: 30rem;
    background-size: cover
}

.hidden-pc {
    display: none;
}

@media (min-width: 768px) {
    .showcase .showcase-text {
        padding: 7rem
    }


}

.custom-masthead {
    background-blend-mode: overlay;
}

.list-inline-item a img {
    transition: transform 0.3s ease-in-out; /* Animation fluide */
}

.list-inline-item a:hover img {
    transform: scale(1.2); /* Zoom à 120% */
}

.title-color {
    color: rgb(39, 102, 177);
}

.divider {
    width: 200px;
    height: 2px;
    background-color: #d82c2e;
    margin: 0 auto 20px;
}


/*------------button get-started ---------------*/

.btn {
    font-family: 'Roboto', serif;
    font-weight: 400;
    border-radius: 5px;
}

.section-title {
    padding-bottom: 40px;
    margin: 0 0 0 50px;
}

.section-title-infos {
    padding-bottom: 40px;
}

.section-title h2 {
    font-size: 14px;
    font-weight: 500;
    padding: 0;
    line-height: 1px;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: #aaaaaa;
    font-family: "Poppins", sans-serif;
}

.section-title h2::after {
    content: "";
    width: 120px;
    height: 1px;
    display: inline-block;
    background: #1acc8d;
    margin: 4px 10px;
}

.section-title p {
    margin: 0;
    font-size: 36px;
    font-weight: 700;
    text-transform: uppercase;
    font-family: "Poppins", sans-serif;
    color: rgb(39, 102, 177);
}

.title-content-title-home {
    max-width: 90%;
    font-size: 20px;
    text-align: justify;
    margin-bottom: 30px;
}

body {
    overflow-x: hidden;
}


/* --------------button btn-fill-out----------------- */

.btn {
    border-width: 1px;
    cursor: pointer;
    line-height: normal;
    padding: 12px 35px;
    text-transform: capitalize;
    transition: all 0.3s ease-in-out;
}

.btn-fill-out {
    background-color: transparent;
    border: 1px solid #FF324D;
    color: #fff;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.btn-fill-out::before,
.btn-fill-out::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    background-color: #FF324D;
    z-index: -1;
    transition: all 0.3s ease-in-out;
    width: 51%;
}

.btn-fill-out::after {
    right: 0;
    left: auto;
}

.btn-fill-out:hover:before,
.btn-fill-out:hover:after {
    width: 0;
}

.btn-fill-out:hover {
    color: #FF324D !important;
    background: #e6dbdb;
}

.btn-light {
    background-color: #d0d1d4;
    border: solid 1px gray
}

.img-change {
    background: #fff;
}


.img-change:hover {
    background: orange;
    border: solid 1px gray;
}


.btn-light:hover {
    color: white;
    background-color: #3c3d41;
    border: solid 1px white;
}

.text-outline {
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}


.after-icons:hover {
    color: #0d2735;
}


/* ------------------------------------------------
-----------------  Page INDEX -------------------
--------------------------------------------------*/

.card_content {
    background-image: linear-gradient(135deg, rgba(19, 136, 67, 2), rgba(92, 131, 115, 0));
    color: #1d2945;
    min-height: 750px;
    max-width: 600px;
}

.content_img {
    width: 200px;
    height: 200px;
    object-fit: cover;
    border: 5px solid white;
}

.container-icon-change {
    min-height: 100px !important;
}

.service-description {
    text-align: justify;
}

@media (max-width: 800px) {
    .content_img {
        width: 150px;
        height: 150px;
        object-fit: cover;
        border: 5px solid white;
    }

    .cache {
        display: none;
    }

}

#header-background {
    background: url("../../assets/img/clipboard-image.png") no-repeat center;
    background-size: cover;
}

.icon-plus-change-photo {
    padding: 0;
    border-radius: 10px;
    max-width: 300px;
}

#header-home {
    background-image: url(../../assets/img/clipboard-image.png);
}

#header-home-container {
    width: 70%;
}

#header-background {
    padding: 20px;
}

.card-body {
    min-height: 270px;
}


.card-body-email-confirm {
    min-height: 250px;
}

#testimonials,
#section-header {
    background: url("../../assets/img/panneaux-solar.svg") no-repeat;
    background-position: center;
    background-size: cover;
}

.card-footer {
    padding-bottom: 5px;
    margin: 0;
    padding: 0;
    border: none;
    background-color: transparent;
}

.btn-bottom-right {
    position: absolute;
    bottom: 15px;
    right: 15px;
}

.text-bg-header {
    position: relative;
    width: 100%;
    min-height: 100px;
    height: auto;
    background-image: url("data:image/svg+xml,\
        <svg xmlns='http://www.w3.org/2000/svg' width='400' height='200'>\
            <text x='50%' y='35%' font-size='220' fill='rgba(0,0,0,0.1)' text-anchor='middle' dominant-baseline='middle'>ARA</text>\
        </svg>");
    background-size: cover;
    background-repeat: no-repeat;
}


.card-text {
    text-align: justify;
}

.row-title {
    background-color: #FFFFFF !important;
}

.row-title-page {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
}

.section-bg {
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url('/static/assets/img/clipboard-image-1.png');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed; /* optionnel : effet de parallaxe */
    color: white;
}


.counters {
    height: 100%;
    min-height: 300px;
    color: white !important;
    align-items: center;
}

.counters-number {
    color: orange;
}

.img-card {
    height: 300px;
    object-fit: cover;
}


@media (max-width: 1235px) {
    /* Appliquer seulement en version mobile */
    .buttons-services {
        display: flex;
        flex-direction: column; /* Met les boutons en colonne */
        gap: 10px; /* Espacement entre les boutons */
        align-items: center; /* Centre les boutons */
    }

    .buttons-services .btn {
        width: 70%; /* Les boutons prennent toute la largeur */
    }
}

@media (max-width: 700px) {
    .img-card {
        height: 400px; /* Hauteur réduite sur mobile */
    }

    .card-body {
        height: auto;
    }

}


/* ------------------------------------------------
-----------------  Page CONTACT -------------------
--------------------------------------------------*/

#header-background-contact {
    background: url("../../assets/img/clipboard-image.png") no-repeat center;
    background-size: cover;
}

#header-contact {
    background-image: url("../../assets/img/clipboard-image.png");
}

#header-contact-container {
    width: 70%;
}

#header-background-contact {
    padding: 20px;
}

.container-iframe {
    width: 85%;
}

@media (max-width: 991px) {
    #header-background-contact,
    #header-background {
        padding: 5px;
    }

    .section-title {
        padding-bottom: 40px;
        margin: 0 0 0 3px;
    }

    .form-row {
        max-width: 380px;
    }

    #contact {
        padding: 10px;
    }

    #header-home-container {
        width: 100%;
    }

    .container-iframe {
        max-width: 370px;
    }

    .address, .email, .phone {
        text-align: center;
    }

    .address {
        margin-top: 30px
    }

    .row-title-page {
        max-width: 100%;
    }

    #card-home {
        min-height: 800px;
    }

    .space-navbar {
        margin-top: 20px;
    }
}


/* -----------------------------------------------
----------------- Page account -------------------
--------------------------------------------------*/
#tab2 .tr {
    max-width: 100px;
}


.form-account {
    border: solid 1px gray;
    padding: 0 30px 30px 30px;
    border-radius: 5px;
}

.form-account-details {
    border: solid 1px gray;
    padding: 0 30px 30px 30px;
    border-radius: 5px;
    height: 180px;
    width: 100%;
}


.container-contact-form {
    margin-top: -25px;
    padding-top: 0;
}

.company {
    position: relative;
    font-size: 30px;
    top: -33px;
    background-color: white;
    padding: 10px;
}

.identify {
    position: relative;
    font-size: 30px;
    top: -33px;
    background-color: white;
    padding: 10px;
}

.identify-geo-tel {
    position: relative;
    font-size: 25px;
    top: -29px;
    background-color: white;
    padding: 10px;
}

.identify-geo {
    position: relative;
    font-size: 25px;
    top: -31px;
    background-color: white;
    padding: 10px;
}

.table-bg-message {
    border: solid 10px #a5e3f6;
    border-radius: 10px !important;
}

.tab-head-infos-account {
    width: 23%;
}

.tab-infos-account {
    width: 20%;
}

.text-add-installation {
    width: 200px;
    height: 40px;
    color: black;
    background-color: #ecce90;
    text-decoration: none;
    padding: 20px;
}

.text-add-installation:hover {
    background-color: #eac373;
}

#account .nav-link {
    border: solid 1px #a4b0bb;
}

.accordion-button {
    background-color: white;
}

.accordion-button:hover {
    background-color: #f3e4e4;
}

/* -----------------------------------------------
------------- Page détails projects---------------
--------------------------------------------------*/

.container-description-installation {
    color: #FFFFFF;
    background-color: #8aa15f;
    padding: 20px;
}

.container-description-folder {
    color: #FFFFFF;
    background-color: lightslategray;
    padding: 20px;
}

.container-description-link {
    color: black;
}

.block {
    height: 90px;
    width: 100%;
    padding: 10px;
}

.container-description-link .block1 {
    background-color: #ecb21b;
}

.container-description-link .block2 {
    background-color: #ecce90;
}

.container-description-link a {
    text-decoration: none;
}

.container-description-link .block2:hover {
    background-color: #eac373;
}


/* -----------------------------------------------
------------- Page FORMULAIRE-PANNE---------------
--------------------------------------------------*/

.form-post-problem {
    border: solid 1px gray;
    padding: 20px;
    background-color: wheat;
}

.limit-width {
    width: 70%;
}

.limit-width-form {
    width: 50%;
}

@media (max-width: 991px) {
    .form-post-problem {
        padding: 10px;
    }

    .limit-width-form {
        width: 100%;
    }
}

/* -----------------------------------------------
--------- Page NOTIFICATIONS ADMIN ALL------------
--------------------------------------------------*/

.destinataire-modal-notification {
    border: solid 1px darkgrey;
    width: 100%;
    border-radius: 5px;
    padding: 10px;
    background-color: white;
}

#modalCustomerTitle {
    width: 100%;
}


/* Style de la barre de défilement pour qu'elle soit plus élégante */
.table-wrapper::-webkit-scrollbar {
    width: 8px;
}

.table-wrapper::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 10px;
}

.table-wrapper::-webkit-scrollbar-track {
    background-color: rgba(0, 0, 0, 0.05);
}

/* Limite la hauteur des tableaux et ajoute une barre de défilement */
.table-wrapper {
    max-height: 600px; /* Ajustez la hauteur selon vos besoins */
    overflow-y: auto; /* Barre de défilement verticale */
}

.help-scroll {
    max-height: 800px;
}

.btn-light-perso {
    padding: 10px;
    background: #FF324D;
    color: white;
}

.btn-light-perso:hover {
    padding: 10px;
    background: white;
    border: #FF324D;
    color: #FF324D;
}

/*--------------------------------------------------------------
# ----------------------    Page news  -------------------------
--------------------------------------------------------------*/

.bg-news {
    background-color: #eee8e8;
}

.blog {
    padding: 40px 0 20px 0;
}

.blog .entry {
    padding: 30px;
    margin-bottom: 60px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.blog .entry .entry-title {
    font-size: 28px;
    font-weight: bold;
    padding: 0;
    margin: 0 0 20px 0;
}

.blog .entry .entry-title a {
    color: #32627b;
    transition: 0.3s;
}

.blog .entry .entry-title a:hover {
    color: #68A4C4;
}

.blog .entry .entry-meta {
    margin-bottom: 15px;
    color: #dddddd;
}

.blog .entry .entry-meta ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0;
}

.blog .entry .entry-meta ul li + li {
    padding-left: 15px;
}

.blog .entry .entry-meta i {
    font-size: 14px;
    padding-right: 4px;
}

.blog .entry .entry-meta a {
    color: #aaaaaa;
    font-size: 14px;
    display: inline-block;
}

.blog .entry .entry-content p {
    line-height: 24px;
}

.blog .entry .entry-content .read-more {
    -moz-text-align-last: right;
    text-align-last: right;
}

.blog .entry .entry-content h3 {
    font-size: 22px;
    margin-top: 30px;
    font-weight: bold;
}

.blog .entry-single {
    margin-bottom: 30px;
}

.blog .sidebar {
    padding: 30px;
    margin: 0 0 60px 20px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.blog .sidebar .sidebar-title {
    font-size: 20px;
    font-weight: 700;
    padding: 0 0 0 0;
    margin: 0 0 15px 0;
    color: #32627b;
    position: relative;
}

.blog .sidebar .sidebar-item {
    margin-bottom: 30px;
}

.blog .sidebar .recent-posts .post-item + .post-item {
    margin-top: 15px;
}

.blog .sidebar .recent-posts img {
    width: 80px;
    float: left;
}

.blog .sidebar .recent-posts h4 {
    font-size: 15px;
    margin-left: 95px;
    font-weight: bold;
}

.blog .sidebar .recent-posts h4 a {
    color: #0d2735;
    transition: 0.3s;
}

.blog .sidebar .recent-posts h4 a:hover {
    color: #68A4C4;
}

.blog .sidebar .recent-posts time {
    display: block;
    margin-left: 95px;
    font-style: italic;
    font-size: 14px;
    color: #72afce;
}

@media (max-width: 991px) {
    .sidebar {
        margin-left: 0 !important;
    }

}

/*--------------------------------------------------------------
# ----------------------    Page Success  ----------------------
--------------------------------------------------------------*/

.img-success {
    width: 200px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}

/*--------------------------------------------------------------
# ---------------    Page Form Simulator  ----------------------
--------------------------------------------------------------*/
.center-content {
    display: flex;
    flex-direction: column;
    justify-content: center;
}


.result-simul {
    border: 1px solid gray;
    border-radius: 10px;
    padding: 10px;
    background-color: #FF9800;
}

.title-simul {
    font-size: 25px !important;
}

/* Forcer la carte à faire au moins 300px de haut en mobile */
#map {
    min-height: 300px;
}

.content-chart {
    height: 300px;
}


@media (max-width: 700px) {
    .card-form-simulator {
        max-width: 100%;
    }

    .hidden-sm {
        display: none;
    }

    .center-content-option {
        margin-top: 100px;
    }
}

/* Sur desktop seulement, ton centrage vertical à 100vh */
@media (min-width: 992px) {
    .full-height {
        height: 100vh;
    }

    .center-content {
        height: 100vh;
    }

    #map {
        height: 50vh; /* 50% de la hauteur de la fenêtre */
        min-height: 300px; /* ou un minimum fixe */
    }

    .content-chart {
        height: 250px;
    }

}

/* ------Page synthèse simulation ------*/

.mini-card-synthese {
    min-height: 160px;
}

.results-synthese {
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
}

/* ------Page synthèse simulation administrator ------*/

#synthese-admin h4, h5, h6 {
    margin-bottom: 0.5rem;
}

#synthese-admin .result-simul {
    font-size: 1.00rem;
    font-weight: bold;
}

#synthese-admin .synthese-section {
    margin-top: 20px;
    margin-bottom: 20px;
}

#synthese-admin .table-summary td {
    padding: 6px 12px;
}

#synthese-admin .table-summary .td-1 {
    width: 300px;
}

#synthese-admin .table-summary .td-2 {
    width: 200px;
}

#synthese-admin .logo {
    width: 100px;
    height: 100px;
    margin-left: auto;
    margin-right: auto;
}

/* ------Page questions détails ------*/

#questions-details .col-description {
    align-items: stretch;
    justify-content: flex-start;
    min-height: 500px;
    height: 100%;
}

#questions-details .message-container {
    border: #FF324D 1px solid;
    padding: 10px;
    border-radius: 10px;
    min-height: 350px;
    height: 100%;
}

/* ------Page help ------*/

.help-section {
    transition: opacity 0.3s ease;
}

.help-section[style*="display: none"] {
    opacity: 0;
}

.help-section[style*="display: block"] {
    opacity: 1;
}

/* ------Page download ------*/

.icon-hover-grow {
    transition: transform 0.15s ease, color 0.15s ease;
}

.icon-hover-grow:hover {
    transform: scale(1.25);
    color: #0d6efd; /* Couleur Bootstrap primaire */
}
