body, html{
    width:100%;
    height:100%;
    font-family: 'Roboto', sans-serif;
    overflow-y: scroll;
    margin:0;
    line-height: 1.8;
   
}

#preloader { position: absolute; left: 0; top: 0; z-index: 999; width: 100%; height: 100%; overflow: visible; background: #333 url('http://files.mimoymima.com/images/loading.gif') no-repeat center center; }

.unselectAll {
    -webkit-user-select: none;  /* Chrome all / Safari all */
    -moz-user-select: none;     /* Firefox all */
    -ms-user-select: none;      /* IE 10+ */
    user-select: none;          /* Likely future */      
  }

#wrapper {
    height:100vh;
    display: grid;
    grid-template-rows:auto 1fr auto;
    grid-template-areas: "headerArea"
                         "contentArea"
                         "footerArea";   
    overflow: hidden;       
}
#header{  
    padding:1.5rem;
    text-align: center;
    grid-area: headerArea;
  }

#content{  
  width:100%;
  display:flex;
  background-color: white;
  grid-area: contentArea;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column
}

#footer{ 
  padding:1.5rem;
  text-align: center;
  grid-area: footerArea;
}

#bg{
    background-image: url(images/background.jpg);
    width:100vw;
    height:100vh;
    position: fixed;
    background-size: cover;
    z-index:0;
    background-attachment: fixed;
}

#intro{
    width:100vw;
    height:100vh;
    position: absolute;
    background-size:cover;
    background-image: url(images/intro-background.jpg);
    z-index:2;
    display: flex;
    justify-content: center;
    align-items: center; 
}

.rounded-overlay{
    position: absolute;
    width:100%;
    height: 100%;
    background-color: black;
    opacity: 0.8;
    z-index:2;
  /*  border-radius: 40px;*/
}

.overlay-holder{
    width:100%;
    height:100%;
    position: absolute;
    margin:auto 0%;
    background-size:cover;
    z-index:10;
    display: flex;
    justify-content: center;
    align-items: center; 
}

#overlayG{
    width:100vw;
    height:100vh;
    position: fixed;
    background-size:cover;
    background-image: url(images/intro-background.jpg);
    z-index:10;
    display: flex;
    justify-content: center;
    align-items: center; 
}

.overlayTextA{
    width:22%;
    top:45%;
    position: absolute;
    z-index:10;
    font-size:1.5rem;
    font-weight: normal;
    color:white;
    text-align: center;
}

.overlayTextG{
    width:22%;
    top:45%;
    position: absolute;
    z-index:10;
    font-size:1.5rem;
    font-weight: normal;
    color:white;
    text-align: center;
}

a:link, a:visited, a:active {
    color:white;
    text-decoration: none;
}

.product-img{
    max-width:100%;
    max-height:100%;    
    z-index:1;
}

.black-overlay{
    position: fixed;
    width:100%;
    height: 100%;
    background-color: black;
    opacity: 0.8;
    z-index:2;
}

.intro-text{
    position: absolute;
    z-index:10;
    font-size:2rem;
    font-weight: bold;
    color:#f3c737;
    text-align: center;
    top:30%;
}

#introL{
    width:22%;
    top:45%;
    position: absolute;
    z-index:10;
    font-size:1.5rem;
    font-weight: normal;
    color:white;
    text-align: center;
    display:none;
}

#introP{
    width:22%;
    top:45%;
    position: absolute;
    z-index:10;
    font-size:1.5rem;
    font-weight: normal;
    color:white;
    text-align: center;
    display:none;
}

#introP-desktop{
    width:22%;
    top:45%;
    position: absolute;
    z-index:10;
    font-size:1.5rem;
    font-weight: normal;
    color:white;
    text-align: center;
    display:none;
}

.activateBTN{
    width:291px;
    height:44px;
    top:70%;
    position: absolute;
    z-index:12;
    background-image: url(images/intro-btn-off.png);
    display:none;
}

