@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@300&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Manrope&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@500&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@700&display=swap');


:root {
    --menarini-gradient: 112deg, #9C0912 0%, #D11B27 32.72%, #ED2330 65.44%, #F5333F 98.15%;
    --menarini-red: #F5333F;
    --grey: #767494;
    --light-grey: #F5F7F9;
    --text: #3C4981;
    --bs-btn-disabled-color: var(--grey);
    --basso-moderato-gradient: 90deg, #1CD47E 0%, #04A65A 21.13%, #F2B31F 86.77%, #F2B31F 137.99%;
    --basso-moderato: #06A95D;
    --moderato: #F38420;
    --molto-alto: #9E0A13;
}

html,
body {
    background: linear-gradient(var(--menarini-gradient));
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    color: var(--text);
}

a,
button,
.btn,
.swal2-styled {
    transition: 0.5s;
}

p {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
}

.hero h2 {
    max-width: 716px;
}

h3 {
    font-weight: 700;
}


.navbar {
    background-color: transparent !important;
    color: white;
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
}

.nav-link {
    color: white;
    border: 1px solid transparent;
    border-radius: 30px;
    margin-left: 10px;
}

.nav-link:hover {
    color: white;
    border: 1px solid white;
    border-radius: 30px;
    transition: 0.5s;
}

.navbar-nav .nav-link.active {
    color: var(--menarini-red);
    background-color: white;
    border-radius: 30px;
    max-width: fit-content;
}

.footer {
    background-color: white;
    border-radius: 30px 30px 0 0;
    padding: 20px;
    color: var(--grey);
}

.footer a {
    color: var(--menarini-red);
}

.box {
    background-color: white;
    border-radius: 30px;
    color: var(--text);
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
}

@media (min-width: 992px) {
    .hero {
        background-image: url(../img/cuore.svg);
        background-repeat: no-repeat;
        background-position: top right;
    }
}

.container.home {
    min-height: calc(100dvh - 210px);
}

.home h1 {
    color: var(--menarini-red);
    font-size: 36px;
    font-style: normal;
    font-weight: 300;
    line-height: 120%;
}

.home h2 {
    font-size: 24px;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
}

.home h3 {
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
}

.note {
    color: var(--grey);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.blu {
    color: var(--text);
}

.accordion {
    --bs-accordion-border-radius: 30px;
    --bs-accordion-inner-border-radius: 30px;
    --bs-accordion-color: var(--text);
}

.accordion-header {
    background-color: #EBF1FA; 
    border-radius: 30px 
}

.accordion-item {
    border-radius: 30px !important;
    border: none;
    color: var(--text);
    background-color: #EBF1FA; 
}

.accordion-collapse {
    background-color: #D8DEE8;
}
/*
.accordion-button {
    background-color: #D8DEE8;
    color: var(--text);
}*/

.accordion-button {
    display: inline-flex;
    width: calc(50% - 3px);
    background-color: #EBF1FA; 
    color: var(--text);
}
.d-print-block .accordion-button::after {
    display: none;
}


.accordion-button:focus {
    outline: none !important;
    box-shadow: none !important;
}

.accordion-button:not(.collapsed) {
    background-color: #D8DEE8; 
} /*
.accordion-item:last-of-type, .accordion-item:first-of-type {
    background-color: #D8DEE8;
}


.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{
    background-color: white;
}

.accordion-item:first-of-type>.accordion-header .accordion-button {
    background-color: transparent;
}*/




.accordion-body {
    font-size: 16px;
    line-height: 150%;
    font-weight: 300;
}

.accordion-body a {
    color: var(--menarini-red);
}

.btn,
.swal2-styled {
    border-radius: 30px !important;
    border: 1px solid var(--menarini-red) !important;
}

.btn-primary,
.swal2-styled {
    background: linear-gradient(var(--menarini-gradient)) !important;
    --bs-btn-border-color: linear-gradient(var(--menarini-gradient)) !important;
    --bs-btn-border-color: var(--menarini-red) !important;
    --bs-btn-hover-color: var(--menarini-red) !important;
    --bs-btn-hover-bg: #fff !important;
    --bs-btn-hover-border-color: var(--menarini-red) !important;
    --bs-btn-focus-shadow-rgb: 49, 132, 253 !important;
    --bs-btn-active-color: #fff !important;
    --bs-btn-active-bg: var(--menarini-red) !important;
    --bs-btn-active-border-color: var(--menarini-red) !important;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125) !important;
    --bs-btn-disabled-color: #fff !important;
    --bs-btn-disabled-bg: var(--menarini-red) !important;
    --bs-btn-disabled-border-color: var(--menarini-red) !important;
    --bs-btn-disabled-opacity: 1 !important;
}

