/*
Theme Name: Osilk
Author: Matteo Doni
Version: 1.0
Text Domain: osilk
*/

/* roboto-100 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 100;
  src: url('fonts/roboto-v50-latin-100.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-100italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 100;
  src: url('fonts/roboto-v50-latin-100italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 200;
  src: url('fonts/roboto-v50-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-200italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 200;
  src: url('fonts/roboto-v50-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-300 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 300;
  src: url('fonts/roboto-v50-latin-300.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-300italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 300;
  src: url('fonts/roboto-v50-latin-300italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/roboto-v50-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 400;
  src: url('fonts/roboto-v50-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 500;
  src: url('fonts/roboto-v50-latin-500.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-500italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 500;
  src: url('fonts/roboto-v50-latin-500italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 600;
  src: url('fonts/roboto-v50-latin-600.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-600italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 600;
  src: url('fonts/roboto-v50-latin-600italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 700;
  src: url('fonts/roboto-v50-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 700;
  src: url('fonts/roboto-v50-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-800 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 800;
  src: url('fonts/roboto-v50-latin-800.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-800italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 800;
  src: url('fonts/roboto-v50-latin-800italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-900 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 900;
  src: url('fonts/roboto-v50-latin-900.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-900italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 900;
  src: url('fonts/roboto-v50-latin-900italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

*{
    -webkit-tap-highlight-color: transparent;

    appearance: none;
    -webkit-appearance: none; /* iOS/Safari */
    -moz-appearance: none;
  }
body{
      color: #6E6E6E;
	    padding: 0;
	    margin: 0 auto;
	    height: 100%;
	    width: 100%;
	    font-size: 18px;
      overflow-x: hidden;
      font-family: "Roboto", sans-serif;
      font-optical-sizing: auto;
      font-weight: 400;
      font-style: normal;
}
img {
  max-width: 100%;
}
a {
  color: #6E6E6E;
  text-decoration: none;
}
.center{text-align: center;}


.flex{
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
}


.button{
    font-size: 24px;
    border: 2px solid;
    border-radius: 50px;
    background-color: #E3FF44;
    width: max-content;
    margin: 25px auto;
    padding: 4px 20px;
    cursor: pointer;
    flex: none !important;
}
.button.active{
  color: #E3FF44 !important;
  background-color: #6E6E6E !important;
}

.active {
   border-bottom: 1px solid #6E6E6E;
}
a:hover {
   border-bottom: 1px solid #6E6E6E;
}
.nounderline {
  border: none!important;
}
.desktop{
  display: none!important;
}

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

  .desktop{
    display: block!important;
  }
  .mobile{
    display: none!important;
  }
   
}


.content-page{
max-width: 960px;
    margin: 150px auto 100px auto;
    padding: 0 20px;
    box-sizing: border-box;
}
@media screen and (max-width: 768px){

  .content-page{
      margin: 100px auto 100px auto;
  }
   
}
.content-page p{
  font-size: 18px;
}
.content-page h3{
  font-size: 20px;
  line-height: normal;
}

h1, h2{
  font-weight: 300;
  text-transform: uppercase;
  font-size: 40px;
}
h3{
  font-weight: 400;
  color: #3F3F3F;
  font-size: 40px;
}
h4{
  font-weight: 400;
}
p{
  font-size: 30px;
  line-height: 1.5;
}

header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 60px 40px;
    box-sizing: border-box;
}

.menu-left, .menu-right {
  display: flex;
  gap: 50px;
  align-items: center;
}

.logo {
  position: absolute;      
  left: 50%;               
  transform: translateX(-50%); 
}

.logo img {
  width: 150px;
}

nav a {
  font-weight: 300;
}
nav svg {
    width: 30px;
    height: auto;
}

footer{
  background: #B1B1B1;
  display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 60px 40px;
    box-sizing: border-box;
}

.copy{
  background: #9f9f9f;
  padding: 20px;
  box-sizing: border-box;
  font-size: 14px;
  @media (max-width: 768px){
    padding: 20px 60px;
  }
}

/* Pulsante burger */
.burger {
    display: none; 
    flex-direction: column;
    justify-content: space-between;
    width: 25px;
    height: 16px;
    background: none;
    border: none;
    cursor: pointer;
    z-index: 1001; 
    position: fixed;
    top: 35px;
    right: 20px;
}

.burger span {
    display: block;
    height: 2px;
    background: #6b6b6b;
    transition: 0.3s;
}

