/*
Theme Name: SPIN360
Version: 1.0
Author: NEUE MILANO
Author URI: neuemilano.com
Tags: NEUE, HTML5, CSS3
*/

@font-face {
    font-family: 'suisse_regular';
    src: url('fonts/suisseintl-regular-webfont.woff2') format('woff2'),
         url('fonts/suisseintl-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}


@font-face {
    font-family: 'suisse_medium';
    src: url('fonts/suisseintl-medium-webfont.woff2') format('woff2'),
         url('fonts/suisseintl-medium-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family:'ABCDiatype';
    src: url('fonts/ABCDiatype-Regular.woff2') format('woff2'),
         url('fonts/ABCDiatype-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}



:root{
	--mainWidth: 100%;
    --mainHeight: 100dvh;
    --colWidth: calc(100vw / 7);
    --colInnerWidth: calc(var(--colWidth) / 5);
    --simplePanel: calc(var(--colWidth)* 2);
    --doublePanel: calc(var(--colWidth)* 4);
    --fullPanel: calc(var(--colWidth)* 5);
	--extendedPanel: calc(var(--colWidth)* 6);
    --extendedHalfPanel: calc(var(--extendedPanel) / 2);
	--transitionDuration: 0.25s;
    --transitionDurationSlow: 0.5s;
	--simplePanel: 25vw;
	--doublePanel:50vw;
}

html {
    font-family:'suisse_medium';
    font-weight:400;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;	
}



body.show_intro{
	overflow: hidden;
    overflow-y: hidden !important;
    height: 100dvh;
    max-height: 100dvh;
    overflow-x: hidden !important;
    position: relative;
    width: 100%;
}


body{
    font-family:'suisse_medium';
	font-weight: 400;
	font-style: normal;
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	letter-spacing: -0.02em;
    width: 100%;
    overflow-x: hidden !important;
}

main{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    background: #fff;
    height: 100%;
    position: relative;
    z-index: 1;
}

main.single-case{
    padding: 20px 0px;
}

main.single-case .breadcrumb{
    padding: 0px 20px;
}

main.single-case .content_case {
    padding: 40px 20px;
    padding-bottom: 50px;
}

main h2 {
    letter-spacing: -2px;
    font-family: 'suisse_regular';
    font-size: 55px;
    line-height: 65px;
}



p, .case_text ul, .case_text ol, .case_text li{
    font-size: 18px;
    line-height: 24px;
    letter-spacing: -0.5px;
    font-family: 'suisse_regular';
}
.case_text h2{
    font-size: 24px;
    line-height: 26px;
    font-family: 'suisse_regular';
    font-weight: 400;
    letter-spacing: -0.5px;
    margin-bottom: 15px;
}
.case_text ul, .case_text ol{
	list-style: outside decimal !important;
	margin-left: 18px !important;
	margin-bottom: 25px !important;
}
.case_text ul > li,
.case_text ol > li{
	margin-bottom: 15px;
}
.case_text figure{
	margin-bottom: 25px !important;
}

.visibleMob{
    display: none!important;
}

.logo {
    display: block;
    width: 95px;
    height: 30px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    text-indent: -9999px; /* Nasconde il testo per screen reader */
}

.main_header .logo{
    /*background-image: url('img/logo-spin360.svg');*/
    background-image: url('img/spin360-logo-dark.png');
    min-height: 100%;
}



.main_header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    transition:all 0.4s ease-in-out!important
  }
  
  .bg_menu {
    width: 100%;
    height: 0px;
    position: absolute;
    z-index: -1;
    top: 0px;
    background: white;
    transition: all 0.3s ease-in-out!important;
    
}


.main_header .inner_menu{
    padding: 15px 50px;
    gap: 50px;
    justify-content: space-between;
}

.main_header.hover li.mega-menu-item > a.mega-menu-link{
    color: #000!important;
    font-family: "suisse_regular";
}

.main_header.hide-menu {
    transform: translateY(-100%);
  }
  
  .main_header.transparent {
    background: transparent;
  }


#mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item > a.mega-menu-link,
#mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link{
    font-family: 'suisse_regular';
}


.main_nav{
    margin-right: auto!important;
}
.main_header.hover .bg_menu{
    height: 70px;
  } 

 body#homepage .main_header.transparent .logo{
       /*background-image: url('img/logo-spin360-w.svg');*/
       background-image: url('img/spin360-logo-light.png');
    }


@media only screen and (min-width: 767px) {

    body#homepage .main_header.transparent nav.main_nav #mega-menu-header-menu li a,
    #mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item.mega-toggle-on  ul.mega-sub-menu li > a.mega-menu-link > span.mega-indicator{
    transition: all 0.3s ease-in-out!important;
}
       body#homepage .main_header.transparent nav.main_nav #mega-menu-header-menu li.mega-menu-item:not(.mega-toggle-on) a{
       color:#fff!important
    }

    html.sr .expand {
    visibility: hidden;
}


   

        

#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item-has-children li.mega-menu-item-has-children:hover > a.mega-menu-link{
    opacity: 1!important;
}


#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item.mega-toggle-on  ul.mega-sub-menu:hover li > a.mega-menu-link:not(:hover):not(.parent_active),
#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item.mega-toggle-on  ul.mega-sub-menu:hover li > a.mega-menu-link:not(.parent_active){
    opacity: 1!important;
}

#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item.mega-toggle-on  ul.mega-sub-menu li > a.mega-menu-link,
#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item-has-children li.mega-menu-item-has-children > a.mega-menu-link:not(:hover) > span.mega-indicator,
#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item.mega-toggle-on  ul.mega-sub-menu li > a.mega-menu-link:hover,
#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item.mega-toggle-on  ul.mega-sub-menu li > a.mega-menu-link.parent_active,
#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item.mega-toggle-on  ul.mega-sub-menu li > a.mega-menu-link.parent_active > span.mega-indicator{
    opacity: 1!important;
    color:#000!important
}

#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item.mega-toggle-on  ul.mega-sub-menu:hover li > a.mega-menu-link:not(:hover):not(.parent_active) > span.mega-indicator{
    opacity: 0!important;
}
#mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu:hover li > a.mega-menu-link:not(:hover):not(.parent_active){
    opacity: 0.3!important;   
}

#mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu:hover li > ul.mega-sub-menu a.mega-menu-link{

opacity: 1!important;
}

#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item.mega-toggle-on  ul.mega-sub-menu li > a.mega-menu-link.parent_active ul li a.mega-menu-link,
#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item.mega-toggle-on  ul.mega-sub-menu li > a.mega-menu-link,
.mega-menu-item.mega-toggle-on .mega-sub-menu:hover .mega-menu-item a,
#mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item.mega-toggle-on > a.mega-menu-link{
    opacity: 1!important;
}


