/* GENERALI */

/* IMPORT ICONE GOOGLE MATERIAL SYMBOLS */
@import url('https://fonts.googleapis.com/css2?family=Titillium+Web:wght@400;600;700&display=swap');

html, body{
    overflow-x: hidden;
}
body *{
    font-family: 'Titillium Web', sans-serif !important;
}
#page-wrapper{
    width: 100%;
}
#page-wrapper .container, footer .container{
    max-width: 1140px;
}
p{
    color: #1D1D1B;
    font-size: 18px;
    letter-spacing: 0;
    line-height: 25px;  
}
.navbar-light .navbar-toggler {
    border-color: transparent !important;
}
/* ICONE TOP BAR */
.material-symbols-outlined {
    font-family: 'Material Symbols Outlined' !important;
    font-weight: normal;
    font-style: normal;
    font-size: 20px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}
/* HEADER */
#header .container{
    width: 100%;
    max-width: 100%;
    padding-left: 50px;
    padding-right: 50px;
}
.ml-auto{
    margin-left: auto;
}
#header .logo{
    max-width: 130px;
}
#header .topbar{
    background-color: #ffffff;
    border: 2px solid #F3F3F3;
    border-top: 6px solid #E20613;    
}
#header .btn-outline-secondary{
    border-color: #E20613;
    color: #E20613;
    border-width: 2px;
    border-radius: 20px;    
    background-color: transparent;
}

/* TOP BAR E MENU HEADER */
#menuCompass a{
    color: #333333;
    font-family: "Titillium Web";
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 14px;
    text-align: center;
    margin: 0 25px;
    text-transform: uppercase;
}
#menuCompass .collapse{
    margin-left: -150px;
}
#header .btn-outline-secondary:hover{
    border-color: #E20613;
    color: #ffffff;
    background-color: #E20613;
}
#menuCompass a:not(.navbar-brand):hover{
    border-bottom: 2px solid #E20613;
}
#navbarNavAltMarkup{
    z-index: 1 !important;
}
.topbar .collapse{
    display: flex !important;
}
.topbar .navbar-nav{
    flex-direction: row !important;
}
.topbar a{
    position: relative;
    color: #1D1D1B !important;
    font-family: "Titillium Web";
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 2;
    text-align: center;
    text-transform: none; 
    text-decoration: underline;
    border-right: 2px solid #F3F3F3;
    padding: 5px 25px !important;
}
.topbar a.active{
    color: #E20613 !important;
}
.topbar a:last-child{
    border: none !important;
    padding-right: 0 !important;
}
.topbar a:not(.icon){
    text-transform: uppercase;
    text-decoration: none;
    padding-right: 55px !important;
}
.topbar a:not(.icon):hover{
    text-decoration: underline;
}
.topbar a.icon:hover{
    text-decoration: none !important;
}
.topbar a span{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
.topbar a:not(.icon) span{
    right: 28px;
}
.topbar a.icon span{
    left: -5px;
    color: #E20613 !important;
}
#menuCompass a{
    padding: 10px 0px;
    border-bottom: 2px solid transparent;
}
#menuCompass a.active{
    border-bottom: 2px solid #E20613 !important;
}
#menuCompass a.navbar-brand{
	z-index: 2 !important;
}
    /* HEADER MOBILE */
    
    @media screen and (max-width: 1024px){
        /* TOP BAR E MENU HEADER MOBILE */
        #menuCompass a.navbar-brand{
            margin-left: 5px !important;
        }
        .topbar .ml-auto{
            margin-left: 0 !important;
        }
        .topbar .collapse{
            justify-content: center !important;            
        }
        .topbar a span{
            display: none !important;
        }
        .topbar a{
            padding: 5px 15px !important;
			line-height: 14px;
        }        
        .topbar a:not(.icon){
            padding-right: 15px !important;
        }  

		#menuCompass .collapse {
			margin-left: auto;
		}
                 	
    }
    @media screen and (max-width: 600px) {
        #header .container{
            width: 100%;
            max-width: 100%;
            padding-left: 10px;
            padding-right: 10px;
        }      
        #header .logo{
            max-width: 110px;
        }
        #header .btn-outline-secondary{
            font-size: .7em;
        }
    }

/* SEZIONE PRINCIPALE */

