body{

    display: flex
;
    flex-direction: column;
    min-height: 100vh;
    background-color: #E8E8E8;
    
    font-family: Montserrat;
}

#loader_container{
    display: none;
    position: absolute;
    top: -10px;
    left: -5px; 
    width: 100%;
    height: 100vh;  
    background: #E8E8E8;      
    z-index: 999999; 
}
.loader {
    position: absolute;
    width: 200px;
    height: 200px;
    left: 45%;
}
.loader:before , .loader:after{
    content: '';
    border-radius: 50%;
    position: absolute;
    inset: 0;
    box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.3) inset;
}
.loader:after {
    box-shadow: 0 5px 0 #009C3C inset;
    animation: rotate 2s linear infinite;
}
@keyframes rotate {
    0% {  transform: rotate(0)}
    100% { transform: rotate(360deg)}
}

h1{

    font-family: Montserrat;

    font-size: 52px;

    font-weight: bold;

    font-stretch: normal;

    font-style: normal;

    line-height: 1.15;

    letter-spacing: normal;

    text-align: center;

    color: #fff;   

}

h2{

    font-family: Montserrat;

    font-size: 42px;

    font-weight: bold;

    font-stretch: normal;

    font-style: normal;

    line-height: 1.05;

    letter-spacing: normal;

    text-align: left;

    color: #fff;

}

h3{   

    font-family: Montserrat;

    font-size: 36px;

    font-weight: bold;

    font-stretch: normal;

    font-style: normal;

    line-height: 1.31;

    letter-spacing: -0.86px;

    text-align: center;

    color: #fff;

}

h4{  

    margin: 0; 

    font-family: Montserrat;

    font-size: 28px;

    font-weight: bold;

    font-stretch: normal;

    font-style: normal;

    line-height: 30px;

    letter-spacing: normal;

    text-align: left;

    color: #009C3C;

}

h5{

    font-family: Montserrat;

    font-size: 28px;

    font-weight: normal;

    font-stretch: normal;

    font-style: normal;

    line-height: 1.07;

    letter-spacing: normal;

    text-align: center;

    color: #fff; 

}    

a{

    font-family: Montserrat;

    font-size: 16px;

    font-weight: 500;

    font-stretch: normal;

    font-style: normal;

    text-decoration: underline;

    line-height: 1.25;

    letter-spacing: normal;

    text-align: left;

    color: #393939;

}  

a:link {

    text-decoration: underline;

    color: #393939;

}

a:visited {

    text-decoration: underline;

    color: #393939;

}

a:focus {

    text-decoration: underline;

    color: #393939;

} 



p{

    margin: 0;

    font-family: Montserrat;

    font-size: 16px;

    font-weight: bold;

    font-stretch: normal;

    font-style: normal;

    line-height: 1.25;

    letter-spacing: normal;

    text-align: left;

    color: #393939; 

}

label{
    margin-bottom: 10px;
    font-family: Montserrat;
    font-size: 21px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.24;
    letter-spacing: normal;
    text-align: left;
    color: #6d81a3;
}

.btn_grande{
    width: fit-content;
    min-width: 280px;
    padding: 10px 50px;
    border-radius: 43px;
    border: solid 1px #009C3C;
    background-color: #009C3C;
    cursor: pointer;

    font-family: Montserrat;
    font-size: 21px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 26px;
    letter-spacing: normal;
    text-align: center;
    color: #ffffff;
}

.btn_classifica{
    width: fit-content;
    min-width: 280px;
    padding: 10px 50px;
    border-radius: 43px;
    border: solid 1px #009C3C;
    background-color: #009C3C;
    cursor: pointer;

    font-family: Montserrat;
    font-size: 21px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 26px;
    letter-spacing: normal;
    text-align: center;
    color: #ffffff;
}

