@main-bg:        #1BBC9B;
@nav-color:      #FFFFFF;
@nav-bg-active:  #333;
@screen-bg:      #D2527F;
@duration:       300ms;
@ease:           ease-in-out;

/**
* Demo Stuff
*/

body {
  background: @main-bg;
  font-family: 'Montserrat', sans-serif;
}

.container {
  text-align: center;
}

h1 {
  color: darken(@main-bg, 15%);
  font-weight:400;
  font-size:2em;
  margin:1em 0;
}


/**
* iPhone
* Credits: Flat, Scaleable CSS iPhone Illustration by Tom Hergenreter
* https://codepen.io/TomHergenreter/details/qDywF/
*/

.iphone {
  width: 16.06em;
  height: 30.6em;
  border-radius: 1.875em;
  margin: 2em;
  position: relative;
  display:inline-block;
  background: #fff;
}

.iphone__item {
  width: 16.06em;
  height:1em;
  position: absolute;
  bottom:-2em;
  color: darken(@main-bg, 10%);
  text-align: center;
}

.iphone__power-btn{
  width: 2.188em;
  height: .188em;
  background: #e0e0e0;
  position: absolute;
  right: 2.5em;
  top: -.188em;
}

.iphone__left-btn {
  width: .188em;
  height: 1.250em;
  top: 3.250em;
  left: -.188em;
  position: absolute;
  background: #e0e0e0;
  
  &:before {
    content: '';
    width: .188em;
    height: .875em;
    position: absolute;
    top: 3em;
    background: #e0e0e0;
  }
  
  &:after {
    content: '';
    width: .188em;
    height: .875em;
    position: absolute;
    top: 5.5em;
    background: #e0e0e0;
  }
}

.iphone__details {
  width: .438em;
  height: .438em;
  border-radius: 100%;
  position: relative;
  top: 1.313em;
  left: 8em;
  background: #7c7c7c;
  
  &:before {
    content: '';
    width: 2.5em;
    height: .25em;
    border-radius: .25em;
    position: absolute;
    top: 1em;
    left: -1em;
    background: #7c7c7c;
  }
}

.iphone__home-btn {
  width: 2.25em;
  height: 2.25em;
  border-radius: 100%;
  position: absolute;
  bottom: 1em;
  right: 6.75em;
  background: #f7f7f7;
  
  &:before {
    content: '';
    width: .813em;
    height: .813em;
    border: .15em solid #a8a8a8;
    border-radius: .2em;
    position: absolute;
    top: .6em;
    left: .57em;
  }
}

.iphone__screen {
  width: 14.5em;
  height: 22.938em;
  position: absolute;
  top: 3.75em;
  left: .750em;
  overflow: hidden;
}

.iphone__content {
  position: relative;
  background-color: @screen-bg;
  width:100%;
  height:100%; 
}

/**
* Navigation Defaults
*/

.nav {
  position: absolute;
  z-index:100;  
  opacity:0;
  transition-property: all;
  transition-duration: @duration;
}

.nav--active .nav {
  opacity:1;
  background-color: @nav-bg-active;
}

.nav__list {
  margin:0;
  padding:10px;
}

.nav__item {
  list-style-type: none;
  text-align: left;
}

.nav__link {
  font-size:1.3em;
  text-transform: uppercase;
  text-decoration: none;
  color: @nav-color;
  opacity:1;
  transition: opacity 300ms @ease;
}

/* Default navigation icon */
.nav__trigger {
  display:block;
  position:absolute;
  width:30px;
  height:25px;
  right:10px;
  top:10px;
  z-index:200; 
}

.nav--active .nav__trigger {
  opacity:0.5;
}

.nav__icon {
  display:inline-block;
  position: relative;
  width:30px;
  height:5px;
  background-color: @nav-color;
  transition-property: background-color, transform;
  transition-duration: @duration;

  &:before,
  &:after {
    content:'';
    display:block;
    width:30px;
    height:5px;
    position: absolute;
    background: @nav-color;
    transition-property: margin, transform;
    transition-duration: @duration;
    
  }

  &:before {
    margin-top:-10px;
  }

  &:after {
    margin-top:10px;
  }
}

/* Don't nest if you don't have to. */

/**
* Style #1
*/

