
.custom_border_bottom:hover:after {
    content: "";
    position: absolute;
    bottom: 0;
    display: block;
    left: 0;
    width: 100%;
    border-bottom: 3px solid red;
    transform: translateZ(0);
    transform-origin: left;
    transition: transform;
    transition-duration: 0, 2s;
    transition-timing-function: ease;
    -webkit-animation: borderTopAnimation 0.7s ease-in-out both;
    animation: borderTopAnimation 0.7s ease-in-out both;
  }
  @keyframes borderTopAnimation {
    0% {
      opacity: 0;
      width: 0;
    }
    to {
      opacity: 1;
      width: 100%;
    }
  }

  .text-9xl{
      line-height:0.8 !important;
  }

  .text-converted{
    writing-mode: tb-rl;
    transform: rotate(-180deg);

  }

 .customText{
     white-space:nowrap;

 }

 @media screen and (min-width:320px) and (max-width:690px) {
     .customText{
         white-space: inherit;
        
     }
 }
 *{
     padding: 0;
     margin: 0;
     box-sizing: border-box;
     scroll-behavior: smooth;
    
    
     
 }

 html{
   overflow-x: hidden;
 }
 .customBorderdescrizione:hover:before{
       content: "";
    position: relative;
    bottom: 0;
    display: block;
    left: 0;
    width: 50%;
    border-bottom: 4px solid red;
    transform: translateZ(0);
    transform-origin: left;
    transition: transform;
    transition-duration: 0, 2s;
    transition-timing-function: ease;
    -webkit-animation: boderBeforeDescrizione 0.7s ease-in-out both;
    animation: boderBeforeDescrizione 0.7s ease-in-out both;
     
}

 @keyframes boderBeforeDescrizione {
    0% {
      opacity: 0;
      width: 0;
    }
    to {
      opacity: 1;
      width: 50%;
    }
  }
  
  
 }
 .customBorder:hover:before{
    content: "";
    position: relative;
    bottom: 0;
    display: block;
    left: 0;
    width: 5%;
    border-bottom: 4px solid red;
    transform: translateZ(0);
    transform-origin: left;
    transition: transform;
    transition-duration: 0, 2s;
    transition-timing-function: ease;
    -webkit-animation: boderBefore 0.7s ease-in-out both;
    animation: boderBefore 0.7s ease-in-out both;
 }
 @keyframes boderBefore {
    0% {
      opacity: 0;
      width: 0;
    }
    to {
      opacity: 1;
      width: 5%;
    }
  }


  .borderImperiale:hover:before{
    content: "";
    position: relative;
    bottom: 0;
    display: block;
    left: 0;
    width: 100%;
    border-bottom: 4px solid white;
    transform: translateZ(0);
    transform-origin: left;
    transition: transform;
    transition-duration: 0, 2s;
    transition-timing-function: ease;
    animation: borderImperiale 0.7s ease-in-out both;
  }

  @keyframes porteCssBefore {
    0% {
      opacity: 0;
      width: 0;
    }
    to {
      opacity: 1;
      width: 50%;
    }
  }


  .borderBottom:hover:before{
    content: "";
    position: relative;
    bottom: 0;
    display: block;
    left: 0;
    width: 20%;
    border-bottom: 4px solid white;
    transform: translateZ(0);
    transform-origin: left;
    transition: transform;
    transition-duration: 0, 2s;
    transition-timing-function: ease;
    animation: porteCssBefore 0.3s ease-in-out both;
  }

  @keyframes porteCssBefore {
    0% {
      opacity: 0;
      width: 0;
    }
    to {
      opacity: 1;
      width: 20%;
    }
  }

  .tabelHeadingText{
    writing-mode: tb-rl;
    transform: rotate(180deg);
  }
  .customBlue{
    background-color: rgb(48, 48, 143);
  }

  .customRed{
    background-color: rgb(165, 6, 6);
  }

  .customYellow{
    background-color: rgb(241, 241, 85);
  }
  

  .top-7{
    top:-6rem;
    right: -11rem;
  }
  .top_montaggioTetto{
    top:-8rem;
    right: -7rem;
  }
  .full-width {
    left: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    max-width: 100vw;
    position: relative;
    right: 50%;
    width: 100vw;
  }

  .customMenu{
    top: -30rem;
  }
  .customMobileMenu{
    
    
    animation: transformDiv 1s ease-in both;
    
  }
  @keyframes transformDiv {
    0%{
      top: -30rem;
      opacity: 0;
      position: absolute;
    }
    100%{
      top: 5rem;
      opacity: 1;
      position: absolute;
    }
    
  }
  

  .animation_from_bottom{
   
    animation: transformFromBottom 1s ease-in both;
  }


  @keyframes transformFromBottom {
    0%{
      top: 5rem;
      opacity: 1;
      position: absolute;
    }
    100%{
      top: -30rem;
      opacity:0 ;
      position: absolute;
    }
    
  }
  .scrollable_container{
        width: 100%;
        overflow-x: scroll;
        overflow-y: hidden;
        white-space: nowrap;
  }
  .maxWidth{
    max-width: 200%;
  }
  .minHeight{
    min-height: 58vh;
  }