* 
{
   box-sizing: border-box;
}
    
    body
{
    font-family: Helvetica, Arial, sans-serif;
    margin: 0;
    padding: 0;
}
  
    a:link{color: black; text-decoration: none}
    a:active{color: black; text-decoration: none}
    a:visited{color: black; text-decoration: none}
    a:hover{color: black; text-decoration: none}
    
    
    .snavbtn {
        display: block;
        font-size: 15vw;
        color: #666;
        cursor: pointer;
        position: fixed;
        width: 22%;
        padding: 1vw;
        margin: 1vw;
        background: white; 
        top: 5px;
        right: 0;
        float: right;
        z-index: 2;
    }
    .snavbtn:hover{
        color: #999;
    }

    .sidenav {
      display: none;
      height: 100%;
      width: 30%;
      position: fixed;
      z-index: 3;
      top: 0;
      right: 0;
      background: rgba(255,255,255, 0.7);
      overflow-x: hidden;
      padding-top: 12vw;
    }
    .sidenav a {
      padding: 8px 8px 8px 12px;
        margin: 2px 3px;
      text-decoration: none;
      font-size: 3.2vw;
      color: #2d2626;
      display: block;
      float: right;
      background: rgba(255,255,255, 0.9);
      box-shadow: -6px 6px 6px 0 rgba(0, 0, 0, 0.2);
    }
    .sidenav a:hover {
      color: #666;
        box-shadow: -6px 6px 6px 0 rgba(0, 0, 0, 0);
    }
    .sidenav .closebtn {
      position: absolute;
      top: 0;
      right: 0;
      font-size: 4vw;
      margin-right: 1vw;
    }
    
.wrapper
{
    width: 100%;
    margin: 0;
    font-size: 3.5vw;
}
        
    h1{
        margin: 0;
        padding: 1vw 0 0 0;
        font-size: 1em;
        color: #555;
        font-weight: bold;        
    }
    h2{
        margin: 0;
        padding: 0.1vw 0 1vw 0;
        font-size: 0.8em;
        text-transform: uppercase; 
        color: #666;
        font-weight: lighter;
    }
    
/* div de la grid */
    
    .logos {grid-area: 1 / 1 / 1 / 2; box-sizing: border-box;}
    .titres {grid-area: 1 / 2 / 1 / 3; padding: 14vw 0 0 2vw;}
    .menu {grid-area: 1 / 3 / 1 / 4; padding: 0.7vw 0.2vw;}
    .tnews {grid-area: 2 / 3 / 2 /4; text-align: right; padding: 0 3vw 0 0;}
    .news {grid-area: 2 / 2 / 2 / 3; padding: 0 0 1vw 0;}
    .expo {grid-area: 3 / 1 / 3 / 4; padding: 1vw; margin: 0 1vw;}
    .txtexpo {grid-area: 4 / 1 / 4 / 4; padding: 1vw 1vw 2vw 2vw; }
    

        .titres p { 
                margin: 0;
                padding: 0;
                font-size: 1em;
                text-transform: uppercase;
                color: #666;
                }    
        .titres ul {
                list-style-type: none;
                margin: 0;
                padding: 0;
                width: auto;
                }
        .titres li {
                float: left;
                }
        .titres li a {
                  padding: 1.6vw 1vw;
                  font-size: 0.9em;
                  display: block;
                  color: #999;
                  text-decoration: none;
                }
        .titres li a:hover{
                  color: #555;
                }
        
    
        .menu ul {
                  display: none;
                  list-style-type: none;
                  margin: 0;
                  padding: 0;
                  width: auto;
                }
        .menu li a {
                  display: block;
                  color: #666;
                  text-transform: uppercase;
                  text-decoration: none;
                  padding: 0.4vw 0.6vw;
                }
        .menu li a.active {
                  color: white;
                }
        .menu li a:hover:not(.active) {
                  color: #999;
                }
    
    
        .tnews a { 
                margin: 0;
                padding: 0 2vw;
                font-size: 0.6em;
                text-transform: uppercase;
                color: #666;
                }
        .tnews a:hover {
                color: #444;
                }
    
    
        .news p { 
                margin: 0;
                padding: 0 0 0.5vw 0;
                font-size: 0.7em;
                color: #333;
                }    
        .news ul {
                list-style-type: none;
                margin: 0;
                padding: 0;
                width: 100%;
                }
        .news li {
                float: left;
                width: 100%;
                }
        .news li a {
                display: block;
                color: #333;
                padding: 0.5vw 1vw;
                font-size: 0.68em;
                text-decoration: none;
                }
        .news li a:hover{
                color: #555;
                }
    
     
        .expo div.showtime {
            height: 100%;
            margin-left: 2vw;
            background: rgba(255,255,255, 0.95); 
            box-shadow: -6px 6px 6px 0 rgba(0, 0, 0, 0.2);
        }
        .expo div.showtime:hover {
            opacity: 0.7;
        }
        .expo div.flyerh {
            float: right;
            display: block;
            width: 67%;
            height: 100%;
        }
        .expo div.flyerh img {
            display: block;
            margin-left: auto;
            margin-right: auto;
            height: 100%;
            width: 100%;
            object-fit: cover;

        }
        .expo div.desc {
            float: left;
            width: 30%;
            Height: 100%;
            text-align: right;
        } 
        .expo ul {
            list-style-type: none;
            margin: 0;
            padding: 0;
        }
        .expo li {
            display: block;
            color: #333;
            padding: 0.1vw 0;
            font-size: 0.6em;
        }
    
    
        .txtexpo p {
            display: block;
            text-align: justify;
            margin-right: auto;
            margin-left: auto;
            color: #333;
            height: auto;
            width: 95%;
            font-size: 0.7em;
            line-height: 125%;
        }
    