.style-1 {

  .nav {
    transform: translateX(-100%);
    width:100%;
    height:100%;
  }

  .nav__link {
    opacity:0;
    transition-delay:500ms;
  }

  .nav--active .nav__link {
    opacity:1;
  }

  .nav--active .nav {
    transition: all @duration @ease;
    transform: translateX(0);
  }

  .nav--active .nav__icon {
    background: rgba(0,0,0,0.0);
 
    &:before {
      margin-top:0;
      transform:rotate(45deg);
    }

    &:after {
      margin-top:0;
      transform:rotate(-45deg);
    }
  }

}

/**
* Style #2
*/

.style-2 {

   perspective:1000px;  

  .nav {
    width:100%;
    height:100%;
    transform: rotateY(180deg);    
  }

  .nav--active .nav {
    transform: rotateY(360deg); 
  }

  .iphone__content {
    transform: rotateY(0);
    transform-style: preserve-3d;
    transition: all @duration @ease;
  }

  .nav--active .iphone__content {
    transform-style: preserve-3d;
    transform: rotateY(180deg);
  }

  .navi__icon {
    background: rgba(0,0,0,0.0);
 
    &:before {
      margin-top:0;
      transform:rotate(90deg);
    }

    &:after {
      margin-top:0;
      transform:rotate(180deg);
    }
  }
 
  .nav--active .nav__icon {
    background: rgba(0,0,0,0.0);
    transform:rotate(135deg); 
    
    &:before {
      margin-top:0;
      transform:rotate(90deg);
    }

    &:after {
      margin-top:0;
      transform:rotate(180deg);
    }
   
  }
}

/**
* Style #3
*/

.style-3 {

  .nav {
    width:100%;
    height:100%;
    transform: translateX(100%);    
  }

  .nav--active .nav {
    transform: translateX(20%);  
  }

  .iphone__content {
    transform: scale(1) translateX(0);
    transition: all @duration @ease;
  }

  .iphone__screen {
    background-color: @nav-bg-active;
  }

  .nav--active .iphone__content {
      transform: scale(0.9) translateX(-90%);
  }

  .nav__icon {
    background: rgba(0,0,0,0.0);
 
    &:before {
      margin-top:0;
      transform:rotate(90deg);
    }

    &:after {
      margin-top:0;
      transform:rotate(180deg);
    }
  }

  .nav--active .nav__icon {
    transform:rotate(135deg);
  }

}

/**
* Style #4
*/

.style-4 {

  .nav {
    width:100%;
    height:100%;
    transform: translateY(-100%);    
  }

  .nav--active .nav {
    transform: translateY(0);  
  }

  .nav--active .nav__icon {    
    transform:rotate(90deg);
  }

  .nav__link {
    opacity:0;
    transition-delay:500ms;
  }

  .nav--active .nav__link {
    opacity:1;
  }

}

/**
* Style #5
*/

.style-5 {

  .nav {
    transform: translate(100%,-100%) scale(0.5);   
    border-radius:100%; 
  }

  .nav--active .nav {
    transform: translateY(0) scale(1); 
    border-radius:0; 
    width:100%;
    height:100%;
  }

  .nav__link {
    opacity:0;
    transition-delay:500ms;
  }

  .nav--active .nav__link {
    opacity:1;
  }

  .nav--active .nav__icon {
    background: rgba(0,0,0,0.0);
 
    &:before {
      margin-top:0;
      transform:rotate(45deg);
    }

    &:after {
      margin-top:0;
      transform:rotate(-45deg);
    }
  }

}


/**
* Style #6
*/

.style-6 {

  .nav {
    transform: rotateZ(-90deg);   
    width:100%;
    height:100%; 
  }

  .nav--active .nav {
    transform: rotateZ(0);  
  }

  .nav__link {
    opacity:0;
    transition-delay:500ms;
  }

  .nav--active .nav__link {
    opacity:1;
  }

  .nav__icon {
    background: rgba(0,0,0,0.0);
 
    &:before {
      margin-top:0;
      transform:rotate(90deg);
    }

    &:after {
      margin-top:0;
      transform:rotate(180deg);
    }
  }

  .nav--active .nav__icon {
    transform:rotate(135deg);
  }

}