@font-face {
    font-family: "sole24sans";
    src: url("./fonts/sole24sansnumber-medium-webfont.woff") format("woff");
    font-weight: 600;
    font-style: normal;

}

@font-face {
    font-family: "sole24sans";
    src: url("./fonts/sole24sansnumber-regular-webfont.woff") format("woff");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "sole24sans";
    src: url("./fonts/sole24sansnumber-semibold-webfont.woff") format("woff");
    font-weight: 700;
    font-style: normal;
}

/* H1 */
@font-face {
    font-family: 'Sole Serif Headline';
    src: url('./fonts/SoleSerifHeadline-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}


/* Sole24 Serif */
@font-face {
    font-family: 'Sole24Serif Headline';
    src: url('./fonts/Sole24SerifHeadline-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}


@font-face {
    font-family: 'Sole24Serif Headline';
    src: url('./fonts/Sole24SerifHeadline-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Sole Serif Headline';
    src: url('SoleSerifHeadline-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}






:root {
    --blue: #002652;
    --red: #c10a35;
}

body{
    margin: 0;
}

p, li, span, a, h1, h2{
    font-family: "sole24sans", serif;
}

h1{
    margin: 0 !important;
}

.text-white {
    color: white !important;
}

/* Shrink */
.white-btn a:hover{
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
}

.white-btn a:hover, .white-btn a:focus, .white-btn a:active {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
}


.white-btn{
    display: inline-block;
    padding: 10px 25px;
    background-color: white;
    color: #083969;
    border-radius: 100px;
    text-decoration: none;
    letter-spacing: 0;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
}

.spacing-top{
    padding-top: 25px;
    padding-bottom: 10px;
}



.white-btn:hover{
    vertical-align: middle;
    -webkit-transform: perspective(1px) translateZ(0);
    transform: perspective(1px) translateZ(0);
    box-shadow: 0 0 1px rgba(0, 0, 0, 0);
    -webkit-transition-duration: 0.3s;
    transition-duration: 0.3s;
    -webkit-transition-property: transform;
    transition-property: transform;
}
.white-btn:hover, .white-btn:focus, .white-btn:active {
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
}


.bordi { border-top: 2px solid #f18215;

}

.orange{
    color:#f18215 !important;
	
}

.margin-alt{
    margin-bottom:-5px !important;
}

.margin-img{
    margin-bottom:-45px !important;
	margin-top:25px !important;
}

.margin-top{
    margin-bottom:-5px !important;
	margin-top:-35px !important;
}

.title-grande{
    font-size: 78px !important;
}

.title-medio{
    font-size: 48px !important;
}

.sotto{
   margin-bottom:-20px !important;
	
}


@media (max-width: 767px){  /* FINO ALLO SMARTPHONE */

	.desk-on{
        display: none;
    }
	
	.title-grande{
    font-size: 33px !important;
	
}
	
	.title-medio{
    font-size: 23px !important;
	
}
	
    .visual-mb h1{
        font-size: 23px !important;
        padding: 0 20px;
        text-align: center;
    }

    .visual-mb img{
        width: 100%;
        padding-bottom: 20px;
    }

    .visual{
        display: none;
    }

    h2{
        font-size: 20px !important;
    }

    .newspaper .news-border {
        max-width: 300px;
    }
    
}

@media (max-width: 775px) {
    .np-intro br.dmd-none {
        display: none;
    }
}

@media (min-width: 500px) {
    br.usm-none {
        display: none;
    }
}

@media (min-width:768px){
	
	.mobile-on{
        display: none;
    }
	
    .visual-mb{
        display: none;
    }

    .visual{
        display: block;
    }

    .visual h1{
        padding: 100px 0 100px 0;
        text-align: left;
    }
}


@media(min-width:768px) and (max-width: 991px){
    #footer-common .container{
        width: auto;
    }
    
}

@media (max-width: 991px){
    .sticky-stripe{
        
        top: 0;
        border-bottom: 2px solid white;
        width: 100%;
    }

    .max-full{
        width: 90%;
        /*margin-left: 5%;*/
    }

    .close{
        opacity: 0;
    }

}

@media (min-width:992px){
    .newspaper{
        width: 50%;
        float: left;
    }

    .left{
        text-align: left;

    }

    .pad-left{
        padding-left: 5%;
    }

    .right{
        text-align: right;
    }

    .pad-right{
        padding-right: 5%;
    }

    .other-deal{
        font-size: 20px;
    }

}

@media (min-width: 1200px){

    .np-title {
        font-size: 24px;
    }

    .blue-stripe{
        font-size: 30px;
    }

    .txt-min{
        font-size: 26px;
    }

    .txt-high{
        font-size: 30px;
    }

    .white-btn{
        font-size: 28px;
    }

    .txt-xmin{
        font-size: 22px;
    }
}
/**************************
CONTENT-APP
*************************/
.content-app{
    display: flex;
    flex-wrap: wrap;
    padding-top: 50px;
    padding-bottom: 20px;
    font-size: 16px;
}
.content-app p{
    margin-top: 0px;
}
.content-app .col-store-img{
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.content-app .icon-list {
  display: flex;
  margin: 8px 0px;
}
.content-app .icon-list .list-img {
  display: inline-flex;
  align-items: flex-start;
  width: 35px;
  height: auto;
  margin-right: 15px;
}
.content-app .icon-list .list-txt {
  display: inline-flex;
  font-size: 20px;
  line-height: 22px;
  color:#dc8476;
  width: 90%;
}
.app-logo{
  width: 69px;
}
.google-store{
  width: 116px !important;
}
.apple-store{
  width: 105px !important;
}
.col-img{
  width: 100%;
  text-align: center;
}
.col-img img{
  width: 100%;
  max-width: 278px !important;
}

.content-app .icon-list {
    align-items: center;
}
.col-store-img{
    width: 8%;
    display: flex;
    flex-direction: column;
    align-self: center;
}
.app-logo{
    width: 100%;
    max-width: 97px !important;
}
.google-store{
    width: 100%;
    max-width: 97px !important;
}
.apple-store{
    width: 100%;
    max-width: 97px !important;
}
.col-txt{
    width: 100%;
}
.col-img{
    flex: 0 0 auto;
    width: 100%;
    /*display: flex;
    align-self: center;
    margin-top: 20px;*/
}

@media(min-width: 992px) {
    .content-app {
        padding-top: 100px;
        padding-bottom: 50px;
    }

    .col-img{
        width: 23%;
    }

    .col-txt{
        width: 54%;
        padding-left: 25px;
        padding-right: 25px;
        margin-top: 0;
        margin-bottom: 0;
    }
}

@media(min-width:768px) and (max-width: 991px){
  #footer-common .container{
      width: auto;
  }
}

@media (max-width: 991px){
  .sticky-stripe{
      top: 0;
      border-bottom: 2px solid white;
      width: 100%;
  }
  .max-full{
      width: 90%;
      /*margin-left: 5%;*/
  }
  .close{
      opacity: 0;
  }
}

@media (min-width:768px){
  .newspaper{
      width: 50%;
      float: left;
  }
  .left{
      text-align: left;
  }
  .pad-left{
      padding-left: 5%;
  }
  .right{
      text-align: right;
  }
  .pad-right{
      padding-right: 5%;
  }
  .other-deal{
      font-size: 20px;
  }
}

@media (min-width: 1200px){
  .red-stripe{
      font-size: 29px;
  }
  .txt-min{
      font-size: 26px;
  }
  .txt-high{
      font-size: 34px;
  }
  .txt-price{
    font-size: 38px;
	  color:#f77c6b;
}
  .white-btn{
      font-size: 28px;
  }
  .txt-xmin{
      font-size: 22px;
  }
  .newspaper p{
      font-size:20px;
  }
  .txt-blue{
      font-size:20px;
  }
  .sub-title{
      font-size: 20px;
  }
}

/*****************************
APP
*****************************/
#app li {
  display: flex;
  padding: 10px 0;
  font-size: 16px;
  line-height: 21px;
}

#app li img {
  height: 35px;
  width: 35px;
  margin-right: 20px;
}

#app h3 {
    font-size: 24px;
    font-weight: 500;
}

#scaricaApp {
  display: flex;
  display: none !important;
}

#scaricaApp div:first-child {
  margin-right: 15px;
}
@media (min-width: 768px) {
  #app .max-full {
    display: flex;
    align-items: center;
  }
  #app .max-full > div:first-child {
    order: 1;
    width: 46%;
    padding-left: 100px;
  }
  #app li{
    padding: 5px 0;
    font-size: 20px;
    line-height: 24px;
  }
  #scaricaApp {
    max-width: 350px;
  }
}

