/*
Theme Name: Avada Child
Description: Child theme for Avada theme
Author: ThemeFusion
Author URI: https://theme-fusion.com
Template: Avada
Version: 1.0.0
Text Domain:  Avada
*/

/*===Custom CSS===*/
/*=Global variables=*/
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&display=swap');

:root {
    /* Typographies */
    --company-title-size: 22px;
    --company-title-size_responsive: 19px;
    --company-title-weight: 600;
    --body-text-size: 16px;
    /*120 - 80
    19 - 16
    */

    /*Colors*/
    --noir-swiss-prodig: #151515;
    --grey-swiss-prodig: #919191;
    --light-grey-swiss-prodig: #F4F4F4;
    --white-swiss-prodig: #FFFFFF;
    --red-swiss-prodig: #F44F5A;
    --vert-swiss-prodig: #60D394;
}

/*Mobile : 640
//Tablette : 1024*/

/*=Header=*/
#login-button {
    padding: 15px 30px 15px 30px;
    display: flex;
    align-items: center;
    transition: all 0.2s;
}

#login-button svg {
    margin-right: 10px;
    transition: all 0.2s;
}

.button-prodig-outline:hover {
    color: white;
    background-color: var(--red-swiss-prodig);
}

.button-prodig-outline:hover svg {
    color: white;
}

#profile-button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    outline: none;
    color: white;
    font-size: var(--body-text-size);
    display: flex;
    align-items: center;
    text-align: left;
}

#profile-button .arrow {
    border-color: white;
    margin-left: 15px;
}

#profile-button .rounded-company {
    margin-right: 15px;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-size: cover;
    background-repeat: no-repeat;
}

#profile-header-popin {
    position: absolute;
    right: 20%;
    background-color: white;
    border-radius: 16px;
    margin-top: 10px;
    padding: 10px;
}

#profile-header-popin .btn-tab {
    background: none;
    border: none;
    padding: 15px 22px 15px 22px;
    text-decoration: none;
    font-weight: 500;
    display: inline-block;
    cursor: pointer;
    border-radius: 15px;
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: space-between;
    margin: 2.5px 0 2.5px 0;
    font-size: var(--body-text-size);
    color: var(--noir-swiss-prodig);
}

#profile-header-popin .btn-tab a:hover {
    color: var(--noir-swiss-prodig);
}

#profile-header-popin .btn-tab:hover {
    background-color: var(--light-grey-swiss-prodig);
}

/*=Footer=*/
.fusion-tb-footer {
    position: relative;
    z-index: 0;
}

.fusion-tb-footer::before {
    content: '';
    background-color: #F44F5A;
    height: 11px;
    width: 60%;
    position: absolute;
    top: -5.5px;
    left: 20%;
    z-index: 1;
}

/*Company btn*/
.addToFavoriteBtn,
.addToComparatorBtn,
.toggleNotifFavoriteBtn { /* MODIF notif */
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    outline: none;
}

.addToFavoriteBtn img,
.addToComparatorBtn img,
.toggleNotifFavoriteBtn img{ /* MODIF notif */
    transition: transform 0.2s ease;
}

.addToFavoriteBtn:hover img,
.addToComparatorBtn:hover img,
.toggleNotifFavoriteBtn img {
    transform: scale(1.2);
}

.addToFavoriteBtn.favorite .empty-star {
    display: none;
}

.addToFavoriteBtn.nofavorite .full-star {
    display: none;
}

.toggleNotifFavoriteBtn.notif .empty-bell { /* MODIF notif */
    display: none;
}

.toggleNotifFavoriteBtn.noNotif .full-bell { /* MODIF notif */
    display: none;
}

/*=Company page=*/
.blue-label {
    color: #1486FF;
    background-color: #1486FF3B;
    padding: 3px 11px;
    margin: 5px 5px 5px 0;
    border-radius: 7px;
    display: inline-block;
    text-align: center;
    font-size: var(--body-text-size)
}

.green-label {
    color: #1DAD00;
    background-color: #3BFF143B;
    padding: 3px 11px;
    margin: 5px 5px 5px 0;
    border-radius: 7px;
    display: inline-block;
    text-align: center;
    font-size: var(--body-text-size)
}

.star-btn {
    position: absolute;
    right: 12%;
    top: 40px;
}

.company-hours {
    display: flex;
    justify-content: space-between;
}
.post-content .company-hours p {
    margin-bottom: 8.5px;
}
.details-hours {
    font-style: italic;
}

.company-characteristics {
    margin-top: 15px;
    display: flex;
    column-gap: 80px;
}

.company-characteristics>div {
    flex: 1 1 0;
}

.post-content .company-characteristics p {
    margin-bottom: 15px;
}