#contenuto-principale{
    padding-bottom: 130px;
    margin-bottom: 50px;
}
#contenuto-principale, #contenuto-principale .container{
    position: relative;
}
#contenuto-principale .mask{
    width: 100%;
    height: 350px;
    background-color: #E20613;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
}
#contenuto-principale .mask:after{
    content: '';
    position: absolute;
    left: 0;
    top: 350px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 55px 100vw 0 0;
    border-color: #E20613 transparent transparent transparent;
    z-index: 0; 
}
#contenuto-principale .container {
    padding-top: 50px;
    z-index: 1;
}
#contenuto-principale h1{
    color: #FFFFFF;
    font-size: 50px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 55px;    
    text-transform: uppercase;
    margin-bottom: 8px;
}
#contenuto-principale p.subtitle{
    color: #FFFFFF;
    font-size: 35px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 45px; 
    margin-bottom: 0;
}
.iframe-box {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: 1440px;
    padding-top: 56.25%;
}
.responsive-iframe {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
}
.wrapper-iframe-testo{
    margin-top: 50px;
    box-shadow: 0 2px 29px 0 rgba(29,29,27,0.13);    
}
.wrapper-iframe-testo p{
    padding: 50px 52px;
    border-top: 12px solid #E20613;
    text-align: left;
    margin-bottom: 0;
}
.stripes{
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 33px;
    height: 130px;
    background-color: transparent;
    z-index: 0;
}
.stripes::before{
    content: "";
    background-color: #F9F9F9;
    width: 11px;
    height: 130px;
    position: absolute;
    bottom: 0;
    left: 0;
}
.stripes::after{
    content: "";
    background-color: #F9F9F9;
    width: 11px;
    height: 130px;
    position: absolute;
    bottom: 0;
    right: 0;
}
    /* SEZIONE PRINCIPALE MOBILE */
        
    @media screen and (max-width: 600px) {
        #contenuto-principale h1{
            font-size: 45px;
            line-height: 1;    
        }
        #contenuto-principale p.subtitle{
            font-size: 25px;
            line-height: 25px;
        }
        #contenuto-principale{
            padding-bottom: 70px;            
        }
        .stripes, .stripes::before, .stripes::after{
            height: 70px;
        }        
        .wrapper-iframe-testo p{
            padding: 40px;
        }        
    }
	
	@media screen and (max-width: 320px) {
        #contenuto-principale h1{
            font-size: 40px;
            line-height: 1;    
        }      
    }

/* SEZIONE SECONDARIA */

#contenuto-secondario{
    margin-bottom: 90px;
}

#contenuto-secondario > .container > .row > .col{
    padding: 0 90px 0 36px;
}
#contenuto-secondario h2{
    color: #E20613;
    font-size: 45px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 45px;    
    text-transform: uppercase;
}
#contenuto-secondario h3{
    color: #333333;
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 35px;   
    margin-bottom: 30px;
    text-transform: uppercase;
}
#contenuto-secondario .square .col{
    min-height: 250px;
    background-color: #f3f3f3;
    margin: 0.5%;
    width: 48%;
    position: relative;
    padding: 0 30px;
}
#contenuto-secondario .square .clearfix{
    display: none;
}
#contenuto-secondario .square .col .numero{
    position: absolute;
    top: 25px;
    left: 25px;
    max-width: 88px;
    z-index: 2;
}
#contenuto-secondario .square .col h4{
    color: #E20613;
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 35px;
    margin-top: 100px;
    text-transform: uppercase;
    position: relative;
    z-index: 3;
}
#contenuto-secondario .square .col p{
    color: #1D1D1B;
    font-size: 16px;
    letter-spacing: 0;
    line-height: 24px; 
    margin-bottom: 0;
    position: relative;
    z-index: 3;
}

    /* SEZIONE SECONDARIA MOBILE */
        
    @media screen and (max-width: 1024px) {
        #contenuto-secondario > .container > .row > .col{
            padding: 0 30px 30px 30px;
        }  
        #contenuto-secondario .square .col {
            margin: 0;
            width: 100%;
        }        
        #contenuto-secondario .square .clearfix{
            display: block;
        }      
    }
    
    @media screen and (max-width: 600px) {
        #contenuto-secondario > .container > .row > .col{
            padding: 0 30px 30px 30px;
        }        
        #contenuto-secondario .square .col{
            min-height: 230px;
            background-color: #f3f3f3;
            margin: 0 0 0.5% 0;
            width: 100%;
            position: relative;
            padding: 0 30px 20px 30px;
        }       
        #contenuto-secondario .square .col h4{
            margin-top: 100px;
        }          
    }