/*SDM Added*/
.details_button {
    display: inline-block;
    padding: 2px 1.5em;
    border: 2px solid #bccdce;
    background-color: #bccdce;
    border-radius: 14px;
    color: var(--red);
    text-decoration: none;
    letter-spacing: 0;
    transition: .2s ease-in-out;
    font-weight: 700;
    font-size: 24px;
    margin-bottom: 35px;
}

.details_button:hover {
    background-color: white;
    color: var(--marine);
}

.details_panel {
    display: none;
}

#footer-common > .container {
    max-width: 100% !important;
}

.__s24 #footer-common .footer-info .s-logo {
    margin-left: 0;
}


/* -------------------
 Commercialisti Style 
--------------------- */

/* General */
.d-none {
    display: none;
}
.text-center {
    text-align: center;
}

.lm_mainwrapper img {
    max-width: 100%;
}

.flexGrow {
    flex-grow: 1;
}


/* Background */
.lm_mainwrapper {
    background-image: linear-gradient(#fde2d2, #fde2d2);
    padding-bottom: 70px;
}

/* Visual */
.lm_visual  {
    background:#f18215;
}

.lm_visual .textWrap {
    padding: 0 10px;
}

.lm_visual img {
    max-width: 100%;
}

.lm_visual h1 {
    font-family: 'sole24sans', normal;
    font-weight: 800;
    font-size: 53px;
    color: black;
    line-height: 1;
}

.lm_visual h2 {
    font-family: 'sole24sans', normal;
    font-weight: 700;
    font-size: 38px;   /* prima 29 */
    line-height: 1.3;

    color: black;
    
}

.lm_mainwrapper  p {
    font-family: 'sole24sans', normal;
    font-weight: normal;
    font-size: 36px;   /* leggermente più grande */
    line-height: 1.39;

    margin-block-start: 0.8em;  /* prima 1.5 */
    margin-block-end: 0.8em;    
}


.button-blue {
    border-radius: 10px;
    background-color: #000000;
    color: #fff;
    font-family: 'sole24sans', normal;
    font-weight: normal;
    font-size: 30px;
    padding: .2em 1em;
    display: inline-block;
    text-decoration: none;
    transition: all .8s ease;
}

.button-blue:hover, .button-blue:focus, .button-blue:active {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}


.lm_header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 25px 0;    
    width: 88%;
    max-width: 1034px;
    margin: 0 auto;
}