#panel{
    width:100%;
    height:100%;
    position: fixed;
    z-index:2;
    display: none;
    grid-template-columns:50% 50%;
    grid-template-areas: "description"
                         "canvasArea"; 
    justify-content: center;
    align-items: center; 
}

#descriptionArea{
    width:100%;
    height:100%;
    z-index:10;
    grid-area: description;
    color:#f3c737;
    display: grid;
    grid-template-rows:25% 10% 20% auto;
    grid-template-areas: "emptyHeader"
                         "descripHeader"
                         "descripContent"
                         "descripFooter"; 
}


#descriptionHeader{
    z-index:10;
    font-size:2rem;
    font-weight: bold;
    grid-area: descripHeader;
    color:#f3c737;
    text-align: center;
    
}

#descriptionContent{
    width:60%;
    z-index:10;
    grid-area: descripContent;
    font-size:1rem;
    font-weight: normal;
    color:white;
    text-align: left;
    margin:0 auto auto auto;
}

#proxyCard{
    grid-area: descripFooter;
    text-align: center;
    width:100%;
}

#keypad simulator{
    position:fixed;
    grid-area: canvasArea;
}

.draggable,
.draggable * {
  -ms-touch-action: none;
  touch-action: none;
}

/* PORTRAIT */


@media only screen and (orientation: portrait) and (min-width: 768px) {
    /*ipad*/
    #descriptionArea{
        grid-template-rows:5% 10% 48% auto;
        }
        
    #intro-text{
        top:40%;
    }

    #introP{
        top:52%;
        width:100%;
    }
}

@media only screen and (orientation: portrait) and (min-width: 320px) {
    /*iphoneX and smaller*/
    #intro-text{
       top:45%;
   }

   #introP{
       top:60%;
       width:100%;
   }

   .intro-text{
    font-size:1.3rem;
    }

    #introP{
        top:45%;
    }
}

@media only screen and (orientation: portrait) and (min-width: 1000px) {
    /*ipad pro*/
    #intro-text{
        top:40%;
    }

    #introP{
        top:50%;
        width:100%;
        font-size:2rem;
    }

    .intro-text{
        font-size:3rem;
        }

}

/* LANDSCAPE */


@media only screen and (orientation: landscape) and (max-width: 736px) {
    /*iphone8 and smaller*/

    .intro-text{
        top:10%;
    }

    #introL {
        top:45%;
        width:55%;
        font-size: 1rem;
    }

    .overlayTextA {
        top:30%;
        width:80%;
        font-size: 1rem;
    }

    .overlayTextG {
        top:35%;
        width:50%;
        font-size: 1rem;
    }

    .overlay-holder .activateBTN{
        top:75%;

    -webkit-transform: scale(0.8);
    -moz-transform:   scale(0.8);
    -ms-transform:   scale(0.8);
    -o-transform:      scale(0.8);
    transform:       scale(0.8);
    }

    .activateBTN{
        top:83%;
    }

    #mobileHeader{
        font-size:1.2rem;
    }

    #descriptionContent{
        width:90%;
        font-size:0.9rem;
    }

   #descriptionArea{
    grid-template-rows:5% 10% 48% auto;
    }

    #panel{
        grid-template-columns:50% 50%;
    }

    .overlay-holder{
        width:46%;
        height:100%;
        margin:0% 27%;
    }

    .rounded-overlay{
      /*  border-radius: 20px;*/
    }

    #proxyCard{
        position:absolute;
         bottom:0;
        width:100%;
        margin:0 -25%;
        -webkit-transform: scale(0.8);
    -moz-transform:   scale(0.8);
    -ms-transform:   scale(0.8);
    -o-transform:      scale(0.8);
    transform:       scale(0.8);
    }
}



@media only screen and (orientation: landscape) and (max-width: 650px) {
    #proxyCard{
        -webkit-transform: scale(0.7);
    -moz-transform:   scale(0.7);
    -ms-transform:   scale(0.7);
    -o-transform:      scale(0.7);
    transform:       scale(0.7);
    }
}