.btn_grande_blanco{
    width: fit-content;
    min-width: 280px;
    padding: 10px 50px;
    border: solid 1px #009C3C;
    border-radius: 43px;
    background-color: #FFFFFF;
    cursor: pointer;

    font-family: Montserrat;
    font-size: 22px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 30px;
    letter-spacing: normal;
    text-align: center;
    color: #009C3C;
}

.btn_grande_gris{
    width: fit-content;
    min-width: 280px;
    padding: 10px 50px;
    border: solid 1px #D7D7D7;
    border-radius: 43px;
    background-color: #D7D7D7;
    pointer-events: none;

    font-family: Montserrat;
    font-size: 21px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 26px;
    letter-spacing: normal;
    text-align: center;
    color: #9C9C9C;
}

#cabecera{
    background-color: #FFF;
    -webkit-box-shadow: 0px 4px 14px -6px rgb(0 0 0 / 16%);
    -moz-box-shadow: 0px 4px 14px -6px rgba(0, 0, 0, 0.16);
    box-shadow: 0px 4px 14px -6px rgb(0 0 0 / 16%); 
}
#cabecera_logo{
    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 45px 15px 45px 15px;
    width: 100%;
    max-width: 1655px;
    margin: auto;
    margin-left: auto !important;
    margin-right: auto !important;
}
#cabecera_logo #logo{
    width: 100%;
    max-width: 368px;
    height: auto;
    cursor: pointer; 
}

#award_title{
    width: 100%;

    font-family: Montserrat;
    font-size: 32px;
    font-weight: 700;
    line-height: 16px;
    text-align: center;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;
    color: #009C3C;
}
#text_award{
    font-family: Montserrat;
    font-size: 20px;
    font-weight: 400;
    line-height: 26px;
    text-align: center;
    text-underline-position: from-font;
    text-decoration-skip-ink: none;  
    color: #009C3C;  
}
#award_info{
    font-family: Montserrat;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    text-align: center;
    text-underline-position: from-font;
    text-decoration-skip-ink: none; 
    color: #009C3C;   
}

#menu_desktop{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: end;
    gap: 20px;
}

#menu_desktop div p{
    font-family: Montserrat;
    font-size: 22px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: left;
    color: #393939;
}
.seleccionado{
    background-color: #009C3C !important;
}

.contenuti,.classifica,.sell-out,.premi,#notifiche,#log_out_usu,.log_out{ 
    display: flex;  
    align-items: center;
    justify-content: start;
    gap: 14px;

    width: fit-content;
    background-color: #FFFFFF;
    padding: 10px 20px;
    border-radius: 35px;
    cursor: pointer;

    transition: background-color 0.5s linear;
}

.profile{
    padding: 0;
    font-weight: normal;
    display: block;
    cursor: pointer;
}

.menu_profilo {
    display: flex;
    flex-direction: column;
    gap: 3px;
}


