:root {
    --colore_0: #002147;
    --colore_1: #002147;
    --colore_2: #ffffff;
    --colore_3: #686868;
    --colore_4: #05AA7B;
    --colore_5: #05AA7B20;
    --raggio_bordi: 3px;
    --colore_bordi: #d0d0d0;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: "Lato", sans-serif;
    font-size: 16px;
    background-color: #f6f6f6;
}

a {
    text-decoration: none;
}

.container {
    max-width: 1180px;
}

#header {
    background-color: var(--colore_1) !important;
    transition: all 0.5s;
}

#navigation {
    background-color: var(--colore_0) !important;
}

#footer {
    padding: 20px 0px;
    background-color: var(--colore_1) !important;
}

.footer-ul {
    margin: 0px;
    padding: 0px;
}

.footer-ul-li {
    display: inline;
    margin-right: 20px;
}

.footer-ul-li a {
    color: #fff;
    text-decoration: none;
}

.headed-page-title {
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: var(--colore_2) !important;
}

#info-cat {
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: var(--colore_2) !important;
}

#filtri {
    padding: 0px;
    padding-top: 10px;
    /* border: solid 0.5px var(--colore_bordi); */
    border-radius: var(--raggio_bordi);
    height: 100%;
}

#results {
    padding-top: 40px;
    padding-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
}

h1 {
    font-size: 1.7rem;
    font-weight: 600;
    padding-top: 16px;
}

#info-cat h1 {
    padding-top: 30px;
}

#head-search h1 {
    font-size: 3rem;
    line-height: 3rem;
}

h2 {
    font-size: 1.1rem;
    font-weight: 800;
}

#info-azienda h1 {
    padding-top: 0px;
}

h2.sub_title {
    font-size: 1.2rem;
    font-weight: 500;
    padding-top: 10px;
    color: var(--colore_3);
}

h1.sub_title.mini {
    font-size: 16px;
}

h2.sub_title.mini {
    font-size: 16px;
}

h3.sub_title.mini {
    font-size: 16px;
}

.colore_0 {
    color: var(--colore_0);
}

.business-card {
    cursor: pointer;
    border: solid 0.5px var(--colore_bordi);
    border-radius: var(--raggio_bordi);
    padding: 10px 0px;
    position: relative;
    margin: 0px;
    background-color: #fff;
    margin-bottom: 15px;
}

.business-card h2 {
    text-transform: capitalize;
}

.business-card a {
    text-decoration: none;
    color: unset;
}

.business-card span.rev {
    color: var(--colore_3);
    font-size: 15px;
}

.business-card:hover {
    /* border: solid 0.5px var(--colore_0);*/
    box-shadow: 0 0.525rem 0.55rem rgb(0 0 0 / 5%) !important
}

.business-card .brand-img {
    max-width: 100px;
    width: 100%;
    height: auto;
    height: 100px;
    object-fit: contain;
}

#info-azienda .brand-img {
    max-width: 100px;
    width: 100%;
}

.rating {
    color: var(--colore_0);
    font-size: 16px;
    font-weight: 600;
    display: inline;
}

.rating img {
    margin-left: 0px;
    margin-right: 10px;
    max-width: 95px;
    position: relative;
    top: 0px;
    zoom: 1.2;
}

.info {
    padding-top: 10px;
    opacity: 0.9;
    zoom: 0.85;
}

.info svg {
    position: relative;
    top: -2px;
}

button {
    border-radius: var(--raggio_bordi) !important;
}

.btn-colore_1 {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    border-radius: 0.25rem;
    border: solid 1px var(--colore_0);
    background-color: var(--colore_0);
    color: #fff;
}

.btn-colore_1:hover {
    background-color: #fff;
    color: var(--colore_0) !important;
    border: solid 1px var(--colore_0);
    border-radius: var(--raggio_bordi);
}

.btn-out-colore_1 {
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    background-color: transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    border-radius: 0.25rem;
    color: var(--colore_0);
    border: solid 1px var(--colore_0);
    border-radius: var(--raggio_bordi);
}

.btn-out-colore_1:hover {
    border: solid 1px var(--colore_0);
    background-color: var(--colore_0);
    color: #fff;
}

.disabled {
    opacity: 0.5;
    cursor: not-allowed !important;
    pointer-events: none;
    cursor: default;
    text-decoration: none;
}

.pagination {
    display: inline-flex;
    position: relative;
    width: 100%;
}