.btn-primary:hover,
.swal2-styled:hover {
    background: #fff !important;
    color: var(--menarini-red) !important;
}

.btn-outline-primary {
    --bs-btn-color: var(--menarini-red);
    --bs-btn-border-color: var(--menarini-red);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--menarini-red);
    --bs-btn-hover-border-color: var(--menarini-red);
    --bs-btn-focus-shadow-rgb: 13, 110, 253;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--menarini-red);
    --bs-btn-active-border-color: var(--menarini-red);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--menarini-red);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--menarini-red);
    --bs-gradient: none;
}

.btn-outline-primary:hover,
.btn-outline-primary:active {
    background: linear-gradient(var(--menarini-gradient));
    color: #fff;
}

.btn-outline-secondary {
    --bs-btn-color: var(--text);
    --bs-btn-border-color: var(--text);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: var(--text);
    --bs-btn-hover-border-color: var(--text);
    --bs-btn-focus-shadow-rgb: 108, 117, 125;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: var(--text);
    --bs-btn-active-border-color: var(--text);
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: var(--text);
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: var(--text);
    --bs-gradient: none;
    border: 1px solid var(--text);
}

.btn-check:checked+.btn {
    background: linear-gradient(var(--menarini-gradient));
    border-color: var(--menarini-red);
}

.btn-check:checked+.btn svg path,
.btn-check:checked+.btn svg,
.btn-check:checked+.btn svg path {
    fill: white !important;
    color: white !important;
}

.btn-outline-terziary {
    --bs-btn-disabled-opacity: 1;
}

.diabete .btn-primary {
    min-width: 72px;
}

.modal-header {
    border-bottom: none;
    padding-bottom: 0;
}

.modal-title {
    font-weight: 700;
}

.step {
    color: var(--grey);
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
}

.step .btn-primary.numero,
.step .btn-outline-terziary.numero {
    width: 31px;
}

span.line {
    width: 60px;
    margin: 3px -4px;
    display: inline-block;
    border-bottom: 2px solid var(--grey);
    border-bottom-style: dotted;
}

span.line.complete {
    border-color: var(--menarini-red);
}

.form-control {
    border-radius: 30px;
}

.form-text {
    margin-top: -10px;
    font-size: 14px;
    color: var(--grey);
}

.form-label {
    font-size: 16px;
}

.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {

    border-top-right-radius: 30px;
    border-bottom-right-radius: 30px;
    font-size: 14px;
    color: var(--grey);
    width: 65px;

}

.percentuale {
    border-radius: 20px;
    background-color: var(--grey);
    max-width: 204px;
    padding: 10px;
    color: white !important;
    margin: 0 auto;
}

.percentuale .numero {
    font-size: 40px;
    font-style: normal;
    font-weight: 500;
    line-height: 120%;
}

.percentuale .rischio {
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    width: 100px;
    margin: auto;
}