.contenuti i{
    display: block;
    width: 11px;
    height: 10px;
    border-left:2px solid #009C3C;
    border-bottom:2px solid #009C3C;
    transform: rotate(-45deg); /*Giramos el cuadrado*/
    margin-top: -5px;
    /* transition: all 0.25s ease; */
    cursor: pointer;
}
#menu_desktop div.contenuti.seleccionado p{
    color: #fff;    
}
.contenuti.seleccionado i {
    border-left:2px solid #FFFFFF;
    border-bottom:2px solid #FFFFFF;
}
.contenuti.desplegado{
    padding: 10px 20px;
    border-radius: 35px;
    background-color: #009C3C ;
    transition: background-color 0.5s linear;
}
#menu_desktop div.contenuti.desplegado p{
    color: #fff;    
}
.contenuti.desplegado i { 
    border-left:2px solid #FFFFFF;
    border-bottom:2px solid #FFFFFF;
    /*transform: rotate(-45deg); Giramos el cuadrado*/
}
#contenuti_menu{
    display: none;
    align-items: start;
    justify-self: start;
    gap: 60px;

    position: absolute;
    top: 150px;
    left: 0;
    right: 0;
    margin: auto;
    width: 99%;
    max-width: 1350px;
    padding: 12px 30px 30px 30px;
    border-radius: 12px;
    box-shadow: 0 7px 22px 5px rgba(0, 0, 0, 0.25);
    background: rgb(255,255,255);
    background: linear-gradient(90deg, rgba(255,255,255,1) 50%, rgba(224,224,224,1) 100%);
    z-index: 999;
}
#contenuti_menu .info{
    width: 100%;
    max-width: 258px;
    margin-top: 15px;

    font-family: Montserrat;
    font-size: 18px;
    font-weight: 400;
    font-stretch: normal;
    font-style: normal;
    line-height: 21px;
    letter-spacing: 0.58px;
    text-align: left;
    color: #000000;
}
#contenuti_menu .item{
    padding: 13px 17.7px 9px 13.7px;
    margin-top: 5px;

    font-family: Montserrat;
    font-size: 22.7px;
    font-weight: 600;
    font-stretch: normal;
    font-style: normal;
    line-height: 27.68px;
    letter-spacing: normal;
    text-align: left;
    color: #000000 !important;
    cursor: pointer;
}
#contenuti_menu .item:hover{
    border-radius: 22px;
    background-color: #e1f1e7;
}
#contenuti_menu .item.selected{
    border-radius: 22px;
    background-color: #e1f1e7;
}
#contenuti_menu .subitem{
    padding: 0 17px 10px 30px;

    font-family: Montserrat;
    font-size: 21px;
    font-weight: 400;
    font-stretch: normal;
    font-style: normal;
    line-height: 26px;
    letter-spacing: normal;
    text-align: left;
    color: #009C3C !important;
    cursor: pointer;
}

.classifica.seleccionado p{
    color: #fff;    
}

.sell-out.seleccionado p{
    color: #fff;    
}

.premi.seleccionado p{
    color: #fff;    
}

#notifiche_panel{
    display: none;
    position: absolute;  
    width: 100%;
    max-width: 522px;  
    top: 110px;
    right: 10px;
    align-items: self-start !important;
    flex-direction: column;
    padding: 25px 0 28px 20.6px;
    border-radius: 10px;
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.16);
    background-color: #fff;
    z-index: 999;
}

#notifiche_panel hr{
    width: 96%;
    opacity: 0.5;
    background-color: #009C3C;
    margin: 0 43px 0 0;
}

#container_btn_letto{
    display: flex;
    justify-content: right;
    margin: 15px 43px 30px 0;
}

.btn_letto{
    display: flex;
    align-items: center;
    justify-content: center;
    width: 269px;
    height: 40px; 
    border-radius: 20px;
    border: solid 2px #009C3C;
    cursor: pointer;

    font-family: Montserrat;
    font-size: 16px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.25;
    letter-spacing: normal;
    text-align: left;
    color: #393939;
}

#container_notifiche{
    overflow-y: auto;
    overflow-x: hidden;
    max-height: 350px;
}

#container_notifica{
    display: flex;
    align-items: self-start;
    justify-content: left;
    margin: 10px 43px 30px 0;
    gap: 10px;
}

#bullet_nifica{
    width: 12px;
    height: 12px;
    margin-top: 5px;
    background-color: #ef7850;
    border-radius: 10px;
}

#notifiche_mobile{
    margin-right: 20px;
}

#notifiche_panel_mobile{
    display: none;
    position: fixed;
    width: 93%;
    height: calc(100vh - 200px);
    top:180px;
    left: 0;
    right: 0;
    margin: auto;

    align-items: self-start !important;
    flex-direction: column;
    padding: 25px 0 28px 20.6px;
    border-radius: 10px;
    box-shadow: 0 0 12px 0 rgba(0, 0, 0, 0.16);
    background-color: #fff;
    z-index: 999;
}