.pagination div {
    margin-right: 10px;
}

.pagination .next {
    position: absolute;
    right: 0px;
    margin-right: 0px;
}

h1 .rating * {}

.rating-list {
    position: relative;
    margin-bottom: 10px;
    padding-left: 15px;
}

.rating-list .check {
    position: absolute;
    left: 0px;
    top: 5px;
    width: 20px;
}

.rating-list .percent {
    position: absolute;
    right: 20px;
    z-index: 10;
    top: 0px;
    font-size: 0.75rem;
    font-weight: 400;
    color: var(--colore_3) !important;
}

.rating-list-left {
    padding: 0;
    padding-left: 10px;
}

#general-rating {
    background-color: #fff;
    padding: 28px;
    margin-bottom: 20px;
}

#general-rating h4 {
    margin-bottom: 30px;
}

#general-rating img {
    max-width: 110px;
    width: 100%;
    margin-bottom: 5px;
}

.progress {
    height: 20px;
    border-radius: 10px;
    position: relative;
}

.progress-bar {
    background-color: var(--colore_0) !important;
}

#info-azienda {
    padding-top: 20px;
    padding-bottom: 20px;
    background-color: unset !important;
    padding-left: 0;
    padding-right: 0;
}

.progress .sr-only {
    position: relative;
    text-align: right;
    padding-right: 5px;
    padding-left: 5px;
}

a.rating-list {}

a.rating-list:hover {
    filter: grayscale(0%) !important;
    opacity: 0.9 !important;
}

#filtri ul {
    list-style: none;
    padding-left: 0;
    margin-left: 0px;
    padding: 5px 0px;
}

#filtri ul li:first-child {
    margin-bottom: 10px;
}

#filtri ul li label {
    width: 100%;
    display: block;
    cursor: pointer;
}

#filtri input[type="radio"] {
    margin-right: 5px;
}

#filtri {
    display: block;
}

#filtri_col {
    padding: 10px;
    padding-top: 0;
}

#filtri ul {
    display: block !important;
    margin-bottom: 0px;
}

.rating-star {
    cursor: pointer;
}

.rating-star img {
    width: 35px;
    filter: grayscale(1);
    opacity: 0.4;
    margin-right: 5px;
}

.rating-star.active img {
    filter: grayscale(0);
    opacity: 1;
}

#confirm {
    position: relative;
}

#confirm input {
    top: 5px;
    position: absolute;
}

#confirm label {
    padding-left: 20px;
}

#loop {
    padding-right: 60px;
}

#loop .nome {
    font-size: 18px;
    font-weight: 700;
}

#loop .avatar {
    width: 30px;
    border-radius: 100%;
    object-fit: contain;
}

#loop .contenuto {
    font-size: 19px;
    padding-top: 20px;
    padding-right: 20px;
}

#loop .contenuto small {
    font-size: 13px;
}

.utile {
    cursor: pointer;
    color: #686868;
    font-size: 14px;
}

.utile:hover {
    cursor: pointer;
    color: #05a97b;
}

.utile.success {
    color: #05a97b;
}

.segnala {
    cursor: pointer;
    color: #686868;
    font-size: 14px;
}

.segnala:hover {
    cursor: pointer;
    color: #062633;
}

.button-filtri {
    background: none!important;
    border: none !important;
    padding: 0;
    position: relative;
    width: 100%;
    text-align: left;
}

.button-filtri span {
    display: none;
}

#loop {
    order: 3;
    padding-right: 3%;
}

#filtri_col {
    padding-right: 3%;
    order: 1;
}

#no-review {
    order: 2;
}

#info-business {
    order: 4;
}

#filtri_col .c {
    box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important;
}

.review {
    border: none !important;
    border-radius: 10px !important;
}

h4 {
    margin-bottom: 0px;
    font-weight: 600;
}

