@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

body {
    font-family: 'Montserrat', sans-serif;
}

:root {
    --theme-color: #005EC8;
    --bg-light-blue: #337DD2;
    --teal-green: #97979B;
    --bg-gray: #d9d9d9;
}



p {
    font-weight: 300;
    font-size: 20px;
}

/*  */

.center {
    text-align: center;
}

.bold {
    font-weight: 600;
}

.semibold {
    font-weight: 500;
}

.fs-20 {
    font-size: 20px;
}

.fs-26 {
    font-size: 26px;
}

.fs-30 {
    font-size: 30px;
}

.white {
    color: white;
}

.m20 {
    margin: 20px 0 20px 0;
}

.m40 {
    margin: 40px 0 40px 0;
}

.w-90 {
    width: 90%;
}

/*  */

.city {
    height: 250px !important;
    width: auto !important;
}

.header-section {
    background-color: var(--bg-gray) !important;
}

.main-topbar a {
    color: white !important;
}

.orange_band {
    background-color: var(--theme-color) !important;
}

.blue_band {
    background-color: var(--teal-green) !important;
}

.logo {
    max-height: 250px !important;
}

.city {
    bottom: 20vh !important;
    width: 100vw;
}

.people {
    bottom: 50px !important;
}

.hero {
    background-color: var(--bg-gray) !important;
}

.intro_container {
    background-color: var(--bg-gray) !important;
    margin-top: -1px;
    min-height: 500px;
    position: relative;
    width: 100% !important;
    border-radius: 0px !important;
}

.check_text {
    display: flex;
    justify-content: center;
    align-items: start;
    gap: 10px;
}


.text-2-container {
    margin: 25px auto 60px;
}

.foto_mani img {
    position: absolute;
    left: 50%;
    transform: translate(-50%, 0);
}

.box-form-container {
    background-color: #EFEFEF;
    border-radius: 38px 38px 19px 19px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    padding: 20px 0 40px 0;
}

.blu-box,
.grey-box {
    width: 100%;
    padding: 40px 10px 40px 10px;
    border-radius: 33px;
    color: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 90%;
    min-height: 320px;
}

.blu-box {
    background-color: #fff;
    color: var(--theme-color);
}

/* .blu-box .circle-p{
    background-color: #d9d9d9;
} */

.grey-box {
    background-color: #b6b6b6;
}

.circle-p {
    width: 50px;
    height: 50px;
    background-color: white;
    border-radius: 50%;
    margin-bottom: 20px;
}

.circle-p p {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.question-form-container {
    background-color: var(--theme-color);
    padding: 40px 0;
    border-radius: 30px;
}

.form-container form {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 15px;
}

.form-container {
    position: relative;
    padding: 20px 0;
    border-radius: 25px;
    width: 90%;
    margin: 30px auto;
    background-color: white;
}

.form-check-input{
    width: 15px;
    height: 15px;
    margin-right: 15px !important;
}

.form-check-label{
    margin-left: 10px;
    color: var(--teal-green) !important;
}

form.imprese-form input:not(.form-check-input),
form.imprese-form select,
form.imprese-form textarea {
    font-size: 16px !important;
    color: black;
    border-radius: 25px;
    padding: 15px 10px !important;
    background-color: #EFEFEF !important;
    border: none;
    /* margin-bottom: 10px !important; */
}

form.imprese-form input::placeholder,
form.imprese-form textarea::placeholder,
form.imprese-form select,
form.imprese-form .privacy p {
    color: #97979B;
    font-size: 13px;
    text-align: left;
}

.text-muted {
    display: flex;
    justify-content: end;
    color: #97979B !important;
}

form.imprese-form input:focus-visible, 
form.imprese-form textarea:focus-visible, 
form.imprese-form select:focus-visible{
    outline-color: var(--theme-color) !important;
}

form.imprese-form select:valid {
    color: black;
}

label {
    font-size: 16px;
    color: #97979B;
    text-align: center;
    font-weight: 500;
}

input,
select,
textarea {
    width: 100%;
    resize: none;
    overflow: hidden;
    padding: 8px 0;
}

.privacy {
    display: flex;
    align-items: center;
    text-align: center;
    width: 75%;
    margin: 20px 0 20px -50px;
}

.privacy input {
    width: 35%;
}

textarea {
    margin-bottom: 0;
}

#message_descrizione {
    height: 150px;
}