#container_notifiche_mobile{
    overflow: auto;
    height: calc(100vh - 370px);
    width: 99%;
    scrollbar-width: none;
}

#container_notifica_mobile{
    display: flex;
    align-items: self-start;
    justify-content: left;
    margin: 10px 43px 30px 0;
    gap: 10px;
}

.notifica_title{
    font-family: Montserrat;
    font-size: 21px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.1;
    letter-spacing: normal;
    text-align: left;
    color: #009C3C;
    margin-bottom: 10px;

    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: var(--line-clamp, 2);
    overflow: hidden;
    -webkit-box-orient: vertical;
}

.notifica_descrizzione{
    font-family: Montserrat;
    font-size: 16px;
    font-weight: normal;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.25;
    letter-spacing: normal;
    text-align: left;
    color: #393939;

    word-break: break-word;
    display: -webkit-box;
    -webkit-line-clamp: var(--line-clamp, 2);
    overflow: hidden;
    -webkit-box-orient: vertical;
}

.fecha_evento_notifica{
    width: 100%;
    height: 26px;
    margin-top: 15px;
    margin-bottom: 15px;

    font-family: Montserrat;
    font-size: 21px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.1;
    letter-spacing: normal;
    text-align: left;
    color: #6d81a3;
}

.menu_foto_profilo {
    position: relative;
    width: 50px;
    height: 50px;
    background-image: url("../users/default_profile.png");
    background-size: cover;
    background-position: center;
    padding: 4px;
    border: solid 2px #009C3C;
    border-radius: 80px;
}

.cabecera_imagen{
    padding: 0;
}

#cabecera_imagen{
    display: flex;
    height: 190px;
    background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.60) 22.35%, rgba(0, 29, 11, 0.60) 28.27%, rgba(0, 142, 55, 0.60) 51.14%, rgba(98, 179, 45, 0.60) 83.23%), url(../img/FOND_BULLE_BANNER_BRAND.png);
    background-size: cover;
    background-repeat: no-repeat;
}

#cabecera_imagen h2{
    width: 100%;
    padding-left: 125px;
    margin:auto;
}

#punteggiatura{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: -3%;
}
.caja_punteggi{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;

    width: 85%;  
    max-width: 790px;  
    min-height: 216px;
    padding: 25px;
    border-radius: 10px;
    box-shadow: 0px 6px 18px 0px rgba(0, 0, 0, 0.15);
    background-color: #fff;
    z-index: 99;
}

#puntos_acumulato p{ 
    font-family: Montserrat;
    font-size: 21px;
    font-weight: 700;
    font-stretch: normal;
    font-style: normal;
    line-height: 23px;
    letter-spacing: normal;
    text-align: left;
    color: #62B32D;
}

#puntos_acumulato h1{
    width: fit-content;
    margin: 0;

    font-family: Montserrat;
    font-size: 70px;
    font-weight: 800;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: left;
    color: #62B32D;
}

#puntos_prossimo p{

    font-family: Montserrat;

    font-size: 21px;

    font-weight: 700;

    font-stretch: normal;

    font-style: normal;

    line-height: 23px;

    letter-spacing: normal;

    color: #393939;

    text-align: right;

}

#puntos_prossimo h1 {

    width: fit-content;

    margin: 0;

    float: right;



    font-family: Montserrat;

    font-size: 70px;

    font-weight: 800;

    font-stretch: normal;

    font-style: normal;

    line-height: normal;

    letter-spacing: normal;

    color: #393939;

    text-align: right;

}

.progress_bar{
    position: relative;
    width: 100%;
    margin-top: auto;
}
.progress_point{
    position: absolute;
    top: 8px;
    width: 8px;
    height: 8px;
    background: #FFFFFF;
    border-radius: 20px;    
}
.progress_1{
    width: 100%;
    height: 24px;    
    margin-top: 0;
    margin-bottom: 0;
    background-color: #C1C1C1;
    border: none;
    border-radius: 10px;
}
.progress_2{
    width: 0;
    height: 24px;
    margin: -24px 0 0 0;
    background-color: #62B32D;
    border: none;
    border-radius: 10px;
}