.lm_header img {
    max-width: 50%;
}


/* Blocks */
.lm_block {
    padding: 5px 10px;
   
    width: 88%;
    max-width: 1600px;
    margin: 0 auto 35px;
    text-align: center;
}

.lm_block:first-child {
    margin-top: 5px;
}

.lm_block img {
   max-width: 100%;
}


/* Formazione Master */


.lm_block.sole24_formazione .master_panels {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 15px;
}

.lm_block.sole24_formazione .lm_panel {
    border: 2px solid #000000;
    border-radius: 15px;
    padding: 1em 10px 1.5em;
    background-color: #ffffff;
    text-align: center;
}

.lm_block.sole24_formazione .lm_panel p.lm_subtitle {
    font-family: 'sole24sans', normal;
    font-weight: 700;
    font-size: 26px;
    color: black;
    line-height: normal;
    margin: 0;
}


.lm_block.sole24_formazione .lm_panel p:not(.lm_subtitle) {
    font-size: 19px;
    margin-block-start: 1em;
    margin-block-end: 1em;
    padding: 0 10px;
}

.lm_block.sole24_formazione .lm_panel .button-blue {
    font-size: 22px;
    padding: .3em 1em;
}


/*-----*/
/* sezione zaino */


.lm_block.sole24_zaino .master_panels {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2px;
}