.expert-form button {
    background-color: var(--teal-green);
    color: white;
    border: 0;
    padding: 5px 40px;
    border-radius: 25px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    position: absolute;
    bottom: -15px;
}

/* TROVA CONSULENTE */

#trova_consulente {
    margin-top: 80px;
}

.consulente_section {
    margin-top: 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: var(--theme-color);
    height: auto;
    width: 100%;
    border-radius: 0 0 25px 25px;
    padding: 20px 10px;
    box-shadow: 0px -4px 8px rgba(0, 0, 0, 0.3);
}

.map {
    display: none;
}

.consulente_p {
    line-height: 40px;
    font-size: 26px;
    color: white;
    font-weight: 600;
    text-align: center;
}

.consulente_radio_btn {
    display: flex;
    gap: 20px;
    justify-content: center;
    margin-top: 20px;
}

.radio-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    gap: 8px;
}

.radio-btn::before {
    content: "";
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background-color: white;
    border: 2px solid #ccc;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

.consulente_radio_btn input[type="radio"]:checked+.radio-btn::before {
    border: 4px solid white;
    background-color: #007884;
}

.calcola-btn {
    border: 0;
    border-radius: 20px;
    background-color: #007884;
    color: white;
    padding: 10px 20px;
    width: 200px;
    position: absolute;
    bottom: -3%;
    left: 50%;
    transform: translate(-50%, 0);
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.3);
}

.radio-btn span {
    font-size: 10px;
    text-align: center;
    color: #333;
    text-transform: uppercase;
    font-weight: bold;
    margin-top: 5px;
}

.custom-select-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    text-align-last: center;
    position: relative;
    gap: 20px;
    width: 100%;
    margin-top: 20px;
    margin-bottom: 40px;
}

.custom-select-wrapper select {
    width: 75vw;
    padding: 12px 16px;
    font-family: 'Lato', sans-serif;
    font-size: 16px;
    color: #8F8E93;
    border: 1px solid #ccc;
    border-radius: 8px;
    background-color: white;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: border 0.3s ease;
}

.custom-select-wrapper select:focus {
    border: 1px solid #0159be;
    outline: none;
}

.custom-select-wrapper select option[disabled] {
    color: #8F8E93;
}

.ris_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 25px;
    margin-bottom: 40px;
}

.risultato-btn {
    background-color: var(--theme-color);
    border: none;
    border-radius: 25px;
    padding: 15px;
    color: white;
    width: 300px;
    box-shadow: 0 -4px 8px rgba(0, 0, 0, 0.3);
    transition: 0.3s ease;
}

.risultato-btn:hover {
    background-color: #0252ad;
}

.risultato-btn:active {
    transform: scale(0.95);
}

/* Carosello */

.professional-section .text-content {
    padding-top: 60px;
    color: var(--bg-light);
}

.professional-section .card {
    position: relative;
    align-items: center;
    background-color: transparent;
    border: none;
}

.professional-section .card-img {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    padding-right: 10px;
    z-index: 1000;
    background-color: var(--bg-light);
    display: flex;
    align-items: center;
    justify-content: center;
}

.professional-section .card-body {
    width: 80%;
    max-width:315px;
    background-color: var(--bg-light);
    border-bottom-left-radius: 40px;
    border-bottom-right-radius: 40px;
    position: relative;
    top: -40px;
    padding-top: 50px;
}

.professional-section .card-body p {
    line-height: 20px;
    font-size: 1.6rem;
    font-weight: 400;
}

.professional-section .card-body::before {
    content: "";
    position: absolute;
    top: -10px;
    /* Moves border up */
    left: 0;
    width: 100%;
    height: 4px;
    background-color: var(--bg-light);
}