@media only screen and (max-width: 600px) {
    .footer-ul-li {
        display: block;
        margin-right: 0px;
    }
    .rating-list-left {
        padding: 0;
        padding-left: 5px;
    }
    #filtri_col .c {
        box-shadow: none !important;
        padding: 0 10px;
    }
    .button-filtri span {
        display: block;
        position: absolute;
        background-color: var(--colore_0);
        color: #fff;
        padding: 5px 6px;
        right: 0;
        top: 0;
        border-radius: var(--raggio_bordi);
    }
    #loop {
        width: 100%;
    }
    #filtri_col {
        margin-bottom: 10px;
        padding: 5px 2px 5px 5px;
    }
    #filtri {
        display: none !important;
    }
    #filtri.show {
        display: block !important;
    }
    #loop {
        order: 3;
    }
    #no-review {
        order: 1;
    }
    #filtri_col {
        order: 2;
        background-color: #fff;
        border-radius: var(--raggio_bordi);
        /*border: solid 0.5px var(--colore_bordi);*/
        width: 100%;
        margin-top: 15px;
        position: relative;
        box-shadow: 0 .125rem .25rem rgba(0, 0, 0, .075) !important;
    }
    .well {
        zoom: 1.1;
    }
    .btn-colore_1,
    .btn-out-colore_1 {
        zoom: 1.2;
    }
    #info-azienda .container {
        padding: 0px;
    }
    #info-azienda .container .graph-star-rating {
        padding: 20px !important;
    }
    #general-rating {
        padding: 20px;
    }
}

.alert-dismissible .close {
    position: absolute;
    right: 0px;
    top: 0;
    background: none;
    border: none;
    zoom: 2;
}

.search-back {
    padding: 30px 0px;
    background-color: var(--colore_2);
}

#search-addon {
    position: absolute;
    background: no-repeat;
    border: none;
    float: right;
    right: 5px;
    top: 16px;
    z-index: 100;
    background: #05a97b;
    border-radius: 0px;
    height: 50px;
    top: 10px;
    right: 10px;
}

#search-addon svg {
    fill: #fff;
}

#dinamic_result {
    background-color: #fff;
    z-index: 100;
    margin-top: -10px;
}

#dinamic_result a {
    color: var(--colore_1);
    display: block;
    padding: 10px;
    border-bottom: solid 0.5px var(--colore_2);
}

#dinamic_result a:hover {
    background-color: #f8f8f8;
}

#dinamic_result a:last-child {
    border-bottom: none
}

#dinamic_result a small {
    display: block;
    color: #0f8470;
}

#head-search {
    background-color: var(--colore_5);
    color: #333;
    min-height: 500px;
}

#lista-link-btn a {
    margin-right: 6px;
    margin-bottom: 6px;
}

#loop .user-review {
    position: relative;
}

#loop .user-review svg,
#loop .user-review img {
    position: absolute;
    top: 2px;
    background: var(--colore_5);
    border-radius: 100%;
    padding: 3px;
    fill: var(--colore_4);
    width: 40px;
}

#loop .user-review .info-user {
    padding-left: 50px;
}

#home-list {
    margin-top: -150px;
}

#home-list h2 {
    font-size: 1rem;
}

.navbar-dark .navbar-toggler {
    color: #fff;
    border-color: #fff;
}

.review {}

.review .link {
    font-size: 14px;
    color: var(--colore_4);
}

.review .info:hover,
.review .link:hover {
    color: var(--colore_4);
}

.review .f {
    margin: 0;
    padding: 0;
    margin-bottom: 10px;
    padding: 10px 20px;
    padding-bottom: 0px;
}

.valutazione {
    font-weight: 400;
    color: #686868;
    font-size: 14px;
}

.review .f h2 {
    font-size: 1.125rem;
    font-weight: 700;
    margin-top: 0px;
}

.review .s {
    margin: 0;
    padding: 0;
    padding: 5px 20px;
    margin-top: 10px;
    border-top: 0.5px solid #dcdce6
}

#filtri_col .c {
    padding: 30px;
    background: #fff;
}

#loop p {
    padding: 10px;
    font-size: 15px;
    color: var(--colore_3);
    margin-bottom: 40px;
}

.divider {
    border-left: solid 1px #dcdce6;
    height: 30px;
    margin: 0 20px;
}

#make-reviews-mob {
    display: none;
}

.last {
    margin-top: 10px;
}

@media only screen and (max-width: 600px) {
    #results {}
    .divider {
        display: none;
    }
    .last {
        padding: 0;
        border-top: solid 1px #dcdce6;
        margin-top: 10px;
        padding-top: 20px;
    }
    #filtri_col .c {
        padding: 10px;
    }
}

#make-reviews-mob {
    display: block;
}

#make-reviews-desk {
    display: none;
}

#loop {
    padding-right: 0px;
}

#home-list {
    margin-top: -10px;
}

#head-search {
    min-height: 500px;
}

.review .s {
    margin-top: 10px;
}