.percentuale.riepilogo {
    border-bottom-width: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.percentuale.riepilogo .numero {
    margin-top: 10%;
}

.basso {
    background: var(--basso-moderato) !important;
}

.basso-moderato {
    background: linear-gradient(var(--basso-moderato-gradient)) !important;
}

.moderato {
    background: var(--moderato) !important;
}

#barra .moderato {
    background: linear-gradient(90deg, #EEAE19 19.75%, #F2771F 64.75%) !important;
}

.alto {
    background: var(--menarini-red) !important;
}

#barra .alto {
    background: linear-gradient(112deg, #F21F5B 0%, #F5333F 0.01%, #ED2330 32.72%, #D11B27 65.44%, #9C0912 98.16%) !important;
}

.molto-alto {
    background: var(--molto-alto) !important;
}

.table.dati {
    --bs-table-bg: #D8DEE8;
    --bs-table-border-color: #CED4DA;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
    --bs-table-color: var(--text);
    width: auto;
    margin: 0 auto;
}



.table.dati>:not(caption)>*>* {
    padding: 1rem 1rem;
}

.table.dati .angolo-top-sx {
    border-top-left-radius: 20px;
}

.table.dati .angolo-bottom-sx {
    border-bottom-left-radius: 20px;
    border-bottom-width: 0;
}

.table.dati .angolo-bottom-rx {
    border-bottom-width: 0;
}

@media (max-width: 768px) {
    .table.dati .angolo-top-rx {
        border-top-right-radius: 20px;
    }

    .table.dati .angolo-bottom-sx {
        border-bottom-left-radius: 0px;
    }

    .percentuale.riepilogo {
        border-bottom-width: 0;
        border-top-left-radius: 0;
        border-top-right-radius: 0;
        border-bottom-left-radius: 20px;
    }

    .percentuale.riepilogo .numero {
        margin-top: 0;
    }
}

.table.dati tr:last-child {
    border-color: transparent;
}


.raccomandazioni .titolo {
    text-align: center;
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 120%;
    border-top: 1px solid #E1E3E5;
    padding-top: 10px;
}

.step-box {
    border-radius: 20px;
    background: var(--light-grey);
    position: relative;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px;
    /*height: 100%;*/
}

.step-box .btn-outline-primary {
    margin-left: 10px;
}

.step-box-titolo {
    max-width: 140px;
    background: var(--grey);
    color: white;
    font-size: 18px;
    font-style: normal;
    font-weight: 800;
    line-height: 24px;
    position: absolute;
    margin-top: -38px;
    left: 40%;
    padding: 10px 25px;
    border-radius: 20px;
}

.step-box .titoletto {
    font-size: 18px;
    font-style: normal;
    font-weight: 800;
    line-height: 150%;
}

.evidenziato {
    font-weight: 700;
    color: var(--molto-alto);
}

.opzione {
    border-radius: 20px;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.15);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 150%;
}

.diabete .opzione .btn-primary {
    min-width: 0;
    min-height: 41px;
}

#legenda .table {
    --bs-table-color: var(--text);
}

#legenda .table td {
    font-size: 18px;
}

#legenda .table .basso-moderato {
    border-top-left-radius: 20px;
    border-bottom-width: 0;
}

#legenda .table #no-border {
    border-bottom-width: 0;
}

#legenda .table .moderato {
    border-bottom-width: 0;
}

#legenda .table .alto {
    border-bottom-left-radius: 20px;
    border-bottom-width: 0;
}


.navbar-toggler-icon {
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") !important;
}

.navbar-toggler {
    border: 1px solid #fff !important;
}

.navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--bs-navbar-nav-link-padding-x) !important;
    padding-left: var(--bs-navbar-nav-link-padding-x) !important;
}




/* RANGE SLIDER */
input[type=range] {
    height: 22px;
    -webkit-appearance: none;
    margin: 10px 0;
    width: 100%;
}

input[type=range]:focus {
    outline: none;
}

input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    animate: 0.2s;
    box-shadow: 0px 0px 0px #50555C;
    background: #E9ECEF;
    border-radius: 12px;
    border: 0px solid #000000;
}

input[type=range]::-webkit-slider-thumb {
    box-shadow: 0px 0px 0px #000000;
    border: 0px solid #000000;
    height: 16px;
    width: 16px;
    border-radius: 15px;
    background: #F5333F;
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: -4px;
}

input[type=range]:focus::-webkit-slider-runnable-track {
    background: #E9ECEF;
}

input[type=range]::-moz-range-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    animate: 0.2s;
    box-shadow: 0px 0px 0px #50555C;
    background: #E9ECEF;
    border-radius: 12px;
    border: 0px solid #000000;
}

input[type=range]::-moz-range-thumb {
    box-shadow: 0px 0px 0px #000000;
    border: 0px solid #000000;
    height: 16px;
    width: 16px;
    border-radius: 15px;
    background: #F5333F;
    cursor: pointer;
}

input[type=range]::-ms-track {
    width: 100%;
    height: 8px;
    cursor: pointer;
    animate: 0.2s;
    background: transparent;
    border-color: transparent;
    color: transparent;
}

input[type=range]::-ms-fill-lower {
    background: #E9ECEF;
    border: 0px solid #000000;
    border-radius: 24px;
    box-shadow: 0px 0px 0px #50555C;
}

input[type=range]::-ms-fill-upper {
    background: #E9ECEF;
    border: 0px solid #000000;
    border-radius: 24px;
    box-shadow: 0px 0px 0px #50555C;
}

