/* !base style */
body{font-family: 'Inter', sans-serif; font-size: 16px;}

a{text-decoration: none;}

h1{color:#000; padding-top:20px; padding-bottom:20px;}
h2,h3,h4,h5{color:#000; padding-bottom: 15px;}

p{line-height:28px; color: #000; font-weight: 300;}


.big-text{font-size:70px; font-weight: 900;}
.med-text{font-size:40px; font-weight 300;}
.normal-text{font-size:16px;}
.small-text{font-size:14px;}

.intro-text{font-size:20px; text-transform: uppercase; font-weight:bold;}

.button{padding:15px 25px; background: white; color:black; 
          border: solid #010e30; border-radius: 20px; 
          display:inline-block;}
          
.buttons{padding:15px 25px; background: transparent; color:white; 
          border: solid white; border-radius: 20px; 
          display:inline-block;}
        

@media (max-width:760px) {
  .big-text{font-size:50px;}
  .med-text{font-size:40px;}
  .normal-text{font-size:15px;}
  h4{padding-top:25px;}
  
}

@media (min-width: 768px) and (max-width: 950px){
  h4{padding-top:15px;}
}

/* !Header */
.header{
  width: 100%;
  position: fixed;
  top:0;
  padding: 30px;
  display: flex;
  background: white;
  z-index: 10;
  justify-content: space-between;

}

/* !MENU */
.logo{z-index: 1;
  float: left
}


.logo img{width: 30%;
      height: auto;
}

.header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 10px;
            background: white;
            z-index: 1000;
        }


        .menu-toggle {
            display: none; /* Hide the menu toggle by default */
            cursor: pointer;
            padding: 10px;
            position: relative;
        }

        .menu-toggle span {
            display: block;
            background: #010e30; 
            height: 3px;
            width: 25px;
            margin: 5px 0;
            transition: transform 0.3s; /* Added transition property */
        }

.menu-toggle .active span:nth-child(1) {
    transform: rotate(-45deg) translate(-5px, 6px);
}

.menu-toggle .active span:nth-child(2) {
    opacity: 0;
}

.menu-toggle .active span:nth-child(3) {
    transform: rotate(45deg) translate(-5px, -6px);
}

        .menu {
            display: flex; /* Show the menu by default on larger screens */
            list-style: none;
            padding: 0;
            margin: 0;
        }

        .menu ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
           
        }

        .menu li {
            margin: 15px;
        }

        .menu a {
            text-decoration: none;
            color:#010e30; 
            font-size: 18px;
        }

        @media only screen and (max-width: 768px) {
.menu {
    display: flex;
    list-style: none;
    flex-direction: column;
    padding: 0;
    margin: 0;
    position: fixed;
    top: 0;
    right: -100%; 
    width: 100%;
    height: 100%;
    background: white;
    transition: right 0.7s ease; 
    align-items: center;
    text-align: center;
    justify-content: center;
}
      .menu ul {
       flex-direction: column
      }
            .menu-open .menu {
                right: 0; /* Display the menu by setting right to 0 */
            }

            .menu-toggle {
                display: block; /* Show the menu toggle on smaller screens */
            }

            body.menu-open {
                overflow: hidden; /* Prevent scrolling when the menu is open */
            }
    
    .logo img {
        width: 75%; 
        height: auto;
    }
    
    .header{
        padding-top: 0;
        padding-bottom: 0;
    }        
    
        }


.cta{padding-top:15px}



/* !HERO */
.title{
    color: #010e30;
    font-size: 32px;
    text-align: center;
    padding-top: 25px;
}

.title:after{
    background: linear-gradient(45deg, #120a8f, #010e30);
    content: "";
    display: block;
    height: 5px;
    margin: 1rem auto auto;
    width: 100px;
}

.subtitle{
    padding-top: 25px;
    font-size: 1.5rem;
    font-weight: 600;
    color: #010e30;
}

.hero{
  padding-top: 125px;
  margin-left: auto;
  margin-right: auto;
  max-width: 768px;
  padding-left: 5vw;
  padding-right: 5vw;
  content: justify;
  align-content: justify;
  text-align: justify;
}







/* !Grid*/

.col{float:left;width:100%;}

.grid{width:100%;
  display: flex;
  max-width: 1350px;
  padding: 0 30px;
  margin: 0 auto;
  align-content: baseline;
  align-items: baseline;
  flex-wrap: nowrap;
  flex-direction: row;
  justify-content: space-around;
}

@media (max-width: 768px) {
  .grid{flex-wrap:wrap;}
  .col{float:left; width: 100%;}
}

@media (min-width: 768px) and (max-width: 950px){
  .grid{flex-wrap:wrap}
  .col{float:left; width:100%;}
}


/* !footer */
.footer {
  padding: 30px 0px;
  background: #010e30;
}

@media (max-width: 768px){
    .footer{padding: 15px 0px;}
}


.footer-info {
  display: flex;
  justify-content: space-between;
  align-items: center; 
  padding-left: 30px; 
  padding-right: 30px;
  padding-top: 10px;
}



.social-icons {
        display: flex;
}
.social-icons a {
        margin-right: 20px; 
}
    
.social-icons a:last-child {
        margin-right: 0;
}


.terms {
  color: gray;
  font-size: .75rem;
  line-height: 1rem;
}

.developer {
  opacity: 1;
  color: gray;
  font-size: .75rem;
  line-height: 1rem;
}


@media (max-width: 600px) {
    
  .footer-info {
    flex-direction: column;
    align-items: center;
  }

  .terms {
    order: 2; /* Terms and conditions moved after SVG icons */
    margin-bottom: 10px;
  }

  .social-icons {
    order: 1; /* SVG icons moved to be displayed first */
    margin-bottom: 10px;
    padding-top: 10px;
  }

  .developer {
    order: 3;
    text-align: center;
  }
}








/* 4) Stili selettore lingua */
.language-selector button {
  color: black;
  border: solid #010e30;
  border-radius: 20px;
  display: inline-block;
  font-size: 16px;
  cursor: pointer;
  transition: background-color 0.3s, transform 0.3s;
}
.language-selector button:hover { background-color: #f0f0f0; transform: scale(1.05); }
.language-selector button:focus { outline: none; }
.language-selector button.active { background-color: #010e30; color: white; }
.language-selector button.active:hover { background-color: #0056b3; }









/* !helpers */

.mt-1{margin-top:50px;}
.mt-2{margin-top:100px;}
.mt-3{margin-top:150px;}
.tw{color: #fff}
.tb{color: #010e30}


*,
*:before,
*:after{
  -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
      box-sizing: border-box;
}