@media only screen and (min-width: 812px) and (orientation: landscape)  {
    /*iphonex*/

    .intro-text{
        top:10%;
    }

    #introL {
        top:43%;
        width:50%;
        font-size: 1.2rem;
    }

    .overlayTextA {
        top:12%;
        width:80%;
        font-size: 1rem;
    }

    .overlayTextG {
        width:50%;
        font-size: 1rem;
    }

    .overlay-holder .activateBTN{
        top:63%;
        
        -webkit-transform: scale(0.8);
        -moz-transform:   scale(0.8);
        -ms-transform:   scale(0.8);
        -o-transform:      scale(0.8);
        transform:       scale(0.8);
    }

    .activateBTN{
        top:83%;
    }

    #mobileHeader{
        font-size:1.5rem;
    }

    #proxyCard{
        position:absolute;
         bottom:0;
        width:52%;
        -webkit-transform: scale(0.8);
        -moz-transform:   scale(0.8);
        -ms-transform:   scale(0.8);
        -o-transform:      scale(0.8);
        transform:       scale(0.8);
    }
    
    #descriptionContent{
        width:90%;
        font-size:0.9rem;
    }
   #descriptionArea{
    grid-template-rows:5% 14% 40% auto;
    }

    #panel{
        grid-template-columns:50% 50%;
    }

    .overlay-holder{
        width:50%;
        height:100%;
        margin:0% 25%;
    }
   /* 
    .rounded-overlay{
    border-radius: 20px;
    }*/
}

@media only screen and (orientation: landscape) and (min-width: 1024px) {
    /*ipad*/


    .overlayTextG{
        width:42%;
    }

    .intro-text{
        top:23%;
    }

    #introL{
        top:43%;
        width:50%;
    }

    .overlayTextA {
        top:25%;
        width:85%;
        font-size: 1.2rem;
    }

    .activateBTN{
        top:69%;
    }

    #panel{
        grid-template-columns:40% 60%;
    }
    
    #proxyCard{
        position:absolute;
        bottom:10%;
        width:46%
     }

    #descriptionArea{
        grid-template-rows:6% 22% 30% auto;
    }

    #descriptionContent{
        width:90%;
        font-size:1rem;
    }

    .overlay-holder{
        width:55%;
        height:100%;
        margin:0% 22%;
    }
   /* .rounded-overlay{
       border-radius: 20px;
    }*/
}

@media only screen and  (orientation: landscape) and (min-width: 1366px) {
    /*ipad pro*/

    .intro-text{
        top:30%;
    }

    #introL{
        top:45%;
        width:40%;
    }

    .activateBTN{
        top:65%;
    }

    #descriptionContent{
        width:90%;
        font-size:1.7rem;
    }

    #descriptionArea{
        grid-template-rows:10% 20% 40% auto;
    }

    .overlayTextA {
        top:25%;
        width:85%;
        font-size: 2rem;
    }
    #proxyCard{
        width:100%;
        position:inherit;
     }
     .overlay-holder{
        width:55%;
        height:100%;
        margin:0% 22%;
    }
}

@media only screen and (min-width: 1400px){
    /*desktop*/
    #introL {
        top:45%;
        width:22%;
    }

    #descriptionContent{
        width:70%;
        font-size:1.5rem;
    }

    #panel{
        grid-template-columns:50% 50%;
    }

    .activateBTN{
        top:70%;
    }

    #descriptionArea{
      grid-template-rows:15% 25% 30% auto;
    }

    #proxyCard{
        width:100%;
        position:inherit;
        -webkit-transform: scale(1);
        -moz-transform:   scale(1);
        -ms-transform:   scale(1);
        -o-transform:      scale(1);
        transform:       scale(1);
     }

    .overlayTextA{
        width:55%;
        top:25%;
        font-size:1.3vw;
    }

    .overlay-holder{
        width:50%;
        height:100%;
        margin:auto 20vw;
    }
}