.grid-home 
    {
    display: grid;
    grid-template-columns: 30% 40% 30%;
    grid-template-rows: 28vw 20vw 30vw 22vw;
    grid-gap: 0;
    padding: 1;
    margin: 0;
    box-sizing: border-box; 
    background: white url("../img/smart_home_fond_t.png");
    background-repeat: no-repeat;
    background-origin: border-box;
    background-size: 100%;
    }
.grid-home > div 
    {
    padding: 1;
    margin: 0;
    box-sizing: border-box;
    }
    
@media only screen and (min-width: 750px) {
  /* For tablets: */
    
    .snavbtn {
        display: none;
    }
    
.wrapper
{
    width: 100%;
    font-size: 2vw;
    background: white url("../img/home_fond_t.png");
    background-repeat: no-repeat;
    background-origin: border-box;
    background-size: 100%;
}
    h1{
        margin: 0;
        padding: 0;
        font-size: 1em;        
    }
    h2{
        padding: 1% 0 5% 0;
        font-size: 0.8em;
    }
    
/* div de la grid */
    
    .logo {grid-area: 2 / 2 / 2 / 3; box-sizing: border-box;}
    .titres {grid-area: 2 / 3 / 2 / 4; padding: 7.4vw 0 0 4vw;}
    .menu {grid-area: 2 / 4 / 2 / 6; padding: 1.4vw 0.4vw; display: grid;}
    .tnews {grid-area: 4 / 3 / 4 / 5; text-align: right; padding: 0.8vw 3vw 0 0;}
    .news {grid-area: 4 / 5 / 4 / 6; padding: 1.6vw 3vw 1vw 0.4vw;}
    .expo {grid-area: 6 / 2 / 6 / 4; padding: 1vw 1vw 0.2vw 0;}
    .txtexpo {grid-area: 8 / 3 / 8 / 6; padding: 1vw 2vw 4vw 10vw;}
    
        
        .titres p {
                font-size: 1em;
                }
        .titres li a {
                  padding: 1.6vw 1vw;
                  font-size: 0.9em;
                }
    
        
        .menu ul {
                  display: block;
                }    
        .news li {
                float: left;
                width: auto;
                }
        .menu li a {
                  padding: 0.4vw 0.6vw;
                  font-size: 0.6em ;
                  }
    
        
        .tnews a { 
                margin: 0;
                padding: 0;
                font-size: 0.7em;
                }
    
        
        .news p { 
                margin: 0;
                padding: 0 0 0.4vw 0;
                font-size: 0.65em;}    
        .news li {
                float: left;
                }
        .news li a {
                padding: 0.2vw 0.4vw;
                font-size: 0.65em;
                }
    
    
        .expo div.showtime {
            height: 100%;
            margin-left: 0;
            background: none; 
            box-shadow: none;
        }

        .expo div.flyerh {
            width: 60%;
            height: 100%;
        }
        .expo div.flyerh img {
            height: 98%;
            width: auto;
        }
        .expo div.desc {
            width: 35%;
            Height: 100%;
        } 

        .expo li {
            padding: 0.1vw 0;
            font-size: 0.8em;
        }
    
    
        .txtexpo p {
            display: block;
            width: 100%; 
            height: 100%;  
            white-space: normal;
            font-size: 0.7em; 
            font-weight: lighter;
            color: #333;
            word-break: normal; 
            line-height: 125%;  
            overflow: hidden;
    }
 
.grid-home 
    {
    display: grid;
    grid-template-columns: 5% 14% 39% 9% 20% 13%;
    grid-template-rows: 2vw 14vw 10vw 14vw 8vw 15.8vw 6.5vw 17.2vw 4vw;
    grid-gap: 0;
    padding: 0;
    margin: 0; 
    background: none;
    }

}   
@media only screen and (min-width: 1000px){
    /* for desktop */

.wrapper
{
    width: 1000px;
    font-size: 20px;
    margin: 0 auto;
    padding: 1;
}

    .titres {grid-area: 2 / 3 / 2 / 4; padding: 74px 0 0 40px;}
        
        .titres li a {
                  padding: 16px 10px;
                }

    .menu {grid-area: 2 / 4 / 2 / 6; padding: 14px 4px;}

        .menu li a {
                  padding: 4px 6px;
                }

    .tnews {grid-area: 4 / 3 / 4 / 5; text-align: right; padding: 8px 30px 0 0; }
    
    .news {grid-area: 4 / 5 / 4 / 6; padding: 20px 30px 10px 4px;}
    
        .news p {
                padding: 0 0 4px 0;
                }

        .news li a {
                  padding: 2px 4px;
                }
    
    .expo {grid-area: 6 / 2 / 6 / 4; padding: 10px 10px 2px 0; }
    
    .expo li {
        padding: 1px 0;
    }
    
    .txtexpo {grid-area: 8 / 3 / 8 / 6; padding: 10px 20px 40px 100px;}
 
.grid-home 
    {
    grid-template-rows: 20px 140px 100px 140px 80px 158px 65px 172px 40px;
    }

}
@media only screen and (min-width: 1800px) {
  /* For huge desktop: */ 
    
.wrapper
{
    width: 50%;
    font-size: 1vw;
}


    .titres {grid-area: 2 / 3 / 2 / 4; padding: 3.7vw 0 0 2vw;}

        .titres li a {
                  padding: 0.8vw 0.5vw;
                }

    .menu {grid-area: 2 / 4 / 2 / 6; padding: 0.7vw 0.2vw;}

        .menu li a {
                  padding: 0.2vw 0.3vw;
                }

    .tnews {grid-area: 4 / 3 / 4 / 5; text-align: right; padding: 0.4vw 1.5vw 0 0; }

    .news {grid-area: 4 / 5 / 4 / 6; padding: 1vw 1.5vw 0.5vw 0.2vw;}
    
        .news p {
                padding: 0 0 0.2vw 0;
                }

        .news li a {
                  padding: 0.1vw 0.2vw;
                }
    
    .expo {grid-area: 6 / 2 / 6 / 4; padding: 0.5vw 0.5vw 0.1vw 0; }
    
    .expo li {
        padding: 0.05vw 0;
    }
    
    .txtexpo {grid-area: 8 / 3 / 8 / 6; padding: 0.5vw 1vw 2vw 5vw;}
    
.grid-home 
    {
    grid-template-rows: 1vw 7vw 5vw 7vw 4vw 7.9vw 3.25vw 8.6vw 2vw;
    }
  
/* end style*/
}