.professional-section .owl-nav {
    position: relative;
    top: -265px;
    display: flex;
    justify-content: space-between;
}

.professional-section .owl-dots {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    margin-bottom: 20px;
  }

  .professional-section .owl-dot span {
    width: 12px;
    height: 12px;
    background-color: #fff;
    display: block;
    border-radius: 50%;
    margin: 0 5px;
    cursor: pointer;
    transition: background-color 0.3s ease;
  }

  .professional-section .owl-dot.active span {
    background-color: var(--theme-color);
  }

.owl-theme .owl-dots .owl-dot.active span,
.owl-theme .owl-dots .owl-dot:hover span {
    background-color: var(--teal-green) !important;
    border: 1px solid var(--teal-green) !important;
}

#carousel {
    background-color: #e5e5e5;
    border-radius: 0px 0px 25px 25px;
}

/* Serie di 4 testo + img */

.text-1 {
    font-size: 20px;
    color: #3D3D3D;
    width: 90%;
    margin: 80px auto;
}

.prodotto-cont {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: 20px;
    padding: 20px 0 40px 0;
}

.prodotto-cont p {
    color: #3D3D3D;
    text-align: center;
    margin: 10px auto;
}

.prodotto-cont img {
    margin-top: 30px;
    width: 350px;
}

.prod-info {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* SLIDER */

.slider {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    overflow: hidden;
    padding: 60px 0;
}

.slider-arrow {
    background: none;
    border: none;
    font-size: 20px;
    color: white;
    cursor: pointer;
    padding: 0 50px;
    z-index: 10;
}

.slider-container {
    width: 185px;
    height: 60px;
    overflow: hidden;
    position: relative;
    border-radius: 26px;
    background-color: white;
}

.slider-images {
    display: flex;
    transition: transform 0.5s ease-in-out;
}

.slider-image {
    min-width: 185px;
    height: 60px;
    padding: 8px 4px;
}

.slider-images img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    /* Impedisce che le immagini si deformino */
}

.slider-dots {
    display: flex;
    justify-content: center;
    margin-top: 20px;
    gap: 5px;
}

.dot {
    width: 10px;
    height: 10px;
    background-color: #ccc;
    border-radius: 50%;
    cursor: pointer;
}

.dot.active {
    background-color: var(--theme-color);
}

.grey_text {
    background-color: #E9E9E9;
    border-radius: 25px 25px 0 0;
    padding: 25px 0 80px 0;
}

/*  */

footer {
    margin-top: 0 !important;
}

/* MEDIA QUERIES */

.foto-dsk {
    display: none;
}

.p-intro-dsk {
    display: none;
}

.text-post-check {
    display: none;
}

.grey-line {
    display: none;
}

.box-container {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.form-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.form-content-desktop {
    display: none;
}

/* .container {
    position: relative;
    width: 100%;
    max-width: 100%;
} */

/* .row {
    width: 100%;
} */

.form-btn {
    font-size: 16px;
    padding: 10px 40px;
    border-radius: 16px;
    position: absolute;
    bottom: -60px;
}


/* GESTIAMO LA FRECCIA DEL SELECT */
.imprese-form select {
    -webkit-appearance: none; /* Chrome e Safari */
    -moz-appearance: none;    /* Firefox */
    appearance: none;
  }
  
  /* Per IE 10+ e vecchi Edge */
.imprese-form select::-ms-expand {
    display: none;
  }

.imprese-form select {
    /* Padding a destra per fare spazio alla freccia */
    padding-right: 2rem;
    /* Imposta la freccia come background */
    background: url('../images/arrow_gray_down.svg') no-repeat right 4rem center;
    background-size: 16px; 
  }


  .tc-green {
    color: var(--theme-color) !important;
  }

  #partner-banks-component{
    margin-bottom: 100px;
  }

  #partner-banks-component .bg-slider {
    background-color: var(--theme-color) !important;
  }