.lm_block.sole24_zaino .lm_panel {
    border-radius: 15px;
    padding: 1em 10px 1.5em;
    text-align: center;


.lm_block.sole24_zaino .lm_panel p.lm_subtitle {
    font-family: 'sole24sans', normal;
    font-weight: 700;
    font-size: 24px;
    color: black;
    line-height: normal;
    margin-top: 25px;
}


.lm_block.sole24_zaino .lm_panel p {
    font-family: 'sole24sans', normal;
    font-weight: 700;
    font-size: 12px;
    color: black;
    line-height: normal;
    margin-top: 25px;
}


.lm_block.sole24_zaino .lm_panel p:not(.lm_subtitle) {
    font-size: 24px;
    margin-block-start: 1em;
    margin-block-end: 1em;
    padding: 0 10px;
}

.lm_block.sole24_zaino .lm_panel .button-blue {
    font-size: 24px;
    padding: .3em 1em;
}

/*-----*/



/* Esperto */
.lm_block.el_esperto p {
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
}

.lm_block.el_esperto .button-blue {
    padding-bottom: .15em;
}


.lm_block.partner24ore .button-blue {
    padding-bottom: .15em;
}


.lm_block.contatta_tutor .displayFlex {
    display: flex;
    align-items: flex-end;
    justify-content: space-around;
}

.lm_block.contatta_tutor .displayFlex img {
    max-width: 70% !important;
}




/* Swiper Style */
.swiper {
    width: 100%;
    height: 100%;
    padding-bottom: 60px;
}

.swiper-slide {
    text-align: center;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-width: 100%;
}
.swiper .swiper-pagination-bullet {
    background-color: #fff;
    border: 3px solid var(--blue);
    width: 30px;
    height: 30px;
}
.swiper .swiper-pagination {
    bottom: 0;
}

.modulo_block {
    cursor: pointer;
}


/* Swiper Modulo24 */
.swiperModulo24 {
    max-width: 95%;
    margin: 0 auto;
}

.swiperModulo24 .modulo_block {
    border: 3px solid var(--blue);
    border-radius: 25px;
    padding: 2em 2px;
}

.swiperModulo24 .modulo_block .modulo_wrap {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.swiperModulo24 .modulo_block .modulo_wrap .button-blue {
    font-size: 22px;
}

.swiperModulo24 .swiper-slide .modulo_block .modulo_wrap img {
    height: 60px;
}


/* Swiper Valore24 */
.swiperValore24 {
    max-width: 800px;
    margin: 0 auto;
}

.swiperValore24 .modulo_block {
    border: 3px solid var(--blue);
    border-radius: 25px;
    padding: 2em 2px;
    width: 100%;
}

.swiperValore24 .modulo_block .modulo_wrap {
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.swiperValore24 .modulo_block .modulo_wrap .button-blue {
    font-size: 22px;
}

.swiperValore24 .swiper-slide .modulo_block .modulo_wrap img {
    height: 60px;
}







/* ------------------
    MEDIA QUERIES 
--------------------*/

/* Increase */
@media screen and (min-width: 375px) {
    
}

@media screen and (min-width: 425px) {
    .lm_block {
        padding: 40px 15px;
    }
}

@media screen and (min-width: 576px) {
    
}

@media screen and (min-width: 768px) {
    .swiperModulo24 .modulo_block .modulo_wrap .button-blue,
    .swiperValore24 .modulo_block .modulo_wrap .button-blue {
        margin-top: 24px;
    }
    .lm_block.sole24_formazione .lm_panel:first-child {
        margin-right: 5px;
    }
    .lm_block.sole24_formazione .lm_panel:last-child {
        margin-left: 5px;
    }
}

@media screen and (min-width: 1024px) {
    .lm_block.contatta_tutor .displayFlex div {
        text-align: left;
    }

    .lm_block.contatta_tutor .displayFlex p {
        margin-block-start: 0;
    }    

    .lm_block.contatta_tutor .displayFlex img {
        max-width: 15%;
    }

    .lm_block.sole24_formazione .lm_panel:first-child {
        margin-right: 10px;
    }
    .lm_block.sole24_formazione .lm_panel:last-child {
        margin-left: 10px;
    }

   .lm_block.sole24_formazione .lm_panel p:not(.lm_subtitle) {
    font-size: 21px;  /* prima 19 */
}

@media screen and (min-width: 1200px) {
    .swiperModulo24 .modulo_block {
        padding: 2em 5px;
    }

    .swiperValore24 .modulo_block {
        padding: 2em 10px;
    }

    .modulo_block {
        border-width: 5px !important;
    }

    .lm_block.sole24_formazione .lm_panel p.lm_subtitle {
        font-size: 40px;
    }
}

@media screen and (min-width: 1440px) {
    
}

@media screen and (min-width: 1650px) {
    
}

@media screen and (min-width: 1920px) {
    
}


/* Decrease */
@media screen and (max-width: 1439.98px) {
    
}

@media screen and (max-width: 1199.98px) {
    .lm_block.lm_modulo24 p br {
        display: none;
    }
}


@media screen and (max-width: 1023.98px) {
    .lm_block.contatta_tutor .displayFlex {
        flex-wrap: wrap;
    }

    
    

    .lm_visual h1 {font-size: 40px;}
    .lm_visual h2 {font-size: 20px;}
}


@media screen and (max-width: 767.98px) {
    .lm_visual h1 {font-size: 28px;}
    .lm_visual h2 {font-size: 20px;}
    .lm_visual h2 br {display: none;}
    .lm_mainwrapper p {
        font-size: 18px;
    }

    .button-blue {
        font-size: 25px;
        padding: .2em 1em;
    }

    .lm_block.partner24ore .button-blue,
    .lm_block.el_esperto .button-blue {
        padding-bottom: 0.3em;
    }

    .swiperModulo24 .modulo_block .modulo_wrap .button-blue,
    .swiperValore24 .modulo_block .modulo_wrap .button-blue {
        font-size: 17px;
    }

    .swiperValore24 {
        max-width: 500px;
    }


 .lm_block.sole24_formazione .master_panels {
    grid-template-columns: 1fr;
    justify-items: stretch;
  }


  .lm_block.sole24_formazione .lm_panel {
    display: flex;
    flex-direction: column;
    align-items: center;
  }


}

@media screen and (max-width: 575.98px) {
    
}

@media screen and (max-width: 424.98px) {
    .swiperModulo24 {
        max-width: 100%;
    }
}

@media screen and (max-width: 374.98px) {

}


@media screen and (min-width: 768px) and (max-width: 1000px) {
    .lm_block.sole24_formazione .lm_panel {
        display: flex;
        flex-direction: column;
        min-height: 235px;
        align-items: center;
    }
}


@media screen and (min-width: 1000px) and (max-width: 1199.98px) {
    .lm_block.sole24_formazione .lm_panel {
        display: flex;
        flex-direction: column;
        min-height: 245px;
        align-items: center;
    }
}

/* ==== FIX DEFINITIVO MOBILE – SOLE24 FORMAZIONE ==== */
@media screen and (max-width: 767px) {

  .lm_block.sole24_formazione .master_panels {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: 100%;
  }

  .lm_block.sole24_formazione .lm_panel {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

}
/* =====================================================
   FIX MOBILE – BLOCCO ZAINO (DISPLAYFLEX ANNIDATI)
   ===================================================== */
@media screen and (max-width: 767px) {

  /* contenitore esterno */
  .lm_mainwrapper .displayFlex {
    flex-direction: column !important;
    align-items: center !important;
    text-align: center;
  }

  /* contenitore interno (testo + CTA) */
  .lm_mainwrapper .displayFlex .displayFlex {
    flex-direction: column !important;
    align-items: center !important;
  }

  /* immagine */
  .lm_mainwrapper img.sotto {
    max-width: 70% !important;
    margin-bottom: 16px !important;
  }

}