.company-characteristics .fusion-text:not(:first-of-type) {
    margin-top: 30px;
}

.gmaps-company {
    border-radius: 30px;
}

.company-gallery img {
    border-radius: 30px;
}
#id-card-company p, #id-card-company a {
    line-height: normal;
}
@media only screen and (max-width: 640px) {
    .company-characteristics {
        flex-direction: column;
    }

    .company-characteristics>div:not(:last-of-type) {
        margin-bottom: 20px;
    }
}
.history-timeline {
    display: flex;
    flex-direction: column;
    gap: 15px;
    margin-top: 15px;
}

.history-line {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 8px 0;
    border-left: 2px solid var(--red-swiss-prodig);
    padding-left: 16px;
}

.history-top {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.history-line p {
    margin: 0;
}

.history-date {
    color: #7f8c8d;
}

.history-separator {
    font-weight: bold;
}
.history-mutation {
    color: var(--red-swiss-prodig);
    font-weight: 600;
}

@media only screen and (max-width: 640px) {
    .history-line {
        margin-left: 0;
        padding-left: 0;
        border: none;
    }
    .history-separator {
        display: none;
    }
    .history-mutation {
        font-weight: bold;
    }
}
/*=Company list=*/
#company-list-items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 10px;
    row-gap: 12px;
}

.company-card {
    background-color: var(--white-swiss-prodig);
    border-radius: 30px;
    padding: 5% 6% 5% 6%;
    transition: box-shadow 0.3s ease, transform 0.2s ease;
    position: relative;
    /* padding: 34px 40px 34px 40px; */
    /*width: 450px;*/
}

.company-card .card-logo {
    width: 65px;
    height: 65px;
    border-radius: 12px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.company-card .card-name {
    font-weight: var(--company-title-weight);
    font-size: var(--company-title-size);
    color: var(--noir-swiss-prodig);
    margin: 0;
    max-width: 190px;
}

.company-card .card-address-city, .company-card .card-address-street {
    color: var(--grey-swiss-prodig);
    max-width: 100%;
}
.company-card .card-address-street {
    margin-bottom: 0;
    margin-top: 10px;
}
.company-card .card-top {
    display: flex;
    margin-bottom: 5px;
    position: relative;
}

.company-card .card-top .main-infos {
    margin-left: 18px;
}

.company-card .card-description {
    margin-top: 20px;
}
.company-card:hover {
    color: var(--link_color);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}
.company-card .card-user-action {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 0;
    right: 0;
}

.company-card .addToFavoriteBtn {
    width: 29px;
    height: 29px;
}

.company-card .addToComparatorBtn {
    width: 23px;
    height: 26px;
    margin-top: 25px;
}
.company-card .toggleNotifFavoriteBtn { /*MODIF notif*/
    width: 29px;
    height: 29px;
    margin-top: 25px;
}
.card-state-color {
    display: inline-block;
    width: 15px;
    height: 15px;
    border-radius: 50%;
}
.company-card .card-state-color {
    position: absolute;
    left: 15px;
    top: 15px;
    z-index: 5;
}
.card-state-green {
    background-color: var(--vert-swiss-prodig);
}
.card-state-red {
    background-color: var(--red-swiss-prodig)
}
.state-color-caption {
    margin-top: 25px;
}
.state-color-caption .card-state-color {
    margin-right: 7px;
}
.company-filters {
    background-color: var(--white-swiss-prodig);
    color: var(--noir-swiss-prodig);
    border-radius: 30px;
    position: relative;
    padding: 20px 25px 20px 25px;
    max-height: 100vh;
    overflow-y: auto;
}

.filter-list-checkbox div {
    margin: 2px 0 2px 0;
}
.filter-list-checkbox input,
.filter-list-checkbox label  {
    cursor: pointer;
}

.filter-list-checkbox {
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
}

.filter-list-checkbox .sub_category,
.filter-list-checkbox .level_1,
.filter-list-checkbox .level_2 {
    margin-left: 25px;
}

.filter-displayed {
    display: block;
}

.filter-hide {
    display: none;
}

.sous_traitance_indu {
    order: 2;
}

.machines_equipements {
    order: 5;
}

.fabrication_equipements_standards {
    order: 6;
}

.outils_accessoires {
    order: 8;
}

.conseil_expertise {
    order: 11;
}

.laboratoires {
    order: 14;
}

.services_techniques {
    order: 17;
}

.technologie_numerique {
    order: 20;
}

.logistique_emballage {
    order: 23;
}

#reset-filter {
    background: none;
    border: none;
    cursor: pointer;
    color: var(--red-swiss-prodig);
    /* position: absolute;
    right: 20px;
    top: 16px; */
    font-family: var(--awb-custom_typography_3-font-family);
    font-size: var(--body-text-size);
    font-weight: bold;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.filter-title {
    color: var(--noir-swiss-prodig);
    font-weight: bold;
    display: flex;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
}

.filter-title span {
    font-size: 20px;
}

#filter-button {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 15px;
    padding: 15px 35px;
    position: sticky;
    bottom: 10px;
    transition: transform 0.2s ease;
}