/* SEZIONE BOX ROSSO */
.wrapper-box-rosso {
    z-index: 1;
    width: 100%;
    position: relative;
    background-color: #f3f3f3;
    padding-top: 50px;
    padding-bottom: 50px;    
}
.wrapper-box-rosso .container{
    background-color: #E20613;
    padding: 50px 85px;
}
.wrapper-box-rosso .text{
    padding-right: 50px;
}
.wrapper-box-rosso h4{
    color: #ffffff;
    font-size: 23px;
    font-weight: 600;
    letter-spacing: 0;
    margin-bottom: 8px;
    position: relative;
    z-index: 3;
}
.wrapper-box-rosso p{
    color: #ffffff;
    font-size: 18px;
    letter-spacing: 0;
    line-height: 25px;
    margin-bottom: 35px;
}
.wrapper-box-rosso .text a{
    color: #FFFFFF;
    font-family: "Titillium Web";
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 14px;
    text-align: center; 
    position: relative;   
    text-decoration: none;
    padding-bottom: 10px;
    border-bottom: 2px solid #fff;    
}
.wrapper-box-rosso .text a:hover{
    border-bottom: 2px solid transparent;
}
.wrapper-box-rosso .text a span{
    position: absolute;
    top: calc(50% - 5px);
    transform: translateY(-50%);
    right: -25px;
    color: #fff !important;
}

.diagonal-rosso{
    z-index: 1;
    width: 100%;
    position: relative;
    padding-top: 50px;   
}
.diagonal-rosso .separator {
    position: relative;
    width: 100%;
    height: 300px;
}
  
.diagonal-rosso .separator::before {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background-color: #E20613;
    clip-path: polygon(0 20%, 100% 0, 100% 100%, 0 100%);
}
.diagonal-rosso .separator .container-fluid{
    position: absolute;
    top: calc(50% + 30px);
    transform: translateY(-50%);
}
.diagonal-rosso .separator h2{
    color: #FFFFFF;
    font-family: "Titillium Web";
    font-size: 35px;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 45px;
    text-align: center;  
    text-transform: uppercase;  
    margin-bottom: 25px;
}
.diagonal-rosso .separator a{
    border-radius: 20px;
    background-color: #FFFFFF;
    color: #E20613;
    font-family: "Titillium Web";
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 12px;
    text-align: center;
    padding: 8px 25px;    
    text-decoration: none !important;  
    text-transform: uppercase; 
	border-color: #FFFFFF;	
}
.diagonal-rosso .separator a:hover{
    background-color: #E20613;
    color: #FFFFFF;
	border-color: #FFFFFF;
	border-style: solid;
}
.diagonal-rosso .separator .container-fluid, .diagonal-rosso .separator h2, .diagonal-rosso .separator a{
    position: relative;
    z-index: 2;
} 
  
/* SEZIONE EXTRA */    