.action svg {
    top: -2px;
    position: relative;
    margin-right: 3px;
}

ul.albero {
    list-style: none;
    padding: 0;
    margin-bottom: 0;
}

ul.albero li {
    display: inline-block;
    margin-right: 10px;
    font-size: 0.85rem;
}

ul.albero li a::first-letter {
    text-transform: uppercase;
}

ul.albero li::after {
    content: '>';
    margin-left: 5px;
}

ul.albero li:last-child::after {
    content: '';
}

#header .text-muted {
    color: #05a97b!important;
}

#lista_all {
    margin: 0;
    padding: 0;
}

#lista_all li {
    list-style: none;
    text-align: left;
    margin-bottom: 5px;
    margin-right: 5px;
    display: inline-block;
}

#lista_all li .btn-out-colore_1 {
    zoom: 1;
    text-align: left;
}

.mostra-tutti {
    background-color: #05a97b;
    padding: 2px 10px;
    text-align: center;
    color: #fff !important;
    position: relative;
}

.mostra-tutti .icon {
    display: none;
    position: absolute;
    right: 20px;
    top: 10px;
    color: #fff;
}

.mostra-tutti:hover {
    background-color: #0f8470 !important;
}

.mostra-tutti:hover .icon {
    display: block;
}

.aggiungi-azienda {
    background-color: var(--colore_5);
    color: #333;
    border-radius: 10px;
}


/* Contenitore principale */

.custom-container {
    background-color: #05a97b50;
    /* Verde chiaro */
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    width: 100%;
    margin: 0 auto;
    font-family: 'Lato', sans-serif;
}


/* Testo superiore */

.custom-text {
    margin-bottom: 15px;
    color: #000;
    /* Colore nero per il testo */
    text-align: left;
}

.custom-text strong {
    display: block;
    font-size: 16px;
    margin-bottom: 5px;
}

.custom-text p {
    font-size: 14px;
    margin: 0;
    line-height: 1.5;
}


/* Riga flessibile */

.custom-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}


/* Input personalizzato */

.form-control {
    font-size: 14px;
    border: 1px solid #002147;
    border-radius: 4px;
}

.custom-input {
    flex: 1;
    /* Occupa tutto lo spazio disponibile */
    padding: 10px 15px;
    font-size: 14px;
    border: 2px solid #002147;
    /* Rosso per errori */
    border-radius: 4px;
    outline: none;
    box-sizing: border-box;
}

.custom-input:focus {
    border-color: #05a97b;
    /* Verde per focus */
    box-shadow: 0 0 5px rgba(92, 184, 92, 0.5);
}


/* Placeholder stile */

.custom-input::placeholder {
    color: #333;
    font-style: italic;
}


/* Pulsante personalizzato */

.custom-button {
    padding: 10px 20px;
    background-color: #002147;
    /* Nero */
    color: #fff;
    /* Bianco */
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    transition: background-color 0.3s ease;
}

.custom-button:hover {
    background-color: #00214780;
    /* Grigio scuro */
}


/* Messaggio di errore */

.custom-error-message {
    margin-top: 10px;
    font-size: 12px;
    color: #d9534f;
    display: none;
}

.login-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0 auto;
}


/* Stile per il bottone di Facebook */

.btn-facebook {
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #4267B2;
    /* Blu Facebook */
    color: white;
    border: none;
    border-radius: 5px;
    padding: 10px 20px;
    font-size: 14px;
    cursor: pointer;
    font-family: Arial, sans-serif;
    transition: background-color 0.3s ease;
}

.btn-facebook:hover {
    background-color: #365899;
    /* Colore più scuro per hover */
}


/* Stile per il bottone di Google */

.btn-google {
    align-items: center;
    justify-content: center;
    background-color: #eff0f1;
    color: #757575;
    border: 1px solid #dddddd00;
    border-radius: 5px;
    padding: 2px 20px;
    font-size: 14px;
    width: 100%;
    cursor: pointer;
    font-family: Arial, sans-serif;
    /* transition: box-shadow 0.3s ease; */
    text-align: center;
}

.btn-google * {
    border: none !important;
}

.btn-google:hover {
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.0);
}


/* Stile per l'icona */

.icon {
    width: 20px;
    height: 20px;
    margin-right: 10px;
}

i.verificato {
    position: absolute;
    color: #05a97b;
    font-size: 12px;
    margin-left: 5px;
}