#filter-button:hover {
    background-color: var(--red-swiss-prodig);
    color: white;
    transform: scale(1.05);
}

#filter-sort-button {
    padding: 15px 25px;
}

#filter-sort-button .reverse {
    transform: rotate(180deg);
}

#filter-sort-button .filter-white {
    display: none;
}

#filter-sort-button:hover .filter-white {
    display: inline;
}

#filter-sort-button:hover .filter-red {
    display: none;
}

#filter-sort-button .arrow-filter {
    display: inline;
    width: 8px;
    margin-left: 3px;
}

#filter-sort-button .arrow-filter-white {
    display: none;
    width: 8px;
    margin-left: 3px;
}

#filter-sort-button:hover .arrow-filter {
    display: none;
}

#filter-sort-button:hover .arrow-filter-white {
    display: inline;
}

#search-companies {
    border: none;
}

#search-companies-bar-responsive {
    display: none;
}

.search-label {
    position: relative;
    width: 80%;
    padding-left: 50px;
}

.search-label:before {
    content: "";
    position: absolute;
    left: 20px;
    top: 0;
    bottom: 0;
    width: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='25' height='25' viewBox='0 0 25 25' fill-rule='evenodd'%3E%3Cpath d='M23.7068 22.2937L17.7378 16.3247C19.3644 14.3353 20.1642 11.7968 19.9716 9.23426C19.7791 6.67173 18.609 4.28123 16.7034 2.55722C14.7977 0.833208 12.3024 -0.0924103 9.73342 -0.0281784C7.16447 0.0360534 4.71849 1.08522 2.9014 2.90231C1.08431 4.7194 0.0351379 7.16539 -0.029094 9.73434C-0.0933258 12.3033 0.832293 14.7987 2.5563 16.7043C4.28031 18.6099 6.67081 19.78 9.23334 19.9725C11.7959 20.1651 14.3344 19.3653 16.3238 17.7387L22.2928 23.7077C22.4814 23.8899 22.734 23.9907 22.9962 23.9884C23.2584 23.9861 23.5092 23.8809 23.6946 23.6955C23.88 23.5101 23.9852 23.2593 23.9875 22.9971C23.9897 22.7349 23.8889 22.4823 23.7068 22.2937ZM9.99978 18.0007C8.41753 18.0007 6.87081 17.5315 5.55522 16.6525C4.23963 15.7734 3.21425 14.524 2.60875 13.0622C2.00324 11.6004 1.84482 9.99182 2.1535 8.43998C2.46218 6.88813 3.22411 5.46266 4.34293 4.34384C5.46175 3.22502 6.88721 2.4631 8.43906 2.15442C9.99091 1.84573 11.5994 2.00416 13.0613 2.60966C14.5231 3.21516 15.7725 4.24054 16.6515 5.55614C17.5306 6.87173 17.9998 8.41845 17.9998 10.0007C17.9974 12.1217 17.1538 14.1551 15.654 15.6549C14.1542 17.1547 12.1208 17.9983 9.99978 18.0007Z'%3E%3C/path%3E%3C/svg%3E") center / contain no-repeat;
}