.mega-menu-item.mega-toggle-on .mega-sub-menu:hover li.mega-toggle-on .mega-menu-item a,
ul.mega-sub-menu li ul.mega-sub-menu li a.mega-menu-link{
    opacity: 1!important;
}


 
 .mega-menu-item.mega-toggle-on .mega-sub-menu:hover .mega-menu-item:hover a,
 .mega-menu-item.mega-toggle-on .mega-sub-menu:hover .mega-menu-item:hover a > span.mega-indicator,
#mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item-has-children a.mega-menu-link:hover,
#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item-has-children li.mega-menu-item-has-children > a.mega-menu-link:hover > span.mega-indicator,
#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item-has-children li.mega-menu-item-has-children > a.mega-menu-link.parent_active > span.mega-indicator,
#mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item-has-children a.mega-menu-link{
    opacity: 1!important;
 }

 #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item ul.mega-sub-menu {
height: auto!important;
transition: all 0.3s ease-in-out!important;
padding-top: 0px!important;
opacity:0!important

 }
    
     #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item.mega-toggle-on ul.mega-sub-menu {
opacity:1!important}


 #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item:nth-child(1) ul.mega-sub-menu {
    position: absolute !important;
    margin-top: -10px!important;
    top: 0px !important;
    
 }

 #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item:nth-child(2) ul.mega-sub-menu {
    top: -40px!important;
    margin-top: -20px!important;
 }

 #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item:nth-child(3) ul.mega-sub-menu {
    top: -80px!important;
    margin-top: -25px!important;
 }


 #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item:nth-child(4) ul.mega-sub-menu {
    top: -120px!important;
    margin-top: -30px!important;
 }

 #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item:nth-child(5) ul.mega-sub-menu {
    top: -160px!important;
    margin-top: -40px!important;
 }




#mega-menu-wrap-header-menu #mega-menu-header-menu,
body #mega-menu-wrap-header-menu,
.main_nav, #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item{
    position:unset !important;
}

#mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu {
    left: 0px;
    padding-left: 50px!important;
    background-color:#fff!important;
    width:100vw!important;
    height: 0px!important;
    position: absolute!important;
    z-index: -1!important;
    top: 0px!important;
    padding-top: 85px!important;
    overflow: hidden!important;
    transition: all 0.3s ease-in-out!important;
}


#mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li ul.mega-sub-menu {
    padding-left: 0px!important;
}
/*
#mega-menu-wrap-header-menu #mega-menu-header-menu[data-effect="fade"] li.mega-menu-item.mega-toggle-on > ul.mega-sub-menu ul.mega-sub-menu {
    opacity: 1!important;
}*/

#mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout.mega-toggle-on ul.mega-sub-menu {
height: 480px!important;
}

#mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item-has-children li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator{
    float:none!important
}
ul.mega-sub-menu  li{
    max-width:380px!important;
    width: auto!important;
}


ul.mega-sub-menu li ul.mega-sub-menu li{
    width: auto!important;
    max-width:400px!important
}

ul.mega-sub-menu li ul.mega-sub-menu li a {
    display: inline-block !important;
}


#mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item-has-children > a.mega-menu-link,
.mega-sub-menu .mega-menu-item a.mega-menu-link{
    background: transparent!important;
    font-size: 22px!important;
    line-height: 27px!important;
    padding-bottom: 20px!important;
    padding-left: 0px!important;
}

ul#mega-menu-header-menu > li.mega-menu-item{
    border-radius: 200px!important;
    transition: all 0.3s ease-in-out!important;
}
ul#mega-menu-header-menu > li.mega-menu-item:hover {
    background-color:rgba(0, 0, 0, 0.07)!important;
}


ul.mega-sub-menu li ul.mega-sub-menu li a.mega-menu-link{
    padding: 12px 18px!important;
    transition: all 0.3s ease-in-out!important;
    border-radius: 200px!important;
    font-size: 15px!important;
    line-height: 18px!important;
}



#mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item.mega-toggle-on > a.mega-menu-link{
    border-radius: 200px!important;
}

.mega-menu-item ul.mega-sub-menu {
    padding-top: 50px!important;
}

.mega-menu-item ul.mega-sub-menu li ul.mega-sub-menu{
    padding-top: 0px!important;
}


ul.mega-sub-menu li ul.mega-sub-menu li a.mega-menu-link{
    background-color:transparent!important;
}

ul.mega-sub-menu li ul.mega-sub-menu li a.mega-menu-link:hover{
    background-color:rgba(0, 0, 0, 0.07)!important;
}

}




#video_home{ 
    overflow: hidden;
	height: 100dvh; 
    width: 100vw;
	-webkit-animation: 3s ease 0s normal forwards 1 fadein;
    animation: 3s ease 0s normal forwards 1 fadein;
    position: absolute;
}

#video_home .black_shadow {
    height: 100%;
    z-index: 0;
}


#video_home video{width:100%;object-fit: cover; height: 100%;}
  
#pp_video_bg{
    background: #D2D2D2; 
    position:absolute}

.intro--on #pp_video_bg{
    z-index: 1;
}


.video-bg {
    position: relative;
    width: 100%;
    height: 100vh; /* Occupa tutta la finestra */
    overflow: hidden;
  }
  
  .video-bg video,
  .figure_bg{
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: -2;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .figure_bg{
    background-size: cover;
    background-position: center;
  }

  .black_shadow {
    top: 0px;
    position: absolute;
    background: #0000008c;
    background: linear-gradient(to top, rgba(0, 0, 0, 0) 0%, rgb(0 0 0 / 58%) 40%);
    width: 100%;
    height: 80%;
    left: 0px;
    z-index: -1;
}


@keyframes fadein{
    0% { opacity:0; }
    66% { opacity:0; }
    100% { opacity:1; }
    }
    
    @-webkit-keyframes fadein{
    0% { opacity:0; }
    66% { opacity:0; }
    100% { opacity:1; }
    }
     
      @media screen and (max-width: 1290px){
        #video_home video {
            width:100%;
            height: 100%;
			object-fit: cover;
        }
      }

section{
    width: 100%;
}

  #pp_home,
  #pp_other{
    justify-content:center;
    align-items: center;
    height:100dvh;
    transition: all 1.5s ease-in-out;
    flex-direction: column;
    z-index: 2;
    width: 100%;
}
#pp_home{
    height:100dvh;
}
#pp_other {
    height: auto;
    padding-top: 125px;
    padding-bottom: 50px;
}
  input.btn, a.btn, .flex.cat_list ul li {
    background: #ffffff;
    width: auto;
    display: inline-block;
    padding: 10px 20px;
    border-radius: 200px;
    font-size: 15px;
    line-height: 18px;
    font-family: 'suisse_regular';
    color: #000;
    padding-right: 40px;
    max-width: max-content;
    transition: all 0.4s ease-in-out;
}
input.btn {
    padding: 10px 20px !important;
}

.flex.cat_list ul li {
    display: inline-block;
    padding: 10px 20px;
    margin-right: 10px;
    margin-bottom: 10px;
}