/* Effetto X quando attivo */
.burger.active span:nth-child(1) {
    transform: rotate(45deg) translate(5px, 5px);
}
.burger.active span:nth-child(2) {
    opacity: 0;
}
.burger.active span:nth-child(3) {
    transform: rotate(-45deg) translate(5px, -5px);
}

.menu-mobile {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height:100vh;    
    background: #eee;
    flex-direction: column;
    gap: 30px;
    display: flex;
    text-align: center;
    justify-content: center;
    transform: translateY(-120%);
    pointer-events: none;
    transition: 1s ease;
}
.menu-mobile a {
  font-size: 30px;
  font-weight: 300;
    width: max-content;
    margin: 0px auto;
}

/* Quando menu aperto */
.menu-mobile.show {
    transform: translateY(0);
    pointer-events: auto;
}
.footer-mobile{
  display: flex;
  flex-direction: column;
  gap: 25px;
  width: 100%;
}
.footer-mobile .logo-mobile{
  width: 30vw;
  margin: auto;
}
.footer-mobile a{
  display: block;
}

footer a {
  border: none!important;
}


/* MOBILE */
@media (max-width: 900px) {

    .burger {
        display: flex;
    }
    header {
        position: fixed;
        justify-content: center;
        padding: 0;
        top: 0;
    }
    .logo img{width:90px;}

    /* Logo centrato */
    .logo {
        position: fixed;
        left: 10px;
        top: 10px;
        transform: none;
        margin: 0 auto;
    }
    header .menu-left, header .menu-right{
      display: none;
    }

    footer{
      padding: 30px;
    }
    p{
      font-size: 20px;
    }
}


.wrapper{
  margin: auto;
  max-width: 1200px;
}
.section{
  padding: 100px 50px;
  box-sizing: border-box;
}
@media (max-width: 768px) {
  section{
    padding: 50px!important;
  }
}

.white{
  color: #fff;
}

        .video-section {
            width: 100%;
            background: black;
            display: flex;
            justify-content: center;
            align-items: center;
            margin: 0 !important;
            padding: 0 !important;
        }

        .video-section video {
            width: 100%;
            height: 100%;
            object-fit: cover;
        }
        .logo-video{
          position: absolute;    
          width: 25vw;
        }



.fascia {
  background: #E3FF44;
  text-transform: uppercase;
  padding: 10px;
  box-sizing: border-box;
  font-size: 30px;
  font-weight: 300;

}        

#project{
  position: relative;
  background-color: #D9D9D9;
}
#project p{
    z-index: 1;
    position: relative;
}
.line1{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 25%;
}




#solutions{
  background-color: #B6B6B6;
  position: relative;
  padding: 100px 0 0 0!important;
}

#solutions h2{
  color: #E3FF44;
  margin: 0;
}
#solutions .sub{
  margin: 0;
  padding-left: 200px;
  margin-bottom: 50px;
}

#solutions p{
    max-width: 90%;
    font-size: 5vw;
    font-weight: 200;
    color: #fff;
    margin: auto;
    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: max-content;
    line-height: 1;
}

.illustration{
  width: 100%;
  margin-bottom: -100px;
}

@media (max-width: 768px) {
  #solutions .sub{
    padding-left: 0px;
  }
  #solutions p{
    font-size: 30px;
  }
  .illustration{
    margin-bottom: 0px;
  }

}





#applications{
  background-color: #9f9f9f;
}
#applications h2 {
  color: #E3FF44;
}
.slider-app{
  padding: 80px 0;
}
.slider-app img{
  width: auto;
  height: 200px;
  margin: auto;
}
.slider-app svg{width: 20px;}
.slick-prev:before, .slick-next:before{display: none;}
.sec-box{
  background: #C2C2C2;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  padding: 80px;
}

.sec-box .box{
 flex: 1 1 calc(25% - 40px);   /* 4 colonne */
    box-sizing: border-box;
}

.sec-box .box img{
  border: 3px solid #E3FF44;
}

.sec-box .box h4{
  font-size: 20px;
}

.sec-box .box p{
  font-size: 14px;
}

@media (max-width: 768px) {
  .sec-box{
    gap: 20px;
    padding: 20px;
  }
  .sec-box .box{
      flex: 1 1 calc(100% - 20px); 
    }
    .fascia {
      font-size: 20px;
    }
}

#products{
  background-color: #9f9f9f;
}
#products h2 {
    color: #E3FF44;
}
#products p{
  color: #ffffff;
}
#products img{
  width: 200px;
  padding: 10px;
  box-sizing: border-box;
}
#company{
    background-color: #E5E5E5;
}
#company p{
  font-weight: 300;
}