/* #search-sector:before {
    content: "";
    position: absolute;
    left: 20px;
    top: 0;
    bottom: 0;
    width: 20px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='26' viewBox='0 0 25 25' fill-rule='evenodd'%3E%3Cpath d='M16.25 21.6667H5.41667C3.98061 21.6649 2.60385 21.0937 1.5884 20.0783C0.572955 19.0628 0.00172018 17.6861 0 16.25L0 5.41667C0.00172018 3.98061 0.572955 2.60385 1.5884 1.5884C2.60385 0.572955 3.98061 0.00172018 5.41667 0L16.25 0C17.6861 0.00172018 19.0628 0.572955 20.0783 1.5884C21.0937 2.60385 21.6649 3.98061 21.6667 5.41667V16.25C21.6649 17.6861 21.0937 19.0628 20.0783 20.0783C19.0628 21.0937 17.6861 21.6649 16.25 21.6667ZM5.41667 2.16667C4.55471 2.16667 3.72806 2.50908 3.11857 3.11857C2.50908 3.72806 2.16667 4.55471 2.16667 5.41667V16.25C2.16667 17.112 2.50908 17.9386 3.11857 18.5481C3.72806 19.1576 4.55471 19.5 5.41667 19.5H16.25C17.112 19.5 17.9386 19.1576 18.5481 18.5481C19.1576 17.9386 19.5 17.112 19.5 16.25V5.41667C19.5 4.55471 19.1576 3.72806 18.5481 3.11857C17.9386 2.50908 17.112 2.16667 16.25 2.16667H5.41667ZM26 20.5833V6.5C26 6.21268 25.8859 5.93713 25.6827 5.73397C25.4795 5.5308 25.204 5.41667 24.9167 5.41667C24.6293 5.41667 24.3538 5.5308 24.1506 5.73397C23.9475 5.93713 23.8333 6.21268 23.8333 6.5V20.5833C23.8333 21.4453 23.4909 22.2719 22.8814 22.8814C22.2719 23.4909 21.4453 23.8333 20.5833 23.8333H6.5C6.21268 23.8333 5.93713 23.9475 5.73397 24.1506C5.5308 24.3538 5.41667 24.6293 5.41667 24.9167C5.41667 25.204 5.5308 25.4795 5.73397 25.6827C5.93713 25.8859 6.21268 26 6.5 26H20.5833C22.0194 25.9983 23.3961 25.427 24.4116 24.4116C25.427 23.3961 25.9983 22.0194 26 20.5833Z'%3E%3C/path%3E%3C/svg%3E") center / contain no-repeat;
} */
#filter-sort-button img {
    margin-left: 10px;
}

.company-filters input[type="checkbox"]:checked+label {
    font-weight: bold;
}

.top-search {
    display: flex;
    background-color: white;
    border-radius: 50px;
    justify-content: space-between;
    align-items: center;
    padding: 7px;
    width: 80vw;
}

#search-companies-bar {
    padding: 15px 35px;
}

.company-filters input[type="checkbox"] {
    width: 20px;
    height: 20px;
    accent-color: #1E1E1E;
}

.companies-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 40px;
}

.companies-pagination>p {
    margin: 0 15px 10px 15px !important;
    color: #B4B4B4;
}

.companies-tabs {
    display: flex;
}

.companies-tabs a {
    position: relative;
}
.companies-tabs a:first-of-type {
    margin-right: 20px;
}

.companies-tabs a:last-of-type {
    margin-left: 20px;
}

.companies-tabs a:first-of-type::after {
    content: '';
    position: absolute;
    right: -20px;
    top: 15px;
    transform: translateY(-50%);
    height: 25px;
    width: 1.25px;
    background-color: #C2C2C2;
}

.companies-tabs .tab-not-selected {
    color: var(--grey-swiss-prodig);
    font-weight: 400;
}

.companies-tabs .tab-not-selected:hover {
    color: var(--noir-swiss-prodig);
}

/*Comparator*/
#popin-comparator {
    position: fixed;
    bottom: 0;
    left: 0;
    background-color: #F8F8F8;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 15%;
    width: 100vw;
    border-top: 2px solid #E8E8E8;
    z-index: 5;
    display: none;
}

#popin-comparator .list-companies {
    display: flex;
    justify-content: center;
    margin-right: 5%;
}

#popin-comparator .list-companies .one-company {
    margin: 0 20px 0 20px;
    position: relative;
}

#popin-comparator .popin-company-logo {
    width: 65px;
    height: 65px;
    border-radius: 12px;
    background-size: cover;
    background-repeat: no-repeat;
}

#button-start-comparator {
    background-color: var(--noir-swiss-prodig);
    border: none;
    display: flex;
    align-items: center;
}

#button-start-comparator img {
    margin-right: 15px;
}

#popin-comparator .popin-company-close {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    outline: none;
    width: 36px;
    height: 36px;
    position: absolute;
    top: -18px;
    right: -18px;
}

#comparator-table {
    margin-top: 50px;
    margin-bottom: 100px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
}

#comparator-table.reduct-version {
    grid-template-columns: auto auto auto
}

#comparator-table .row-label {
    color: var(--noir-swiss-prodig);
    font-weight: 600;
    padding: 30px;
    display: flex;
    align-items: center;
}

#comparator-table .row-label p {
    margin: 0;
}

#comparator-table .label-title {
    color: var(--red-swiss-prodig);
    font-weight: 600;
    padding: 30px;
    display: flex;
    align-items: center;
}

#comparator-table .label-title p {
    margin: 0;
}

#comparator-table .header {
    background-color: #F8F8F8;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 0 30px 0;
}

/* #comparator-table .header img {
    max-width: 200px;
    height: auto;
} */
#comparator-table .header .logo {
    width: 125px;
    height: 125px;
    border-radius: 12px;
    background-size: cover;
    background-repeat: no-repeat;
}