a.btn:after{
    display: inline-block;
    content: "→";
     color: #000;
     transition: all 0.4s ease-in-out;
    padding-left: 7px;
     padding-top: 1px;
    position: absolute;}
  
.flex.cat_list ul li,
 a.btn.grey{
    background-color: rgba(0, 0, 0, 0.07);
 }  
 
 .flex.cat_list ul li:hover,
 a.btn:hover, .cat_list ul li.active, input.btn{
    background-color: rgba(29, 66, 80, 1);
    color: #fff;
    cursor: pointer;
 }

 a.btn:hover:after{
    color: #fff;
 }

 
 .expand {
    box-sizing: border-box;
    width: 80vw; /* 80% della larghezza dello schermo */
    min-height:500px;
    display: flex;
    align-items: center;
    justify-content: center;
    color:#000;
    background: #F1F1F1;
    transition: all 0.5s ease-in-out;
}



.expand.full {
    width: 100%; 
    height:100vh; 
    align-items: flex-start;
    justify-content: flex-start;
    color: white;
    gap: 20px;
    padding: 30px;
}

.box_carousel.expand.full{
    padding: 0px;
    padding-top: 30px;
    height: auto;
    padding-bottom: 80px;
}


.box_carousel.expand.full .inner_expand{
    padding: 0px 30px;
    justify-content: space-between;
}

.box_carousel.expand.full h2{
    font-size:55px;
    line-height:65px
}

.box_carousel.expand.full h3{
    padding-bottom: 10px;
}

.box_carousel .owl-carousel{
    padding-top: 40px;
}


#other_case.box_carousel .owl-carousel{
    padding-top: 100px;
}



.owl-prev, .owl-next {
    position: absolute;
    top: 0px;
    height: 100%;
    width: 150px;
    background: rgb(255,255, 255) !important;
    background: linear-gradient(90deg, rgb(255 255 255) 0%, rgba(255, 255, 255, 0) 100%) !important;
}

.owl-next{
	background: rgb(255,255, 255) !important;
    background: linear-gradient(-90deg,rgb(255 255 255) 0%,  rgba(255, 255, 255, 0) 100%)!important;
    right: 0px;
}

.owl-carousel .item p,
.owl-carousel .item span{
	color:#000
}

.color-bg .owl-carousel .item p,
.color-bg .owl-carousel .item span{
	color:#fff
}


.color-bg .owl-prev, .color-bg .owl-next{
    background: rgb(29,66,80)!important;
    background: linear-gradient(90deg, rgba(29,66,80,1) 0%, rgba(29,66,80,0) 100%)!important;
    
}

.color-bg .owl-next{
    background: linear-gradient(-90deg, rgba(29,66,80,1) 0%, rgba(29,66,80,0) 100%)!important;
   
   
}



span.owl-move-prev, span.owl-move-next {
    background-color: rgba(255, 255, 255, 0.15);
   background-image: url('img/owl-prev.svg');
    background-position: center;
    background-repeat: no-repeat;
    position: absolute;
    width: 48px;
    height: 48px;
    left: 30px;
    margin-top: -20px;
    display: block;
    border-radius: 100%;
    filter: invert(1);
}

span.owl-move-next {
    left: inherit;
    right: 30px;
    transform: rotate(180deg);
}

.color-bg span.owl-move-prev, .color-bg span.owl-move-next{
    filter: invert(0);
}

.color-bg span.owl-move-prev, .color-bg span.owl-move-next{
    background-color: rgba(255, 255, 255, 0.15);
}


.expand.color-bg, .expand.full.video-bg, .flex.color-bg{
    background-color: #1D4250;
}

.expand.color-bg a.btn{
    background: rgba(255, 255, 255, 0.07);
    color:#fff
}

.expand.color-bg a.btn:after{
    color:#fff
}

.expand.color-bg a.btn:hover{
    background: #fff;
    color:#000
}


.expand.color-bg a.btn:hover:after{
     color:#000
}



.expand.not-in-view {
    transform: scale(0.8)!important;
}

.expand.full.not-in-view {
    transform: scale(1)!important;
}

.expand.full.cta, .flex-col,
.box_carousel{
    flex-direction: column;
    gap: 20px;
}
.expand.full.figure-bg{
    flex-direction: row;
	justify-content: space-between;
}


.expand ul {
    border-top: thin solid #00000040;
    margin-top: 30px;
    padding-bottom: 60px;
}

.expand ul li{
    border-bottom: thin solid #00000040;
    font-size: 18px;
    line-height: 24px;
    position: relative;
    padding: 10px 0px;
    font-family: 'suisse_regular';
    padding-right: 15px;
}

.expand ul li a{
 transition: all 0.3s ease-in-out!important;
}

.expand ul li.has_page a:after {
    position: absolute;
    width: 15px;
    height: 13px;
    top: 12px;
    content: "→";
    display: block;
    right: 0px;
}


.owl-carousel .item p,
.owl-carousel .item span{
    font-family: 'suisse_regular';
    font-weight: 400;  
}

.owl-carousel .item p{
    font-size: 22px;
    line-height: 27px;
    padding-top: 10px;
    padding-bottom: 10px;
}

.owl-carousel .item span {
    font-size: 15px;
    line-height: 18px;
    display: inline-block;
}

.box_img{
    overflow: hidden;
    position: relative;
}


.item_img{
    height: 0;
    width: 100%;
    background-repeat: no-repeat;
    padding-bottom: 70%;
    position: relative;
    background-size: cover;
    background-position: center center;
    -webkit-transition: all .5s;
    -moz-transition: all .5s;
    transition: all .5s;
    opacity: 1;
    -moz-opacity: 1;
    -khtml-opacity: 1;
}

#archive.category-news .item_img,
#archive.category-news-it .item_img  {
    padding-bottom: 120%;
}

.item:hover .item_img,
.item_case:hover .item_img,
.moreSolutionBox:hover .item_img {
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
}


.listing .expand {
    align-items: flex-start;
    padding: 35px;
    align-items: stretch;
}

/*.listing .expand a.btn {
    position: absolute;
    bottom: 35px;
}*/

.expand ul li a:hover:after,
.listing .expand a:hover {
    color: grey;
}

.listing .expand a.btn:hover {
    color: #fff;
}

.listing .expand div.info_box {
    width: 60%;
    padding-right: 35px;
}

.listing .expand div.info_box.flex{
    flex-direction: column;
}

.listing .expand div.video_box {
    width: 40%;
    flex: 1;
    display: flex;
}

.listing .expand video{
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.listing.flex-col .expand p {
    max-width: 100%;
}

.expand.full.cta a.btn, .flex-col a.btn {
    margin-top: 10px;
}

.expand.full .img_logo {
    position: absolute;
    right: 40px;
    top: 40px;
    /*background-image: url('img/logo-spin360-w.svg');*/
    background-image: url('img/spin360-logo-light.png');
    background-size: cover;
    width: 48px;
    height: 48px;
}

.full_box {
    padding: 200px 40px;
    padding-bottom: 180px;
}


.flex.with_img img{
    max-width: 460px;
}

main .expand h2, main .expand h3, main .values h2, main #our-history h2, main #parent-page h2{
     font-size: 40px;
     line-height: 48px;  
     font-family: 'suisse_regular';  
}
main #parent-page p{
     margin-bottom: 30px; 
}