@media (min-width : 1200px) {

    .photos .logo {
        bottom: 100px !important;
    }

    .hero .band{
        z-index: 1001;
    }

    .photos .city {
        z-index: 1000;
    }

    .form_btn {
        display: none !important;
    }

    .hero {
        min-height: 560px !important;
    }

    .p-intro-dsk {
        display: block;
    }

    .intro_container{
        height: 720px;
    }

    .intro-info {
        margin: 0 auto;
        width: 70vw;
        max-width: 1200px;
    }

    .intro-info p {
        text-align: left;
    }

    .check_container {
        margin: 20px 0 !important;
    }

    .check_text {
        justify-content: inherit !important;
    }

    .foto-dsk {
        display: block;
        top: 25%;
        right: 0;
        left: inherit !important;
        transform: translate(0, 0) !important;
    }

    .foto-mobile {
        display: none;
    }

    .text-2-container {
        width: 70vw;
        max-width: 1200px;
        margin: 110px auto 0 auto;
    }

    .text-2-container p {
        text-align: left !important;
    }

    .text-post-check {
        display: block;
        /* width: 50vw; */
        margin-top: 20px;
    }

    .grey-line {
        display: block;
        margin: 40px auto;
        width: 70vw;
        border: 1px solid lightgrey;
    }

    .box-container {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr);
        justify-items: center;
        margin-bottom: 50px;
        width: 60%;
    }

    .blu-box,
    .grey-box {
        margin: 0 auto 20px auto;
    }

    .box-form-container {
        position: relative;
        background-color: var(--teal-green) !important;
        border-radius: 32px 32px 0 0;
    }

    .form-title {
        position: absolute;
        bottom: 50%;
    }

    .p-container-form {
        background-color: var(--theme-color) !important;
        position: absolute;
        border-radius: 0 32px 32px 0;
        width: 90vw;
        max-width: 2000px;
        left: 0;
        top: 42%;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        height: 300px;
    }

    .form-container form{
        padding: 50px;
    }

    .form-container {
        margin: 200px auto 0 auto !important;
    }

    .form-container input::placeholder,
    .form-container select option,
    .form-container textarea::placeholder {
        color: inherit;
    }

    .form-container input,
    .form-container select,
    .form-container textarea {
        background-color: var(--teal-green);
    }

    .question-form-container {
        background-color: inherit !important;
    }

    .form-container{
        margin-top: 100px !important;
        width: 60% !important;
    }

    .separator {
        border-top: 1px solid #ccc;
        margin: 20px 0;
        width: 90%;
    }



    .imprese-form select {
        padding: 17px 10px !important;
    }

    .container button.form-btn {
        font-size: 16px;
        padding: 10px 40px;
        border-radius: 16px;
        position: absolute;
        bottom: -20px;
    }

    #trova_consulente {
        margin-top: -40px;
    }

    .custom-select-wrapper {
        flex-direction: row;
    }

    .ris_btn {
        margin-top: -25px;
    }

    .map_radio,
    .consulente_block {
        display: flex;
        flex-direction: row;
        justify-content: center;
        align-items: center;
    }

    .separation_line {
        width: 1px;
        height: 100px;
        border: 1px solid rgb(200, 200, 200);
        margin: 0 40px;
    }

    .consulente_block {
        max-width: 80vw;
    }

    .custom-select-wrapper select {
        width: 250px;
    }

    .map {
        display: block;
    }

    .map_radio {
        margin: 0 5vw;
    }

    .mutuo_text p {
        width: 70vw;
        max-width: 1500px;
    }

    .consulente_section{
        margin-top: 0;
    }

    .prodotto-cont{
        flex-direction: row;
        width: 70vw;
        max-width: 2000px;
        margin: 0 auto;
    }

    .prod-bg{
        width: 100vw;
    }

    .text-1{
        width: 70vw;
        max-width: 2000px;
    }

    .prod-img{
        margin: 0 20px;
    }

    .blue-divider{
        border: 3px solid var(--theme-color);
        width: 100vw;
    }
}