#comparator-table .cell {
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px 10px 20px 10px;
}

#comparator-table .cell p,
#comparator-table .top-cell p {
    margin: 0;
}

#comparator-table .top-cell {
    text-align: center;
    font-weight: bold;
    font-size: 28px;
    color: var(--noir-swiss-prodig);
    padding: 30px 10px 30px 10px;
}

#comparator-table .sector-0,
#comparator-table .sector-1,
#comparator-table .sector-2,
#comparator-table .size-0,
#comparator-table .size-1,
#comparator-table .size-2,
#comparator-table .material-0,
#comparator-table .material-1,
#comparator-table .material-2,
#comparator-table .job-0,
#comparator-table .job-1,
#comparator-table .job-2,
#comparator-table .sector-label,
#comparator-table .size-label,
#comparator-table .material-label,
#comparator-table .job-label {
    background-color: #F8F8F8;
}

#comparator-table .row-label,
#comparator-table .logo-0 {
    border-radius: 25px 0 0 25px;
}

#comparator-table .sector-2,
#comparator-table .loc-2,
#comparator-table .size-2,
#comparator-table .certifs-2,
#comparator-table .material-2,
#comparator-table .delay-2,
#comparator-table .job-2,
#comparator-table .quote-2,
#comparator-table .logo-2 {
    border-radius: 0 25px 25px 0;
}

#comparator-table.reduct-version .sector-1,
#comparator-table.reduct-version .loc-1,
#comparator-table.reduct-version .size-1,
#comparator-table.reduct-version .certifs-1,
#comparator-table.reduct-version .material-1,
#comparator-table.reduct-version .delay-1,
#comparator-table.reduct-version .job-1,
#comparator-table.reduct-version .quote-1,
#comparator-table.reduct-version .logo-1 {
    border-radius: 0 25px 25px 0;
}

.post-content p.comparator-empty {
    margin: 15px 15px 15px 15px;
}
.comparator-link-compnay {
    cursor: pointer;
    color: var(--noir-swiss-prodig);
}
/*=User dashboard=*/
.user-dashboard {
    background-color: var(--white-swiss-prodig);
    border-radius: 30px;
    padding: 40px;
    display: flex;
}

.user-dashboard .tabs {
    width: 20vw;
}

.user-dashboard .dashboard-content {
    margin-left: 30px;
    max-height: 75vh;
    overflow-y: auto;
    width: 65vw;
}

.user-dashboard .btn-tab {
    background: none;
    border: none;
    padding: 22px;
    text-decoration: none;
    font-size: var(--body-text-size);
    font-weight: 500;
    color: var(--noir-swiss-prodig);
    display: inline-block;
    cursor: pointer;
    border-radius: 15px;
    width: 100%;
    text-align: left;
    display: flex;
    justify-content: space-between;
    margin: 2.5px 0 2.5px 0;
}

.user-dashboard .btn-tab img {
    display: none;
}

.user-dashboard .btn-tab-active img {
    display: block;
}

.user-dashboard .btn-disconnect {
    background: none;
    border: none;
    padding: 22px;
    text-decoration: none;
    font-size: var(--body-text-size);
    display: inline-block;
    cursor: pointer;
    border-radius: 15px;
    width: 100%;
    text-align: left;
    color: var(--red-swiss-prodig);
    margin: 2.5px 0 2.5px 0;
}
.user-dashboard .btn-disconnect:hover {
    font-weight: bold;
}
.user-dashboard .btn-tab:hover {
    background-color: var(--light-grey-swiss-prodig);
}

.user-dashboard .profile,
.user-dashboard .company {
    display: flex;
    flex-direction: column;
    align-items: start;
}

.user-dashboard .company {
    margin-top: 25px;
}

.user-dashboard .btn-tab-active {
    background-color: var(--light-grey-swiss-prodig);
}

.user-dashboard .tabs h2 {
    margin-bottom: 10px;
}

#mobile-tabs {
    display: none;
    background: none;
    border: none;
    text-align: center;
    text-decoration: none;
    font-size: var(--body-text-size);
    cursor: pointer;
    font-weight: bold;
    margin-bottom: 20px;
}

#favorites-companies .company-card {
    background-color: #F8F8F8;
}

.empty-tab {
    font-size: var(--company-title-size);
    color: var(--noir-swiss-prodig);
}

.user-dashboard .all-filter {
    display: block;
    margin-left: auto;
    margin-right: auto;
    margin-top: 40px;
    width: fit-content;
}

/*=User login & registration=*/
.login-additional-links {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 30px;
    row-gap: 20px;
}
.login-actions-btn {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.login-actions-btn .button-prodig-outline {
    margin: 10px 0 20px 0;
    line-height: normal;
}
.login-error {
    text-align: center;
}

.login-sucess {
    text-align: center;
}

#custom-register-form #accept_conditions {
    margin: 0;
}