#our-people .w50{
    flex-direction: column;
    gap: 20px;
}

main .expand h3{
    padding-bottom: 20px;
}

.wp-block-column.is-vertically-aligned-center,
.wp-block-column.video_box {
    margin: auto;
    text-align: center;
    height: 100vh;
    display: flex;
    flex-direction: column; /* Assicura che gli elementi figli si distribuiscano verticalmente */
    justify-content: center; /* Centra verticalmente */
    align-items: center; /* Centra orizzontalmente */
}   


.wp-block-image img {
    width: 100%;
}

.wp-block-column .wp-block-video {
    box-sizing: border-box;
    max-width: 380px;
    margin: auto;
}

.wp-block-columns {
    gap: 0px !important;
    margin: 0px !important;
}

 

.fadeOut{
    transition: opacity 1s ease-in-out;
    opacity: 1;
}

.fadeOut.hideDiv{
    opacity: 0!important;
}


.hide{
    opacity: 0!important;
    pointer-events: none;
}

html.sr .load-hidden {
    visibility: hidden;
}


#isDesktop{
	width: 0;
	height: 0;
}


.difference{
	color: #ffffff;
    background: transparent;
 	line-height: normal;
    mix-blend-mode: difference;
}

.isibleMob,
.hiddenDesk{
	display: none;
}
.clear{
	clear: both;
}
.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.flex.center{
    display: flex;
    align-items: center;
    justify-content: center;
}
.flex.sp_between{
	justify-content: space-between;
}
.flex.sp_around{
	justify-content: space-around;
}


/* INTRO ANIMATION */

  .typewriter_box{
    display: inline-block;
    padding: 10px;

  }


.css-typing p {
    font-family: 'suisse_regular';
    border:none;
    color: #fff;
    font-size: 80px;
    line-height: 85px;
    white-space: nowrap;
    outline: none;
    overflow: hidden;
  }

 #pp_other{
    align-items: flex-start;
    background: #fff;
 } 

#pp_other h1{
	font-size: 55px;
    line-height: 65px;
	color: #000;
    font-family: 'suisse_regular';
}
#pp_other div.descr p {
	font-size: 22px;
	font-style: normal;
	font-weight: 400;
	line-height: 27px; /* 122.727% */
	letter-spacing: -0.44px;
	width: 50%;
	overflow: initial;
    outline: initial;
    white-space: initial;
	margin-top: 30px;
    color: #000;
}
.figure-bg p {
    font-size: 22px;
    line-height: 27px;
    letter-spacing: -0.5px;
}

  body.show_intro .css-typing p:nth-child(1) {
    width: 7.3em;
    -webkit-animation: type 2s steps(40, end);
    animation: type 2s steps(40, end);
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  
  body.show_intro .css-typing p:nth-child(2) {
    width: 11.5em;
    opacity: 0;
    -webkit-animation: type2 2s steps(40, end);
    animation: type2 2s steps(40, end);
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
  }
  
  
  
  @keyframes type {
    0% {
      width: 0;
    }
    99.9% {
      border-right: 0px;
    }
    100% {
      border: none;
    }
  }
  
  @-webkit-keyframes type {
    0% {
      width: 0;
    }
    99.9% {
      border-right: 0px;
    }
    100% {
      border: none;
    }
  }
  
  @keyframes type2 {
    0% {
      width: 0;
    }
    1% {
      opacity: 1;
    }
    99.9% {
      border-right:0px;
    }
    100% {
      opacity: 1;
      border: none;
    }
  }
  
  @-webkit-keyframes type2 {
    0% {
      width: 0;
    }
    1% {
      opacity: 1;
    }
    99.9% {
      border-right:0px;
    }
    100% {
      opacity: 1;
      border: none;
    }
  }
  

  /* INTRO ANIMATION */

/* SINGLE */
#single main {
    align-items: flex-start;
 }
 
 .breadcrumb, .small_tit {
     width: 100%;
 }
 .breadcrumb:after, .small_tit:after,
 .line{ 
 background:#000;
    height: 1px;
    width: 100%;
    margin-top: 5px;
    display: block;
    content: "";
 }
 .rel_services .breadcrumb:after{ 
    background:none;
    height: 0;
    width: 100%;
    margin-top: 0;
 }

 #single .line {
    width: 96%;
    margin: auto;
}

 .breadcrumb,
 .breadcrumb a,
 .breadcrumb span {
     color: rgb(0 0 0 / 30%);
 }
 
 .breadcrumb a, .breadcrumb span, .small_tit {
     font-size: 18px;
     font-family: 'suisse_regular';
 }
 
 .small_tit {
    color: #000;
 }

 .breadcrumb a.active,
 .breadcrumb a:hover,
 .breadcrumb span.active  {
     color: #000;
 }
 
 ul.nav_case li {
     line-height: 34px;
     font-size: 30px;
     letter-spacing: -0.6px;
     font-family: 'suisse_regular';
     color: #00000033;
 }

 ul.nav_case li a{
    transition: all 0.3s ease-in-out!important;
 }
 
 ul.nav_case li a:hover, ul.nav_case li a.active {
    color: #000;
}
 
 ul.meta {
     font-family: 'suisse_regular';
     border-bottom: 0.4px solid #000;
	 margin-left: 0 !important;
	 margin-bottom: 0 !important;
 }
 
 ul.meta li {
     border-top: 0.4px solid #000;
     padding: 10px 0px;
     overflow: hidden;
	 margin-bottom: 0px;
 }
 
 ul.meta li p, ul.meta li span {
     width: 50%;
     font-size:18px;
     line-height:24px;
     letter-spacing: -0.2px;
 }
 
 ul.meta li p {
     float: right;
     text-align: right;
 }
 ul.meta li span {
     float: left;
     
 }
 
 section.box_carousel {
     background: #fff;
 }
 

.content_case {
    padding-top: 20px;
    padding-bottom: 90px;
    gap: 20px;
}

#case-by-cat .content_case{
    padding-top: 38px;
}

#archive .content_case h2 {
    font-size: 40px;
    line-height: 48px;
    padding-top: 15px;
    padding-bottom: 15px;
}

#archive .content_case p{
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 24px; /* 133.333% */
    letter-spacing: -0.36px;
    padding-bottom: 25px;
}

 div.case_text {
    padding-bottom: 40px;
    margin-bottom: 40px;
    display: block;
    border-bottom: 0.4px solid #000;
}
div.case_text p{
    margin-bottom: 25px;
}
div.case_text .contacts_row p{
    margin-bottom: 0;
}

div.case_text.last {
    border-bottom: none;
    margin-bottom: 0px;
    padding-bottom: 60px;
}