#contenuto-extra, #contenuto-extra .container{
    position: relative;
    z-index: 1;
}  
.stripes.extra{
    bottom: auto;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 33px;
    height: 500px;
    z-index: 0;
}
.stripes.extra::before{
    content: "";
    background-color: #F9F9F9;
    width: 11px;
    height: 500px;
    bottom: auto;
    top: 0;
    left: 0;
}
.stripes.extra::after{
    content: "";
    background-color: #F9F9F9;
    width: 11px;
    height: 500px;
    bottom: auto;
    top: 0;
    right: 0;
}
#contenuto-extra .mask {
    position: absolute;
    background-color: #f3f3f3;
    height: 400px;
    top: 190px;
    bottom: 0;
    left: 0;
    right: 0;
}
#contenuto-extra .mask:before{
    content: '';
    position: absolute;
    left: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 100vw 55px 0;
    border-color: transparent transparent #f3f3f3 transparent;
    z-index: 0;
}
#contenuto-extra .mask:before {
    top: -55px;
}
#contenuto-extra .wrapper-extra-img{
    z-index: 1;
    width: 100%;
}
#contenuto-extra .wrapper-extra-txt{
    z-index: 1;
    width: 100%;
    position: relative;
    background-color: #f3f3f3;
}
#contenuto-extra .wrapper-extra-txt .container:first-child{
    border-top: 10px solid #E20613;
    background-color: #FFFFFF;
    box-shadow: 0 9px 20px 0 rgba(29,29,27,0.07);
}
#contenuto-extra .wrapper-extra-txt .container h2 {
    font-size: 35px;
    color: #333333;
    font-weight: bold;
    letter-spacing: 0;
    line-height: 40px;
    text-align: center;    
    text-transform: uppercase;
    margin-top: 50px;
}
#contenuto-extra .wrapper-extra-txt .container h2 span{
    color: #E20613;
}
#contenuto-extra .wrapper-extra-txt .container .row p {
    color: #333333;
    font-size: 25px;
    letter-spacing: 0;
    line-height: 35px;
    text-align: center;
    margin: 30px auto 50px auto;
    max-width: 650px;    
}
#contenuto-extra .wrapper-extra-txt .plus{
    padding-bottom: 80px;
}
#contenuto-extra .wrapper-extra-txt .plus .col{
    position: relative;
    text-align: left;
    padding-left: 145px;
    padding-right: 40px;
    padding-top: 30px;
}
#contenuto-extra .plus .clearfix{
    display: none;
}
#contenuto-extra .plus .col .icona{
    position: absolute;
    top: 25px;
    left: 0;
    max-width: 125px;
    z-index: 2;
}
#contenuto-extra .plus .col h4{
    color: #E20613;
    font-size: 23px;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 35px;
    margin-bottom: 8px;
    text-transform: uppercase;
    position: relative;
    z-index: 3;
}
#contenuto-extra .wrapper-extra-txt .row.plus p{
    color: #1D1D1B;
    font-size: 22px;
    letter-spacing: 0;
    line-height: 27px; 
    position: relative;
    z-index: 3;
    margin: 0;
    text-align: left;
}
.stripes.extra-txt{
    bottom: -50px;
    top: auto;
    left: 50%;
    transform: translateX(-50%);
    width: 33px;
    height: 50px;
    z-index: 0;
}
.stripes.extra-txt::before{
    content: "";
    background-color: #F9F9F9;
    width: 11px;
    height: 50px;
    bottom: 0;
    left: 0;
    top: auto;
}
.stripes.extra-txt::after{
    content: "";
    background-color: #F9F9F9;
    width: 11px;
    height: 50px;
    bottom: 0;
    right: 0;
    top: auto;
}
#contenuto-extra .wrapper-extra-video{
    z-index: 1;
    width: 100%;
    background-color: #f3f3f3;
    min-height: 500px;
    padding-top: 50px;
    padding-bottom: 50px;
}
#contenuto-extra .wrapper-extra-video .container{
    box-shadow: 0 9px 20px 0 rgba(29,29,27,0.4);
}
#contenuto-extra .wrapper-extra-video .stripes.extra-txt{
    bottom: 0px;
}

    /* SEZIONE EXTRA MOBILE */
    @media screen and (max-width: 600px) {
        #contenuto-extra > .container > .row > .col{
            padding: 0 30px 30px 30px;
        }        
        #contenuto-extra .plus .col{
            width: 100%;
            position: relative;
        }    
        #contenuto-secondario .plus .clearfix{
            display: block;
        }    
        #contenuto-extra .mask {
            top: 90px;
        }         
        #contenuto-extra .wrapper-extra-txt .container h2 {
            font-size: 30px;
            line-height: 35px;
        }             
        #contenuto-extra .wrapper-extra-txt .container .row p{
            font-size: 18px;
            letter-spacing: 0;
            line-height: 25px;        
        }
        #contenuto-extra .wrapper-extra-txt .plus {
            padding-bottom: 30px;
        }
        #contenuto-extra .plus .col .icona {
            top: 35px;
            left: 20px;
            max-width: 110px;
        }        
        #contenuto-extra .wrapper-extra-txt .plus .col{
            padding-right: 20px;
        }        
        #contenuto-extra .wrapper-extra-video {
            min-height: unset;
        }

    }  
    
/* FOOTER */

footer{
    width: 100%;
    border-top: 10px solid #E20613;
    background-color: #333333;
    padding: 80px 0; 
    color: #FFFFFF;  
}
footer .logo{
    max-width: 130px;
}
footer .clearfix{
    display: none;
} 
footer p{
    font-size: 16px;
    letter-spacing: 0;
    line-height: 24px;  
    margin: 0;  
    color: #FFFFFF;  
}
.list-inline li.list-inline-item.icona:nth-child(2){
    padding: 0 10px;
}
.list-inline li.list-inline-item.icona{
    padding: 0 10px 0 0;
}
.list-inline li.list-inline-item:last-child{
    padding: 0;
}
.list-inline li.list-inline-item a{
    color: #ffffff;
}
footer .infofooter{
    color: #FFFFFF;
    font-size: 12px;
    letter-spacing: 0;
    line-height: 18px;
    border-top: 2px solid #fff;
    padding-top: 30px;
    margin-top: 80px;
}

    /* FOOTER MOBILE */
    @media screen and (max-width: 1024px) {
        footer{
            padding: 80px 50px;             
        }    
    }   

    /* FOOTER MOBILE */
    @media screen and (max-width: 600px) {
        .diagonal-rosso .separator {
            padding-bottom: 50px;
        }        
        .diagonal-rosso .separator h2 {
            font-size: 28px;
            line-height: 35px;
            padding: 0 30px;
        }        
        footer{
            padding: 80px 50px;        
            border: none !important;                 
            margin-top: -1px;
        }
        footer .col.text-end{
            text-align: left !important;                        
        }
        footer .clearfix{
            display: block;
        }  
        .list-inline li.list-inline-item:first-child{
            display: block;
            margin-bottom: 8px;
            margin-top: 15px;
        }
        .list-inline li.list-inline-item.icona{
            padding: 0 10px 0 0;
        } 
        .list-inline li.list-inline-item.icona:nth-child(2){
            padding: 0 10px 0 0;
        }  
        footer .infofooter{
            margin-top: 40px;
        }       
    }   