#custom-register-form input[type="submit"] {
    margin-top: 20px;
}

#custom-register-form #error-message-che {
    display: block;
    background-color: rgba(244,79,90,0.7);
    color: #fff;
    padding: 10px;
    border-radius: 7px;
    margin-top: -15px;
    margin-bottom: 20px;
}
#custom-register-form .error-message-password {
    background-color: rgba(244,79,90,0.7);
    color: #fff;
    padding: 10px;
    border-radius: 7px;
}
#custom-register-form #message-password ,
#custom-register-form #message-che {
    display: block;
    margin-top: -15px;
    margin-bottom: 20px;
}
#custom-register-form #message-che a {
    font-style: italic;
}
#custom-register-form #subscribe_newsletter {
    margin: 0;
}
#next-register-company {
    margin-bottom: 5px;
}
.post-content .cookies-warning {
    font-style: italic;
    margin-top: 20px;
}
/*=Edit / register company informations=*/
#edit_company_form .company_field,
#register_company_form .company_field {
    display: flex;
    flex-direction: column;
}

#edit_company_form .company_field label,
#register_company_form .company_field label {
    margin-bottom: 10px;
    font-weight: bold;
}

#edit_company_form h3:first-of-type {
    margin-top: 0;
}

#edit_company_form .group-title,
#register_company_form .group-title {
    color: var(--noir-swiss-prodig);
    font-weight: bold;
    font-size: 19px;
}

#edit_company_form input,
#edit_company_form select,
#edit_company_form textarea,
#register_company_form select,
#register_company_form textarea {
    margin: 5px 0 20px 0;
}

#edit_company_form input[type='checkbox'],
#register_company_form input[type='checkbox'] {
    margin: 0 2.5px 0 0;
}

#edit_company_form .multi-checkbox-field label,
#register_company_form .multi-checkbox-field label {
    font-weight: normal;
}

#edit_company_form .logo-preview {
    width: 125px;
    height: 125px;
    border-radius: 12px;
    background-size: cover;
    background-repeat: no-repeat;
}

#edit_company_form .legend,
#register_company_form .legend {
    margin-bottom: 10px;
}

#edit_company_form .group-hours,
#register_company_form .group-hours {
    margin-bottom: 10px;
}

#edit_company_form .label-like,
#register_company_form .label-like {
    color: var(--noir-swiss-prodig);
    font-weight: bold;
    margin-bottom: 10px;
}

#edit_company_form .multi-checkbox-field,
#register_company_form .multi-checkbox-field {
    margin-bottom: 5px;
}

#edit_company_form select,
#register_company_form select {
    padding: 0 10px 0 10px;
}

#edit_company_form textarea,
#register_company_form textarea {
    padding: 10px;
}

#edit_company_form .checkbox-list,
#register_company_form .checkbox-list {
    margin-bottom: 20px;
}

#register_company_form input[type="submit"]:disabled {
    cursor: wait;
}

#edit_company_form .galerie-single-preview {
    max-width: 450px;
    height: auto;
    border-radius: 30px;
}

#edit_company_form .galerie-preview {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    margin-bottom: 30px;
}

#edit_company_form .single-img-container {
    height: 305px;
    overflow: hidden;
}

#edit_company_form .galerie-single {
    position: relative;
}

#edit_company_form .galerie-single .delete-galerie-group {
    margin-top: 10px;
}

#edit_company_form .one-service,
#register_company_form .one-service {
    margin-bottom: 65px;
    position: relative;
}

#edit_company_form .one-service .delete-service-group,
#register_company_form .one-service .delete-service-group {
    position: absolute;
    bottom: -30px;
}

#edit_company_form .delete-services,
#register_company_form .delete-services {
    padding: 8px 20px;
}

#edit_company_form .delete-galerie,
#register_company_form .delete-galerie {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    outline: none;
    width: 36px;
    height: 36px;
    position: absolute;
    top: -18px;
    right: -18px;
}

#edit_company_form #add-service,
#register_company_form #add-service {
    margin-bottom: 25px;
}

#edit_company_form>.company_field,
#edit_company_form .services,
#register_company_form>.company_field,
#edit_company_form .services,
#register_company_form>.company_field,
#edit_company_form .services,
#register_company_form>.company_field,
#edit_company_form .services {
    border: 1px solid var(--light-grey-swiss-prodig);
    padding: 20px;
}

#edit_company_form .button-edit-company,
#register_company_form .button-edit-company {
    margin-top: 20px;
}

#edit_company_form {
    width: 60vw;
}