.cat_list{
    width: 25%;
}
#loop_case {
    display: flex;
    justify-content:flex-start;
    flex-wrap: wrap;        /* Permette agli elementi di andare a capo */
    gap: 20px;              /* Distanza tra gli elementi */
    width: 75%;
    min-height: 320px;
}

.item_case {
    cursor: pointer;
    width:  calc((100% - 40px)/3);
    box-sizing: border-box;        /* Per includere il padding e il bordo nella larghezza */
}

#loop_case .item_case span{
    font-size: 15px;
    font-style: normal;
    font-weight: 400;
    line-height: 18px; /* 120% */
    letter-spacing: -0.3px;
    padding-top:18px;
    display: inline-block;
    font-family: 'suisse_regular';
}

section#case-by-cat {
    border-bottom: thin solid #000;
}

#case-by-cat .content_case{
    justify-content: space-between;
   
}

.single-post .content_case {
    justify-content: center;
}

#archive .content_case #loop_case .item_case h2{
    font-size: 20px;
    padding-top: 6px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px; /* 130% */
    letter-spacing: -0.4px;
}





/* SINGLE */

div#images_intro img {
	width: 100%;
    height: auto;
}



.row {
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  flex-wrap: wrap;
}



.col {
  flex: 0 0 auto;
  flex-basis: 100%;
  max-width: 100%;
}

.col--1of1,
.col--2of2,
.col--3of3, 
.col--6of6 {
  flex-basis: 100%;
  max-width: 100%;
}


.col--group {
  padding: 0;
}




@media only screen and (min-width: 767px) {
    .w70 {
        max-width: 70%;
    }

    .w50{
        width: 50%!important;
    }

    .w40{
        max-width: 40%;
    }
	.w30{
        max-width: 30%;
    }
    #parent-page .w30{
        max-width: 50%;
    }

    .col--1of2,
    .col--3of6 {
        flex-basis: 50%;
        max-width: 50%;
      }
    
    
    .col--1of3,
    .col--2of6 {
        flex-basis: 33.3333333%;
        max-width: 33.3333333%;
      }
    
    
    .col--1of6 {
        flex-basis: 16.6666667%;
        max-width: 16.6666667%;
      }
    
    
    .col--2of3,
    .col--4of6 {
        flex-basis: 66.6666667%;
        max-width: 66.6666667%;
      }
    
    
    .col--5of6 {
        flex-basis: 83.3333333%;
        max-width: 83.3333333%;
      }
    }


/* HOME */
.header_info_box {
    justify-content: space-between;
    z-index:2;
    width: 100%;
    font-size:14px;
	padding: 10px;
    transition: opacity 1s ease-in-out;
    opacity: 1;  
    position: relative;
    padding: 0px 50px;
    justify-content: flex-start;
    flex-direction: column;
    gap:25px
}

a#scroll_home {
    position: absolute;
    z-index: 9;
    background: #fff;
    border-radius: 100%;
    bottom: 30px;
    height: 40px;
    width: 40px;
    padding: 12px 18px;
    background-repeat: no-repeat;
    background-image: url('img/icons/scroll-down.svg');
	background-position: center;
}

.noshow{
    transition: opacity 1s ease-in-out;
}


.show_intro .proj_info_box,
.show_intro .noshow{
   opacity: 0!important;
}

 
/* HOME */


div#solution_listing {
    padding-bottom: 180px;
}


.gap100{
    gap: 100px;
    justify-content: flex-end;
}

.notfound-text{
	margin-top: 5px;
	justify-content: space-between;
}

/*** WHO WE ARE ***/

.values.full_box {
    padding: 120px 30px;
}
main .value h3, main .value p{
	 opacity: 0.2;
}

main .value.highlight h3, main .value.highlight p{
    opacity: 1;
}

main .value.highlight.not-in-view h3, main .value.highlight.not-in-view p{
    opacity: 0.2;
}




main .value.active h3, main .value.active p,
main .value h3, main .value p{
	 opacity: 1;
}
main .value{
	 margin-bottom: 40px;
}
main .value h3{
     font-size: 30px;
     line-height: 34px;  
     font-family: 'suisse_regular';  
	 letter-spacing: -0.6px;
	 margin-bottom: 15px;
}
main .value p{
     font-size: 18px;
     line-height: 24px;  
	 letter-spacing: -0.36px;
	 width: 70%;
}
#our-history,
#parent-page{
	color: #fff;
	padding: 30px;
}
#our-history h2,
#parent-page h2{
	margin-bottom: 30px;
}
#people .figure_bg {
    background-position: center;
}
#people h2{
	margin-bottom: 20px;
}
#people p{
	margin-bottom: 30px;
}
.mb-120{
	margin-bottom: 120px;
}
#expertise .value{
	margin-bottom: 0px;
}
#expertise .value h3 {
    margin-bottom: 5px;
}
.page-template-tpl-who-we-are #join_solution{
	border-top: 0.5px solid #000;
}

/*** OUR CLIENTS ***/

.numbox{
	background: #EDEDED;
	width: calc((100% - 40px)/3);
	padding: 30px;
	justify-content: space-between;
}
.clients_num.full_box {
    padding: 0px 0px;
	margin-bottom: 120px;
	flex-wrap: wrap;
	gap: 20px;
}
.numbox .num{
	font-size: 80px;
	line-height: 90px; /* 112.5% */
	letter-spacing: -1.6px;
	margin-bottom: 30px;
}
.numbox p{
	font-size: 22px;
	line-height: 27px; /* 122.727% */
	letter-spacing: -0.44px;
	margin-bottom: 150px;
}
.numbox .icon{
	width: 75px;
	height: 75px;
	background-size: cover;
}
.numbox .icon.icon_one{
	background-image: url('img/icons/ourclients/icon_1.png');
}
.numbox .icon.icon_two{
	background-image: url('img/icons/ourclients/icon_2.png');
}
.numbox .icon.icon_three{
	background-image: url('img/icons/ourclients/icon_3.png');
}
.numbox .icon.icon_four{
	background-image: url('img/icons/ourclients/icon_4.png');
}
.numbox .icon.icon_five{
	background-image: url('img/icons/ourclients/icon_5.png');
}
.numbox .icon.icon_six{
	background-image: url('img/icons/ourclients/icon_6.png');
}
.alignc{
	text-align: center;
}

.clbox{
	background: #EDEDED;
	width: calc((100% - 20px)/2);
	padding: 30px;
	justify-content: space-between;
	background-size: cover;
	min-height: 500px;
	position: relative;
	cursor: pointer;
    background-position: center;
}

.full_box.clients_ser,
.full_box.macro_ser{
    padding: 0px 0px;
    padding-bottom: 0;
	margin-bottom: 20px;
}
.full_box.clients_ser{
    flex-wrap: wrap;
	gap: 20px;
}