input[type=range]::-ms-thumb {
    margin-top: 1px;
    box-shadow: 0px 0px 0px #000000;
    border: 0px solid #000000;
    height: 16px;
    width: 16px;
    border-radius: 15px;
    background: #F5333F;
    cursor: pointer;
}

input[type=range]:focus::-ms-fill-lower {
    background: #E9ECEF;
}

input[type=range]:focus::-ms-fill-upper {
    background: #E9ECEF;
}

.indicatore .btn-outline-primary {
    margin-top: -33px;
}

.modal-header {
    align-items: start !important;
}

.btn-close {
    margin-top: 0 !important;
}

/* ONLY FOR PRINTING */

@media print {

    html,
    body {
        background: linear-gradient(112deg, #fff 0%, #fff 100%) !important;
    }

    .container {
        width: 100%;
        max-width: 100%;
    }

    table td {
        padding: 8px !important;
    }

    div, p, .step, .accordion-header button {
        font-size: 12px;
        line-height: 14px;
    }

    .accordion-header button {
        padding: 0.5em;
    }

    .py-3, .p-lg-5 {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .mb-2, .mb-3, .mb-4 {
        margin-bottom: 0.5em !important;
    }

    .mb-5 {
        margin-bottom: 0.5em !important;
    }

    .raccomandazioni .col-12.col-lg-10.mb-5 {
        margin-bottom: 2em !important;
    }

    .onlyPrint {
        display: block;
    }

    .navbar-toggler {
        display: none;
    }

    .accordion-collapse {
        display: block !important;
    }

    .navbar-brand img {
        content: url("../img/cardiopro-redlogo.svg");
    }

    .row.step div.text-center:last-child {
        display: none;
    }

    .fine,
    .stampa {
        display: none;
    }

    h3 {
        font-size: 14px;
    }

    .raccomandazioni .titolo {
        font-size: 14px;
    }

    .step-box .titoletto {
        font-size: 12px;
    }

    .accordion-body {
        padding: 0.5em 0.5em 0.5em 1.5em;
        font-size: 11px;
    }

    .no-link {
        display: none;
    }

    td {
        font-size: 14px;
    }

    .numero.boxRisultatoRischio {
        font-size: 20px;
    }

    .rischio.boxTestoRischio {
        font-size: 14px;
    }

    .img-fluid {
        max-height: 150px;
        width: auto;
    }

    .accordion-body ul {
        column-count: 2;
        padding-inline-start: 0;
    }

    .accordion-body ol {
        padding-inline-start: 0;
    }

    .step-box .mb-3, .step-box .mt-4 {
        margin: 0.5em 0em !important;
    }
    
    .pazienteApparentementeSanoRiepilogo .raccomandazioni>.col-12>.row:not(.onlyPrint)>.col-12 {
        width: 50%;
    }

}

@media screen {
    .onlyPrint {
        display: none;
    }
}

.policy,
.policy p {
    font-size: 18px;
    line-height: 120%;
}

.policy h4 {
    margin-top: 15px;
    font-weight: bold;
}

.policy a {
    font-weight: 700;
    color: var(--menarini-red);
}


/* TABELLA NEL COOKIE BANNER */
.pm__section-desc table {
    border-top: 1px solid #eee !important;
    border-left: 1px solid #eee !important;
}

.pm__section-desc table td {
    padding: 2px 5px !important;
    font-size: 11px !important;
    line-height: 13px !important;
    border-bottom: 1px solid #eee !important;
    border-right: 1px solid #eee !important;
}


div:where(.swal2-container) button:where(.swal2-styled).swal2-confirm:focus {
    box-shadow: 0 0 0 3px transparent !important;
}


/* SERGIO */
#installBanner {
    position: absolute;
    width: 100%;
    max-width: 500px;
    top: 30px;
    /*left: calc( 50dvw - 250px );*/
    left: 50%;
    transform: translate(-50%, 0);
    background-color: #fff;
    color: var(--text);
    border-radius: 30px;
    padding: 30px;
    box-shadow: 0px 0px 25px 11px rgba(0,0,0,0.41);
}
#buttonContainer {
    position: relative;
    height: 30px;
}
#buttonContainer .btn {
    position: absolute;
    right: 0;
}

@media (max-width: 768px) {
    .percentuale .rischio {
        width: 100%;
        margin: auto;
    }
}