input::placeholder {
    opacity: 0.5;
}
#exploration-sucess {
    width: fit-content;
}

/*=Forms=*/
#profile-info-form #user_company_che,
#register_company_form #company_che {
    background-color: var(--light-grey-swiss-prodig);
    color: var(--grey-swiss-prodig);
}

#custom-login-form,
#custom-register-form,
#profile-info-form,
#edit_company_form,
#user-confirm-account-form,
#user-2fa-form,
#profile-info-form,
#register_company_form,
#user-forget-password {
    display: flex;
    flex-direction: column;
}

#custom-login-form label,
#custom-register-form label,
#profile-info-form label,
#edit_company_form label,
#user-confirm-account-form label,
#user-2fa-form label,
#profile-info-form label,
#register_company_form label,
#user-forget-password label {
    color: var(--noir-swiss-prodig);
}

#custom-login-form .button-prodig,
#custom-register-form .button-prodig,
#edit_company_form .button-prodig,
#user-confirm-account-form .button-prodig,
#user-2fa-form .button-prodig,
#profile-info-form .button-prodig,
#register_company_form .button-prodig,
#user-forget-password .button-prodig {
    border-radius: 43.5px;
    width: fit-content;
}

#custom-login-form input,
#custom-register-form input,
#profile-info-form input,
#user-confirm-account-form input,
#user-2fa-form input,
#profile-info-form input,
#register_company_form input,
#user-forget-password input {
    margin: 10px 0 20px 0;
}

input[type=file]::file-selector-button {
    margin-right: 8px;
    border: none;
    background: var(--red-swiss-prodig);
    padding: 8px 12px;
    color: #fff;
    cursor: pointer;
    border-radius: 43.5px;
}

.mandatory-star {
    color: var(--red-swiss-prodig);
}
/*=General layout=*/
button {
    font-family: "Open Sans", sans-serif;
}

.button-prodig {
    background-color: var(--red-swiss-prodig);
    border: 1.4px solid var(--red-swiss-prodig);
    color: white;
    padding: 17px 35px;
    border-radius: 43.5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: var(--body-text-size);
    cursor: pointer;
}

.button-prodig:hover {
    background: none;
    color: var(--red-swiss-prodig);
}

.button-prodig-outline {
    background: none;
    border: 1.4px solid var(--red-swiss-prodig);
    color: var(--red-swiss-prodig);
    padding: 17px 35px;
    border-radius: 43.5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: var(--body-text-size);
    cursor: pointer;
}

.button-prodig-grey {
    background: none;
    border: 1.4px solid #303030;
    color: #303030;
    padding: 17px 35px;
    border-radius: 43.5px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: var(--body-text-size);
    cursor: pointer;
}
.button-prodig-grey:not([disabled]):hover {
    border-color: #949494;
}
.button-prodig-grey-disabled {
    border: 1.4px solid #B4B4B4;
    color: #B4B4B4;
    cursor: default;
}

.button-quote img {
    margin-right: 15px;
}
.button-search-sectors {
    display: flex;
    justify-content: center;
    align-items: center;
}
.button-search-sectors>img {
    margin-right: 10px;
}