.full_box.macro_ser{
    margin-bottom: 0px;
    padding-bottom: 120px;
}

	.clbox .black_shadow{
		z-index: 99;
		background: linear-gradient(180deg, rgba(0, 0, 0, 0.50) 0%, rgba(0, 0, 0, 0.00) 49.97%);
	}
	.clbox .name,
	.clbox .description,
	.clbox .btn{
		position: absolute;
		z-index: 999;
		font-family: 'suisse_regular';
		font-weight: 400;
	}
	.clbox .name{
		color: #ffffff;
	}
	.clbox .description{
		margin-top: 60px;
		display: none;
        padding-right: 30px;
	}
	.clbox .btn{
		bottom: 25px;
		display: none;
	}
.clbox:hover{
	background-image: none!important;
}

.clbox:hover .description,
.clbox:hover .btn{
	display: block;
}
.clbox:hover .name{
		color: #000000;
}
.clbox:hover .black_shadow{
		display: none;
}

/*** MACRO SERVICES ***/

.rel_services{
    width: 100%;
    border-bottom: 0.5px solid #000;
    margin-bottom: 60px;
    padding-bottom: 5px;
    font-size: 18px;
    font-weight: 400;
    font-style: normal;
	font-family: 'suisse_regular';
}
.macro_ser{
	flex-wrap: wrap;
    gap: 20px;
}
.macro_ser .clbox{
	width: calc((100% - 40px)/3);
}
.sub_ser .clbox{
	width: calc((100% - 20px)/2);
}
.macro_ser.last_row{
	margin-bottom: 120px;
}
	
	#more_solutions{
		padding-top: 120px;
		flex-wrap: wrap;
		gap: 20px;
	}
	.more_solutions .moreSolutionBox{
		width: calc((100% - 40px)/3);
		margin-bottom: 30px;
	}
	.more_solutions.full_box{
		padding: 0 0 50px 0;
	}
	.more_solutions .moreSolutionBox figure,
	.more_solutions .moreSolutionBox h3,
	.more_solutions .moreSolutionBox p{
		margin-bottom: 15px;
	}
	.more_solutions .moreSolutionBox h3{
		font-size: 30px;
		font-weight: 400;
		line-height: 30px;
        font-family: 'suisse_regular';
        padding-top: 15px;
	}

/*** CONTACTS ***/

.contact_box{
		padding: 0 30px;
	}
.wp-block-separator {
    border-top: 0.5px solid #000;
    padding: 60px 0 0 0;
    margin-top: 60px;
}
input, textarea, select {
    border-bottom: 1px solid #cbcccb;
	padding: 10px 0 5px 0 !important;
	width: 100%;
}
form p{
	margin-bottom: 30px;
}
input.wpcf7-submit {
    width: auto;
	border-bottom: 0;
	background-color: rgba(29, 66, 80, 1);
    color: #fff;
    cursor: pointer;
	display: inline-block;
    padding: 10px 20px;
    border-radius: 200px;
    font-size: 15px;
    line-height: 18px;
    font-family: 'suisse_regular';
    color: #fff;
    padding-right: 40px;
    max-width: max-content;
    transition: all 0.4s ease-in-out;
}
input.wpcf7-submit:after {
    display: inline-block;
    content: "→";
    color: #fff;
    transition: all 0.4s ease-in-out;
    padding-left: 7px;
    padding-top: 1px;
    position: absolute;
}
input.wpcf7-submit:hover {
    background-color: rgba(0, 0, 0, 0.07);
    color: #000;
}
	input.btn{
		border-bottom: 0;
	}
	.contacts_row{
		margin-bottom: 60px !important;
	}
.content_case.content_contact {
    padding-bottom: 0px;
	border-bottom: 0.5px solid #000;
}
#pp_other.contact_box {
    padding-bottom: 0px;
}


/*** FOOTER ***/

footer{
   background: #1D4250;
   padding: 40px 60px; 
    width: 100%;
    z-index: -1;
    bottom: 0px;
    position: sticky;
   
}

footer .flex{
    justify-content: space-between;
}

footer .flex .flex div:last-child {
    text-align: right;
}

footer p, footer a, footer .link_utili a, footer .link_utili p {
    font-size: 15px;
    line-height: 18px;
    color: rgba(44, 42, 41, 0.25);
    font-family: 'suisse_regular';
}

footer .link_utili a {
    display: inline-block;
}

footer .link_utili .liright{
    margin-left: auto;
}

footer a{
    color: #000;
	transition: all 0.3s ease-in-out !important;
}
footer a:hover{
    color: grey;
}

footer .logo {
    /*background-image: url('img/logo-spin360.svg');*/
    background-image: url('img/spin360-logo-dark.png');
    width: 125px;
}
footer .motto {
    font-size: 20px;
	line-height: 24px;
	margin-left: 10px;
	margin-top: 20px;
}
.link_utili ul {
    width: 100%;
}
.link_utili.flex {
    padding-top: 50px;
}


.not_active{
    /* IE 8 */
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=20)"!important;

  /* IE 5-7 */
  filter: alpha(opacity=20);

  /* Netscape */
  -moz-opacity: 0.2!important;

  /* Safari 1.x */
  -khtml-opacity: 0.2!important;

  /* Good browsers */
    opacity: 0.2!important;
}




/*** COOKIE BANNER ***/