#team {
  position: relative;
}
#team .cerchio {
position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
        z-index: -1;
    opacity: .75;
  }
.sec-box2{
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
  padding: 80px;
}

.sec-box2 .box{
 flex: 1 1 calc(33.33% - 40px);   
    box-sizing: border-box;
}

.sec-box2 .box img{
}

.sec-box2 .box h4{
  font-size: 20px;
  font-style: italic;
  font-weight: 600;
}

.sec-box2 .box p{
  font-size: 14px;
}

@media (max-width: 768px) {
  .sec-box2{
    gap: 20px;
    padding: 20px;
  }
  .sec-box2 .box{
      flex: 1 1 calc(100% - 20px); 
    }
    .fascia {
      font-size: 20px;
    }
    #team .cerchio {display: none;}
}


.testimonials {
box-sizing: border-box;
background-color: #B1B1B1;
padding: 100px 50px;
}
.testimonials h2{
color: #E3FF44;
text-transform: lowercase;
}
.testimonials p{
  position: relative;
font-size: 20px;
}
.slider-testimonials{
  max-width: 768px;
  margin: auto;
}
.slider-testimonials:before {
    content: ""; 
    background-image: url(img/sign.svg); 
    background-size: contain; 
    background-repeat: no-repeat;
    background-position: center;
    
    width: 60px;
    height: 60px; 
    
    position: absolute;
    top: -10px;
    left: -80px;
    display: block;
}
.slider-testimonials:after {
    content: ""; 
    background-image: url(img/sign2.svg); 
    background-size: contain; 
    background-repeat: no-repeat;
    background-position: center;
    
    width: 60px;
    height: 60px; 
    
    position: absolute;
    bottom: 30px;
    right: -30px;
    display: block;
}


.slick-dots li button:before {
  font-size: 15px!important;
  color: #d9d9d9!important;
  opacity: 1!important;
}
.slick-dots li.slick-active button:before{
  color: #E3FF44!important;
}

@media (max-width: 768px) {
.slider-testimonials:before {
    content: ""; 
    background-image: url(img/sign.svg); 
    background-size: contain; 
    background-repeat: no-repeat;
    background-position: center;
    
    width: 30px;
    height: 30px; 
    
    position: absolute;
    top: -10px;
    left: -30px;
    display: block;
}
.slider-testimonials:after {
    content: ""; 
    background-image: url(img/sign2.svg); 
    background-size: contain; 
    background-repeat: no-repeat;
    background-position: center;
    
    width: 30px;
    height: 30px; 
    
    position: absolute;
    bottom: 30px;
    right: -30px;
    display: block;
}
}




#contacts {
box-sizing: border-box;
background-color: #CFCFCF;
padding: 100px 25px;
}

#contacts .fluo{
  color: #E3FF44;
  margin: 0;
}

form {
    max-width: 700px;
    margin: 20px auto;
}

input[type="text"],
input[type="email"],
textarea {
    appearance: none;
    border: none;
    width: 100%;
    padding: 10px;
    border-radius: 10px;
    box-sizing: border-box;
    background-color: #F7F7F7;
    font-weight: 400;
    font-style: italic;
    color: #3F3F3F;
    font-size: 20px;
    text-align: center;
    font-family: unset;
    margin: 10px 0;
}

input[type="submit"] {
    background-color: #E3FF44;
    color: #000;
    font-weight: 300;
    font-style: italic;
    padding: 10px 30px;
    border: none;
    border-radius: 30px;
    cursor: pointer;
    font-size: 20px;
}
input[type="checkbox"] {
    appearance: auto;
    display: inline-block;
}
label{
  font-size: 14px;
  margin-bottom: 20px;
}
.wpcf7-form p{
  margin: 0;
}
.wpcf7-form span{
  font-size: 14px;
}
.wpcf7-form-control.wpcf7-acceptance{
margin-bottom: 30px;
    display: block;
}
.wpcf7-acceptance .wpcf7-list-item{
  margin: 0;
}
.wpcf7-not-valid-tip {
    font-size: 20px!important;
}
.wpcf7 form .wpcf7-response-output{
  margin: 0!important;
}
.wpcf7-spinner{
  margin: auto;
  display: block!important;
}



.lang-item.current-lang{
  display: none;
}
.lang-item ul {
    list-style-type: none;
}
.lang-item a {
    list-style: none; /* fallback vecchi browser */
    text-transform: uppercase;
}

.lang-item::marker {
    content: ''; /* rimuove il bullet */
}