/*MENU MOBILE*/
#menu_mobile{
    display: none;
}
#panel_menu_mobile{
    display: none;
}


.policy_container{
    width: 100%;
    max-width: 1074px;
    margin: 50px auto 160px auto;
}

.title_policy{
    margin-bottom: 50px;

    font-family: Montserrat;
    font-size: 28px;
    font-weight: bold;
    font-stretch: normal;
    font-style: normal;
    line-height: 1.07;
    letter-spacing: normal;
    text-align: left;
    color: #009C3C;
}

.policy_container p{

    font-family: Montserrat;

    font-size: 16px;

    font-weight: normal;

    font-stretch: normal;

    font-style: normal;

    line-height: 1.25;

    letter-spacing: normal;

    text-align: left;

    color: #393939;

}

@media (max-width: 520px) {
    .loader{
        left: 25%;
    }

    h1{
        width: 70%;
        margin: auto;

        font-family: Montserrat;
        font-size: 36px;
        font-weight: bold;
        font-stretch: normal;
        font-style: normal;
        line-height: 1.11;
        letter-spacing: normal;
        text-align: center;
        color: #fff;
    }     

    

    h5{

        width: 80%;

        margin: auto;



        font-family: Montserrat;

        font-size: 21px;

        font-weight: normal;

        font-stretch: normal;

        font-style: normal;

        line-height: 1.1;

        letter-spacing: normal;

        text-align: center;

        color: #fff; 

    }      



    #cabecera_logo{

        position: fixed;  

        top: 0;

        background-color: #FFFFFF;

        width: 100%;

        padding: 30px 20px;

        box-shadow: 0 3px 6px 0 rgba(0, 0, 0, 0.16);

        z-index: 999;

    }

    #cabecera_logo #logo{
        max-width: 169px;
    }

    #menu_desktop{
        display: none;
    }
    #contenuti_menu{
        display: none !important;
    }

    .cabecera_imagen{
        padding: 0;
        margin-top:120px;
    }
    #cabecera_imagen{
        height: 275px;
    }
    #cabecera_imagen h2{
        margin: 30px auto;
        padding: 85px 10px;
    }



    #punteggiatura {
        margin-top: -25%;
    }    
    .caja_punteggi{
        width: 92%;
        padding: 25px 15px;
    }
    #puntos_acumulato{
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;

        width: 100%;
    }
    #puntos_acumulato p{
        text-align: center;
    }

    #puntos_prossimo{
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;

        width: 100%;
    }
    #puntos_prossimo p{
        text-align: center;
    }
    .caja_punteggi :nth-child(2){order: 1;}
    .progress_bar{
        margin-bottom: 30px;
    }

    /*MENU MOBILE*/
    #menu_mobile{
        display: flex;
        gap: 24px;
    }
    #notifiche_mobile{
        margin-right: 0;
    }   
    .hamburger{
        background-color:transparent;
        margin: auto;
    
        -webkit-transform:translate3d(0, 0, 0);
        transform:translate3d(0, 0, 0);
        -webkit-transition:-webkit-transform 0.25s cubic-bezier(0.05, 1.04, 0.72, 0.98);
        transition:transform 0.25s cubic-bezier(0.05, 1.04, 0.72, 0.98);	
    
        -webkit-user-select:none;
        -moz-user-select:none;
        -ms-user-select:none;
        user-select:none;
    
        z-index:1002;
        cursor:pointer;
    }
    ._layer{
        background:#009C3C;
        border-radius:2px;
        width:28px;
        height:3px;
        opacity:1;
        -webkit-transform:translate3d(0, 0, 0);
        transform:translate3d(0, 0, 0);
        -webkit-transition:all 0.25s cubic-bezier(0.05, 1.04, 0.72, 0.98);
        transition:all 0.25s cubic-bezier(0.05, 1.04, 0.72, 0.98);
    }
    .-mid{
        margin: 8px 0;
    }
    .hamburger.is-active .-top{
        -webkit-transform:translateY(500%) rotate(45deg) !important;
        -ms-transform:translateY(500%) rotate(45deg) !important;
        transform:translateY(500%) rotate(45deg) !important;
    }
    .hamburger.is-active .-mid{
        opacity:0;
    }
    
    .hamburger.is-active .-bottom{
        -webkit-transform:translateY(-200%) rotate(135deg) !important;
        -ms-transform:translateY(-200%) rotate(135deg) !important;
        transform:translateY(-200%) rotate(135deg) !important;
    }
    
    #panel_menu_mobile{
        display: block;
        position: fixed;
        width: 100%;
        height: 0;
        top:123px;    
        background-color: #FFFFFF;
        z-index: 995;
    }
    #options_menu_mobile{
        display: none;
        width: 100%;
        height: calc(100vh - 123px);
        margin-top: 0;
        padding: 0;
        overflow: auto;
    }
    #options_menu_mobile div p{
        font-family: Montserrat;
        font-size: 22px;
        font-weight: 600;
        font-stretch: normal;
        font-style: normal;
        line-height: 130%;
        letter-spacing: normal;
        text-align: left;
        color: #393939;
    }

    .menu_item_mobile{
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100%;
        height: 66px;
        border-bottom: solid 0.5px #C3C3C3;
        border-radius: 0;
    }
    .icon_mobile_menu{
        display: flex;
        align-items: center;
        justify-content: center;
        width: 43px;
    }

    .contenuti.seleccionado p{
        color: #fff !important; 
    }
    .contenuti.desplegado{
        background-color: #009C3C;  
        transition: background-color 0.5s linear;
        border-radius: 0;
        padding: 0;
    }
    #options_menu_mobile div.contenuti.desplegado p{
        color: #fff;    
    }    
    #contenuti_menu_mobile{
        display: none;
        flex-direction: column;
        width: 100%;
        height: 0;
    }    
    #contenuti_menu_mobile .item{
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 9px;

        width: 100%;
        height: 60px !important;
        background-color: #c6e5d2;
        border-bottom: solid 0.5px #838383;

        font-size: 21px;
        font-weight: 400;
        line-height: 23px;
        text-align: center;
    }
    #contenuti_menu_mobile .item i{
        display: block;
        width: 8.2px;
        height: 7.5px;
        border-left:2px solid #393939;
        border-bottom:2px solid #393939;
        transform: rotate(-45deg); /*Giramos el cuadrado*/
        margin-top: -4px;
        /* transition: all 0.25s ease; */
        cursor: pointer;
    }
    #contenuti_menu_mobile .item.selected{
        font-weight: 600;
    }
    .submenu_mobile{
        display: none;
        flex-direction: column;
        width: 100%;
        height: 0;
    }
    #contenuti_menu_mobile .subitem{
        display: flex;
        align-items: center;
        justify-content: center;

        width: 100%;
        height: 60px;
        background-color: #EBF2EE;
        border-bottom: solid 0.5px #838383;
       
        font-size: 21px;
        font-weight: 400;
        line-height: 26px;
        text-align: center;
        color: #393939 !important;
    } 
    #contenuti_menu_mobile .subitem.selected{
        font-weight: 600;
    }   
    

    .premi.menu_item_mobile{
        border-bottom: solid 0.5px #77C5E6;
    }

    .log_out.menu_item_mobile{
        border-bottom: solid 0.5px #77C5E6;
    }

    .policy_container{
        margin: 160px auto;
        padding: 0 15px;
    }

    .btn_classifica {
        width: 100%;
        min-width: unset;
        padding: 12px 20px;
        font-size: 16px;
        line-height: 20px;
        box-sizing: border-box;
    }

}