#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container {
    padding: 10px .625rem;
    width: 100%;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content {
    justify-content: space-between;
	padding-left: 0;
    padding-right: 0;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton {
    font-size: 12px;
    line-height: 20px;
    color: #000;
    font-weight: 500;
    padding: 0 0;
    margin: 0;
    letter-spacing: -0.39px;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton.moove-gdpr-infobar-reject-btn, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-reject-btn {
    background-color: transparent;
    box-shadow: none;
    color: #DBDBDB;
}
#moove_gdpr_cookie_info_bar.moove-gdpr-light-scheme {
    border-top: 0;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton.focus-g, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton:focus, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton:hover, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.focus-g, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton:focus, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton:hover {
    color: #000;
    background-color: transparent;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton.moove-gdpr-infobar-reject-btn:hover, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton.moove-gdpr-infobar-reject-btn:hover {
    background-color: transparent;
    color: #000;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content p a {
    font-size: 12px;
    line-height: 18px;
    font-weight: 500;
    letter-spacing: -0.39px;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-allow-all{
	order: 2;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-infobar-reject-btn{
	order: 1;
	margin-right: 15px !important;
}
#moove_gdpr_cookie_info_bar {
    min-height: initial;
}
#moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content a.mgbutton, #moove_gdpr_cookie_info_bar .moove-gdpr-info-bar-container .moove-gdpr-info-bar-content button.mgbutton {
    background-color: transparent !important;
}



@media (max-width: 768px){

  header.transparent #mega-menu-wrap-header-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::after,
  header.transparent #mega-menu-wrap-header-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner::before,
  header.transparent #mega-menu-wrap-header-menu .mega-menu-toggle .mega-toggle-block-0 .mega-toggle-animated-inner {
       background-color:#fff; 
 } 

    .listing .expand div.info_box.flex ul{
        padding:0px;
        margin-top:0px
    }


    .main_header.hover .bg_menu{
        height: 60px;
      } 
    
    main section#about_mob{
        padding:40px 20px!important
    }

    
    #about_mob h2{
        font-family: 'suisse_regular';
        font-style: normal;
        font-weight: 400;
        padding-bottom: 20px!important;
        letter-spacing: 0px;
    }

   

    #about{
        max-height: 450px;
        width: 90%;
    }

    a#scroll_home{
        bottom: initial;
        top: 85vh; 
        display: none;
    }

    .expand{
        flex-direction: column;
    }

    .expand ul {
        padding-bottom: 30px;
    }
    section#case_studies {
        gap: 0px;
    }

    #solution_listing.listing .expand {
        padding-bottom: 80px;
        position: relative;
    }

    .expand div.video_box,
    .listing .expand div.video_box {
        width: 100%;
    }

     .expand video,
     .listing .expand video {
        height: 215px;
    }

    #about.expand video {
        height: 100%;
        z-index:0;
    }

    .color-bg .owl-carousel .owl-prev, .color-bg .owl-carousel .owl-next,
    .owl-carousel .owl-prev, .owl-carousel .owl-next{
        background: transparent!important;
        }

    #mega-menu-wrap-header-menu .mega-menu-toggle .mega-toggle-blocks-right .mega-toggle-block {
        margin: 0px !important;
    }

    #pp_video_bg {
        top: 0px;
    }

    #about .black_shadow{
        z-index: 1
    }

    #about .text_about {
        position: absolute;
        z-index: 2;
        padding: 0px 20px;
        left: 0px;
    }

   /* #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, 
    #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, 
    #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link{
        border-radius: 200px;
        width: fit-content;
    }*/ 

    body #mega-menu-wrap-header-menu {
         position: absolute;
        right: -10px;
        top:-10px
    }

    #mega-menu-wrap-header-menu .mega-menu-toggle + #mega-menu-header-menu{
        z-index:1!important;
    }
    #mega-menu-wrap-header-menu #mega-menu-header-menu {
        margin-top: 100px!important;
    }

    #mega-menu-wrap-header-menu .mega-menu-toggle.mega-menu-open + #mega-menu-header-menu {
        padding: 15px!important;
    }

    #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item > a.mega-menu-link{
        padding:0px!important
    }
    
    #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item.mega-toggle-on > a.mega-menu-link{
        background-color:transparent!important;
        }
    #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item {
        border-bottom: 0.4px solid #0000004a!important;
    }

    #mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after{
        content:"+"!important;
        font-family: 'suisse_regular';
    }

    #mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator:after{
        content:"x"!important;
        font-family: 'suisse_regular';
    }

    #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link
    {
        padding: 0px;
    }

    #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item{
        padding: 0px!important;
    }
    #mega-menu-wrap-header-menu .mega-menu-toggle + #mega-menu-header-menu{
        visibility: hidden;
        transition: opacity 200ms ease-in-out, visibility 200ms ease-in-out!important;
    }

    #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item.mega-current-menu-item a{
        color: hsla(0, 0%, 0%, 0.20)!important;
    }

    #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item a {
        font-size: 18px!important;
    }

    #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item ul{
        padding-top: 15px!important;
    }
    #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item ul li.mega-menu-item-has-children > a {
        padding-right: 15px !important;
        padding-left: 15px !important;

    }

    #mega-menu-wrap-header-menu #mega-menu-header-menu > li.mega-menu-item ul li a{
        font-size: 15px!important;
        line-height: 18px!important;
        padding-bottom: 14px!important;
    }

/* NASCONDE IL MENU DI SECONDO LIVELLO */
    .mega-sub-menu > .mega-menu-item > .mega-sub-menu:last-of-type,
    #mega-menu-wrap-header-menu #mega-menu-header-menu li.mega-menu-item-has-children li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {
        display: none!important;
    }


    .img_logo{
        display: none;
    }
    
    .full_box {
        padding: 70px 0px
    }
   
    .flex {
      flex-direction: column;
      gap: 20px;
    }

    .flex.with_img img {
        max-width: 100%;
    }
    
    nav.main_nav {
        position: absolute;
        right: 20px;
    }

    .flex-col a.btn{
        margin-top: 0px;
    }

    main{
        padding: 0px;
    }

    main section{
        padding: 20px!important;
    }

    main.single-case{
        padding-top: 0px!important;
    }
    
    main section#case_studies,
    .box_carousel {
        padding-left: 0px!important;
        padding-right: 0px!important;
        padding-top: 40px !important;
        padding-bottom: 30px !important;
     }
     .box_carousel.expand.full .inner_expand{
       padding:0px 20px  
     }

    .main_header .inner_menu {
        padding: 15px;
        gap: 0px;
    }
    #pp_home {
        justify-content: end;
    }

    .header_info_box{
        padding: 20px;
        padding-bottom: 80px;
    }

    #page .header_info_box.flex,
    #single .header_info_box,
	#archive .header_info_box{
        padding-bottom: 0px;
    }
    
    .expand {
        width: 92vw;
        padding: 20px;
        padding-bottom: 50px;
    }
    .owl-carousel .item p, .owl-carousel .item span {
       padding: 20px;
       padding-bottom: 0px;
    }
    
    .owl-prev, .owl-next {
        height: 75%;
    }

    .listing .expand a.btn {
     bottom:25px;
     position: absolute
    }

 .listing .expand .info_box flex{
   display: block
    }

    .css-typing p,
    .numbox .num,
    .box_carousel h2,
    #pp_other h1{
        font-size: 30px;
        line-height: 34px;
    }
	#pp_other h1{
        margin-bottom: 10px;
    }


    #archive.category-news .header_info_box,
    #archive.category-news-it .header_info_box,
    .content_case {
        padding-bottom: 60px;
        padding-top: 0px;
    }
    
    .content_case{
        padding-top: 30px;
    }

    #archive.category-news .item_img,
    #archive.category-news-it .item_img {
        padding-bottom: 60%;
    }

    #archive.category-news #pp_other,
    #archive.category-news-it #pp_other{
        padding-bottom: 0px;
    }

    section#case-recent {
        padding-top: 0px !important;
        padding-bottom: 0px!important;
    }


    .small_tit {
        line-height: 40px;
    }

    .numbox p{
        margin-bottom: 30px;
    }

    a.btn, .flex.cat_list ul li{
        padding: 10px 15px;
    }
   

    a.btn{
        padding-right: 35px;
    }

    a.btn, .flex.cat_list ul li,  .numbox p,
    .breadcrumb a, .breadcrumb span, .small_tit,
    #archive .content_case p, ul.meta li p, ul.meta li span{
        font-size: 15px;
        line-height: 18px;
    }
    #about_mob h2, #join_solution p,
    #pp_other div.descr p,
    .figure-bg p {
        font-size: 15px;
        line-height: 18px; 
        padding: 0px;
        margin: 0px;
    }

    #other_case.box_carousel .owl-carousel {
        padding-top: 30px;
    }