.button-search-sectors,
.button-search-sectors:hover {
    color: var(--grey-swiss-prodig);
    border-color: var(--grey-swiss-prodig);
    background: none;
}
.button-search-sectors:hover {
    border-color: white;
}
.button-center {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.hidden {
    display: none !important;
}

.arrow {
    border: solid black;
    border-width: 0 2px 2px 0;
    display: inline-block;
    padding: 4px;
}

.down {
    transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    margin: 0 0 2.5px 10px;
}

.top {
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
    margin: 0 0 0 10px;
}

.error-msg {
    background-color: rgba(244,79,90,0.7);
    color: #fff;
    padding: 10px;
    border-radius: 7px;
}
.error-msg a{
    color: #fff;
    font-weight: bold;
}

.sucess-msg {
    background-color: rgba(96,211,148,0.7);
    color: #151515;
    padding: 10px;
    border-radius: 7px;
}

.post-content .empty-result-msg p, .post-content .not-log-result-msg p  {
    background-color: rgba(244,79,90,0.7);
    color: #fff;
    padding: 10px;
    border-radius: 7px;
    width: fit-content;
    display: block;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}
.empty-result-msg a, .not-log-result-msg a {
    color: #fff;
    font-weight: bold;
}


.loader {
    width: 75px;
    padding: 8px;
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--red-swiss-prodig);
    --_m:
        conic-gradient(#0000 10%, #000),
        linear-gradient(#000 0 0) content-box;
    -webkit-mask: var(--_m);
    mask: var(--_m);
    -webkit-mask-composite: source-out;
    mask-composite: subtract;
    animation: l3 1s infinite linear;
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.loader-fs {
    position: fixed; 
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 9999;
    display: flex;
    justify-content: center;
    align-items: center;
    pointer-events: auto;
}

.loader-fs * {
    pointer-events: none;
}

@keyframes l3 {
    to {
        transform: rotate(1turn)
    }
}

.popin-overlay {
    display: none; 
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.7);
    z-index: 9999;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.popin-content {
    background-color: white;
    padding: 20px;
    border-radius: 10px;
    max-width: 400px;
    width: 90%;
    text-align: center;
    position: relative;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.post-content .popin-content p {
    margin: 30px 10px 20px 10px;
}

.popin-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 30px;
    font-weight: bold;
    cursor: pointer;
    color: #555;
}

.popin-close:hover {
    color: var(--red-swiss-prodig)
}
.text-link a {
    color: var(--noir-swiss-prodig);
}
/*Home*/
#search-home {
    display: flex;
    justify-content: center;
}

.top-search-companies {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    justify-content: center;
}
.gtranslate-div .gtranslate_wrapper a{
    margin: 0 2.5px 0 2.5px;
}

/*Responsive*/
@media only screen and (max-width: 1024px) {
    #company-list-items {
        grid-template-columns: 1fr;
    }

    .company-card {
        padding: 16px 20px 16px 20px;
    }

    .company-card .card-name {
        font-size: var(--company-title-size_responsive);
        max-width: 145px;
    }

    .user-dashboard {
        padding: 25px;
        flex-direction: column;
    }

    .user-dashboard .tabs {
        width: 100%;

    }

    .user-dashboard .dashboard-content {
        margin-left: 0;
        margin-top: 40px;
    }

    .mobile-hidden {
        display: none;
    }

    #mobile-tabs {
        display: block;
    }

    #edit_company_form {
        width: 100%;
    }

    #edit_company_form .galerie-preview {
        justify-content: center;
    }

    #edit_company_form .galerie-single-preview {
        max-width: 100%;
    }

    #edit_company_form .single-img-container {
        height: auto;
    }

    .user-dashboard .dashboard-content {
        width: 100%;
    }

    .star-btn {
        top: 30px;
        right: 20px;
    }
}

@media only screen and (max-width: 640px) {
    #search-companies-bar-responsive {
        display: block;
    }

    #search-companies-bar-responsive:hover {
        background: var(--red-swiss-prodig);
    }

    #search-companies-bar {
        display: none;
    }

    .top-search {
        width: 90vw;
    }

    .search-label {
        padding-left: 5px;
    }

    .search-label:before {
        display: none;
    }

    #popin-comparator {
        flex-direction: column;
        height: 30%;
    }

    #popin-comparator .list-companies {
        margin-bottom: 10px;
    }

    .companies-tabs {
        flex-direction: column;
    }

    .companies-tabs a:first-of-type,
    .companies-tabs a:last-of-type {
        margin-right: 0;
        margin-left: 0;
    }

    .companies-tabs a:first-of-type::after {
        content: none;
    }

    #comparator-table .label-title,
    #comparator-table .row-label {
        width: 40vw;
        padding: 30px 5px 30px 5px;
        color: var(--noir-swiss-prodig);
    }

    #comparator-table .first-col {
        position: absolute;
        z-index: 1;
        background-color: var(--red-swiss-prodig);
        background: rgba(244, 79, 90, .9);
        padding-top: 185px;
        height: 100%;
        border-radius: 0 0 16px 0;
    }

    .comparator-mobile-content {
        display: grid;
        position: relative;
        grid-template-columns: repeat(3, 1fr);
        padding-left: 40vw;
        margin-bottom: 60px;
        overflow-x: scroll;
    }

    .reduct-version .comparator-mobile-content {
        grid-template-columns: auto auto;
    }

    #comparator-table {
        display: initial;
        margin: 0;
    }

    #comparator-table .row-label {
        border-radius: 0;
        background: none;
    }

    #comparator-table .prod-label {
        height: 60px;
    }

    .top-search-companies {
        display: none;
    }
    .login-actions-btn {
        flex-direction: column;
        align-items: center;
    }

    #mailpoet_form_1 {
        width: 100% !important;
    }
}
/*Mailpoet*/
.mailpoet-text, .mailpoet-field, .mailpoet-input{
    font-family: "Open Sans", sans-serif !important;
}
.mailpoet-input .mailpoet_submit {
    background-color: var(--red-swiss-prodig) !important;
    font-family: "Open Sans", sans-serif !important;
    cursor: pointer;
}
/* PROVISOIRE */
.user-dashboard #dashboard-tab-0,
.user-dashboard #dashboard-tab-3,
#quote-request,
.button-quote {
    display: none;
}