#our-mission p{
    width: 80%;
}


    #our-mission.expand.full.figure-bg {
        place-content: space-between;
    }

    .main_header {
        height: 70px;
    }


    #archive .content_case h2{
        font-size: 22px;
        line-height: 27px;
    }

    main .expand h2, main .values h2, main #our-history h2,
    main #parent-page h2, .box_carousel.expand.full h2 {
        font-size: 28px;
        line-height: 32px;
    }
	main .values h2, main #our-history h2, main #parent-page h2 {
        font-size: 20px;
    }
    

    .box_carousel.expand.full h3,
    main .expand h3, main h2, #join_solution h2,
    #about p, #values h2,
    #our-people h2, #our-history h2, #parent-page h2, #expertise h2 {
        letter-spacing: -0.4px;
        font-size: 20px;
        line-height: 26px;
    }
	#our-people{
		height: auto;
		background-color: #ffffff;
	}
	#our-people h2, #our-people p{
		color: #000000;
	}
    .listing.flex-col .expand p,
    .expand ul li,  p, .owl-carousel .item span,
    main .value p {
        font-size: 15px;
        line-height: 18px;
    }

    .owl-carousel .item p, main .value h3 {
        font-size: 18px;
        line-height: 24px;
    }
    
    div#solution_listing{
        padding-bottom:30px
    }



span.owl-move-prev, span.owl-move-next {
    background-color: rgb(0 0 0 / 30%);
     filter: none;
}
    span.owl-move-prev{
        left: 15px;
    }

    span.owl-move-next {
        right: 15px;
    }

    span.owl-move-prev, span.owl-move-next{
        width: 25px;
        height: 25px;
    }

    .listing .expand div.info_box{
        padding: 0px;
    }

    .expand.full .img_logo {
        position: absolute;
        right: 20px;
    }

    .listing .expand {
        padding: 20px;
    }
    .expand {
        height: auto;
        max-height:none
    }

    #our-mission {
        max-height: 500px;
		width: calc(100% - 30px);
    }
	#our-mission h2,
	#values h2{
        font-size: 20px;
    }
	#values{
        gap: 40px;
		padding-top: 40px !important;
    }

    #our-history, #our-people, #parent-page {
        padding: 40px 20px !important;
    }

    .expand.full.figure-bg {
        flex-direction: column;
        justify-content: flex-start;
        }

    .listing .expand div.info_box,
    .cat_list, .item_case,
    #loop_case, #pp_other div.descr p,
    .macro_ser .clbox,
    .more_solutions .moreSolutionBox,
    .clbox, main .value p  {
        width: 100%;    
    }
    

    .flex.clients_num .numbox{
        width: calc((100% - 20px)/2);
        padding: 20px;
    } 

    #mega-menu-wrap-header-menu .mega-menu-toggle.mega-menu-open:after{
        background:#fff!important;
        opacity:1!important;
        z-index:-1!important
    }

    .main_header .logo {
        min-height: auto;
        position: absolute;
        z-index: 11;
    }
    
	
	.visibleDesk{
		display: none!important;
	}
	.visibleMob{
		display: block!important;
	}

    section#join_solution {
        padding-top: 40px !important;
        padding-bottom: 40px !important;
    }

	footer{
	   padding: 40px 20px; 
	}
	.flexrow{
		flex-direction: row;
		flex-wrap: wrap;
		gap: 0;
	}
	footer .motto {
    	margin-left: 0px;
		margin-bottom: 50px;
	}
	.flexrow div{
		width: 50%;
		margin-bottom: 30px;
	}
	footer .flex .flex div:last-child {
		text-align: left;
	}
    .link_utili.flex{
        padding-top: 40px;
        justify-content: space-between;
        width: 100%;
    }

    .link_utili.flex .flex {
        flex-direction: row;
        width: 100%;
    }

    footer .motto br {
        /*display: none;*/
    }
	.mb-120 {
		margin-bottom: 0px;
	}
	#expertise h2,
	#values h2{
		margin-bottom: 25px;
	}
	.flex.clients_num .numbox {
        width: calc((100% - 15px) / 2);
    }
	.clients_num.full_box {
		gap: 15px;
		flex-direction: row;
        margin-bottom: 60px;
	}
	.clbox {
		background-image: none !important;
	}
	.clbox .name {
		color: #000;
		font-size: 20px;
		margin-bottom: 20px;
	}
	.clbox .description {
		margin-top: 0;
		margin-bottom: 20px;
		display: block;
	}
	.clbox .name, .clbox .description, .clbox .btn {
		position: initial;
	}
	.clbox figure {
		margin-bottom: 20px;
	}
	.clbox .btn {
		display: block;
	}
	.rel_services{
		width: calc(100% - 40px);
		margin-bottom: 20px;
		font-size: 15px;
	}
	#more_solutions {
		gap: 0px;
		padding-top: 50px !important;
	}
	.more_solutions .moreSolutionBox h3 {
		font-size: 20px;
	}
	.more_solutions .moreSolutionBox:first-child p{
		border-bottom: 0.5px solid #000;
    	padding-bottom: 5px;
	}
	.more_solutions .moreSolutionBox {
		margin-bottom: 40px;
	}
	.more_solutions .moreSolutionBox:first-child{
		margin-bottom: 25px;
	}
	.more_solutions .moreSolutionBox:nth-child(4){
		margin-bottom: 0px;
	}
	.contact_box {
		padding: 0 0;
	}
	.contactTitle{
		font-size: 30px;
	}
	.wpcf7-form-control-wrap{
		margin-top: 15px;
	}
	input.btn {
		padding: 10px 20px !important;
	}
	.wp-block-columns.contacts_row {
		flex-wrap: initial !important;
		gap: 20px !important;
	}
	.wp-block-separator {
		padding: 40px 0 0 0;
		margin-top: 40px;
	}
	.contactTitle + div.contacts_row{
		margin-top: 40px !important;
	}
	#case-recent .flex.content_case{
		gap: 30px;
	}
	#loop_case {
		display: initial;
		width: 100%;
	}
	#loop_case {
		display: initial;
		width: 100%;
	}
	#loop_case .item_case{
        margin-bottom: 15px;
    }
	#loop_case .item_case a{
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        flex-direction: row;
		gap: 15px;
    }
	#loop_case .item_case a div{
        width: calc((100% - 15px)/2);
    }
	#loop_case .item_case a div.item_img{
        width: auto;
        height: 220px;
    }
	#loop_case .item_case span {
		padding-top: 0;
		font-size: 12px;
	}
	

}

@media (min-width: 992px) {
    #iubenda-cs-banner.iubenda-cs-default .iubenda-cs-rationale {
        width: 95% !important;
        margin: 16px auto !important;
    }
}


body #mega-menu-wrap-header-menu{
    background-color: transparent;
}