/*
        STYLE
*/


.wrapper
{
    box-sizing: border-box;
    width: 100%;	
    margin: 0 auto;
}
.wrapper.reversed
{
    background: #fff;
    color: #666;
    padding: 75px 0;
    position: relative;
}

.wrapper.reversed:after
{
    background: inherit;
    content: '';
    display: block;
    position: absolute;
    left: -200%;
    right: -200%;
    top: 0;
    bottom: 0;
    z-index: -1;
}
.wrapper.reversed h4,
.wrapper.reversed h5,
.wrapper.reversed h6
{
    font-size: 30px;
    color: #5BC5FF;
}


#hamburger + .wrapper:before,
.wrapper:first-child:before
{
    content: '';
    background: url( ../img/phone.png ) center center no-repeat transparent;
    display: block;
    width: 2300px;
    height: 1835px;
    margin-left: -400px;
    position: absolute;
    left: 50%;
    top: -1150px;
    z-index: -1;
}
.wrapper.no-phone:before
{
    content: none !important;
    display: none !important;
}
.responsive-video
{
    background: #333;
    box-shadow: 0 0 30px rgba( 0, 0, 0, 0.5 );
    width: 100%;
    height: 0;
    padding-top: 56%;
    position: relative;
}
.responsive-video iframe
{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}


/*
        MENU
*/
#menu:not(.mm-menu)
{
    display: none;
}
#menu .fa
{
    width: 15px;
    color: #ccc;
}
.mm-footer a
{
    color: inherit;
}
.mm-panel > p
{
    font-size: 14px;
    margin-top: 20px;
    margin-bottom: 15px;
}

#donate
{
    padding: 45px 20px 30px 44px;
}
#donate:after
{
    border: none !important;
}
.listview-icons > li:after
{
    left: 45px !important;
}


/*
        LAYOUT
*/
#hamburger
{
    box-sizing: border-box;
    display: block;
    width: 70px;
    height: 45px;
    position: fixed;
    top: 50px;
    left: 0;
    z-index: 999;
    background-color: #EAE7E2;
    -webkit-box-shadow: 1px 1px 1px 0px rgba(50, 50, 50, 0.75);
    -moz-box-shadow:    1px 1px 1px 0px rgba(50, 50, 50, 0.75);
    box-shadow:         1px 1px 1px 0px rgba(50, 50, 50, 0.75);
}
#hamburger:before,
#hamburger:after,
#hamburger span
{
    background: #8C2137;
    content: '';
    display: block;
    width: 30px;
    height: 5px;
    position: absolute;
    left: 20px;
}
#hamburger:before
{
    top: 10px;
}
#hamburger span
{
    top: 20px;
}
#hamburger:after
{
    top: 30px;
}

/* Hamburger animation */
#hamburger:before,
#hamburger:after,
#hamburger span
{
    -webkit-transition: none 0.5s ease 0.5s;
    transition: none 0.5s ease 0.5s;

    -webkit-transition-property: transform, top, bottom, left, opacity;
    transition-property: transform, top, bottom, left, opacity;
}
html.mm-opening #hamburger:before,
html.mm-opening #hamburger:after
{
    top: 20px;	
}
html.mm-opening #hamburger span
{
    left: -50px;
    opacity: 0;
}
html.mm-opening #hamburger:before
{
    transform: rotate( 45deg );
}
html.mm-opening #hamburger:after
{
    transform: rotate( -45deg );
}


#page
{
    box-shadow: none;
    width: 100%;
    min-width: 320px;
    overflow: hidden;
    position: relative;
    z-index: 1;
}
.ad-wrapper
{
    background: #5BC5FF;
    opacity: 0.9;
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 2;
}
.ad-wrapper > div
{
    border-top: 1px solid rgba( 255, 255, 255, 0.5 );
    width: 900px;
    padding: 9px 20px;
    margin: auto;
}

#buttons,
a.btn
{
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba( 0, 0, 0, 0.2 );
    overflow: hidden;
}
#buttons
{
    margin: 20px -5px;
}
#buttons a,
a.btn
{
    background: rgba( 255, 255, 255, 0.8 );
    text-decoration: none;
    line-height: 25px;
}
#buttons a
{
    display: block;
    padding: 20px 0 10px 0;
    margin: 0;
}
#buttons a:hover,
a.btn:hover
{
    background: #fff;
}
#buttons a + a
{
    border-left: 1px solid #5BC5FF;
}
#buttons .font,
a.btn
{
    color: #5BC5FF;
}
#buttons .font
{
    font-size: 35px;
}

#buttons .sub
{
    color: #666;
    font-size: 13px;
}
#buttons span
{
    text-align: center;
    display: block;
}
a.btn
{
    font-weight: bold;
    display: inline-block;
    padding: 10px 20px;
    margin: 5px 10px 0 0;
}

.table
{
    margin: 22px -20px;
}
.table td
{
    vertical-align: top;
    box-sizing: border-box;
    padding: 10px;
}
.table td,
.table tr.datatype td + td
{
    border-top: 1px solid rgba( 255, 255, 255, 0.5 );
}
.table thead
{
    background: rgba( 255, 255, 255, 0.8 );
    color: #5BC5FF;
}
.table .subhead td
{
    font-size: 12px;
    text-transform: uppercase;
    opacity: 0.6;
    padding-bottom: 0;
    padding-top: 20px;
}

.table thead td,
.table tr.sub-start td,
.table tr.sub-start + tr td,
.table tr.sub td:first-child,
.table tr.sub-end td,
.table tr.datatype td,
.table tfoot tr + tr td,
.table .subhead + tr td
{
    border-top: none;
}
.table tr.sub:not(.datatype) td:first-child + td
{
    padding-left: 40px;
}
.table tr.sub-start td,
.table tr.sub-end td,
.table tfoot td
{
    padding-top: 0
}
.table td:first-child + td small
{
    display: block;
}
.table tfoot
{
    font-size: 13px;
}
.table tfoot tr:first-child td
{
    padding-top: 20px;
}
.table td.toggle
{
    cursor: pointer;
}

.table td:first-child
{
    width: 1%;
}
.table td:first-child + td
{
    width: 21%;
}
.table td:first-child + td + td
{
    width: 20%;
}
.table td:first-child + td + td + td
{
    width: 15%;
}
.table td:first-child + td + td + td + td
{
    width: 43%;
}
.table td:first-child + td[colspan="4"]
{
    width: 99%;
}


.tablet
{
    height: 595px;
    padding: 42px 82px 20px 82px;
    margin: 0 -20px;
    position: relative;
    z-index: 1;
}
.tablet:before,
.tablet:after
{
    content: '';
    background: url( http://restorania.com/app/img/tablet-example.png ) left top no-repeat transparent;
    display: block;
    width: 50%;
    height: 100%;
    position: absolute;
    top: 0;
    z-index: 0;
}
.tablet:before
{
    left: 0;
}
.tablet:after
{
    background-position: right top;
    right: 0;
}
.tablet iframe
{
    border-radius: 5px;
    overflow: hidden;
    background: #111;
    border: none;
    display: block;
    width: 100%;
    height: 552px;
    position: relative;
    z-index: 1;
}

.phone + pre,
.tablet + pre
{
    margin-top: 0;
}

a.popout
{
    border-bottom: 1px solid rgba( 255, 255, 255, 0.5 );
    text-decoration: none;
    text-align: center;
    line-height: 20px;
    display: block;
    padding: 10px 0 10px 40px;
}
a.popout .fa
{
    margin-left: 20px;
}
pre + a.popout
{
    margin: -20px -20px 0 -20px;
}

h1 .submenutext
{
    display: none;
}

.submenu
{
    line-height: 20px;
    padding-top: 5px;
}
h1 + .submenu
{
    margin-top: -80px;
    margin-bottom: 80px;
}
.submenu ul,
.submenu li
{
    list-style: none;
    display: block;
    padding: 0;
}
.submenu ul
{
    border-bottom: 1px solid rgba( 255, 255, 255, 0.5 );
    padding: 0 5px;
    margin-left: -20px;
    margin-right: -20px;
}
.submenu ul:after
{
    content: '';
    display: block;
    clear: both;
}
.submenu li
{
    margin: 0;
    float: left;
}
.submenu a
{
    text-decoration: none;
    display: block;
    padding: 10px 15px;
    position: relative;
}
.submenu a:hover:after
{
    content: '';
    background: #fff;
    display: block;
    height: 1px;
    position: absolute;
    bottom: -1px;
    left: 15px;
    right: 15px;
}

.submenu.fixed
{
    background: #5BC5FF;
    opacity: 0.9;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 3;
}
.submenu.fixed div
{
    width: 80%;
    max-width: 900px;
    margin: auto;
}
.fixedsubmenu .submenu
{
    visibility: hidden;
}
.fixedsubmenu .submenu.fixed
{
    visibility: visible;
    display: block;
}


/*
        PAGES
*/
#wp-intro
{
    margin-top: -75px;
}
#wp-intro h1
{
    font-size: 150px;
    line-height: 150px;
    letter-spacing: -10px;
    margin: 150px 0 20px 0;
}
#wp-features
{
    margin-top: -125px;
    padding-top: 50px;
}
#wp-features > div
{
    padding: 75px 125px;
    position: relative;
}
#wp-features > div + div
{
    border-top: 1px solid #ccc;	
}
#wp-features .fa
{
    color: #5BC5FF;
    font-size: 50px;
    display: block;
    position: absolute;
    top: 65px;
    left: 50px;
}
#wp-features .stacked-phones
{
    margin: 0 -50% -150px -50%;
}
#wp-playground
{
    padding-top: 50px;
}
#wp-playground #playground
{
    padding-bottom: 100px;
}
#wp-playground #playground > .col6:first-child
{
    padding-top: 140px;
}

#home-intro
{	
    padding: 0 0 700px 0;
    position: relative;
}
#home-intro:before
{
    content: '';
    background: url( ../img/phone.png ) center center no-repeat transparent;
    display: block;
    width: 2300px;
    height: 1835px;
    margin-left: -950px;
    position: absolute;
    left: 50%;
    bottom: -500px;
    z-index: -1;
}
#home-intro h1
{
    font-size: 150px;
    line-height: 150px;
    letter-spacing: -10px;
    margin: 20px 0;
}

#home-features ul
{
    display: block;
    padding: 0;
}
#home-features li
{
    margin: 0 0 20px 0;
}
.col3:nth-child( 4n + 1 )
{
    clear: left;
}
.col4:nth-child( 3n + 1 )
{
    clear: left;
}
.col6:nth-child( 2n + 1 )
{
    clear: left;
}

#changelog > li
{
    margin-top: 20px;
}

.icon-summary p:after
{
    content: '';
    display: block;
    clear: both;
}

#tipstricks h4
{
    margin-top: 100px;
}

/*
        PLAYGROUND
*/

#playground-options
{
    background: none;
    width: 100% !important;
    color: #fff;

    height: auto;
    max-width: none;
    margin-left: -20px;
    position: relative;
}
#playground-options h4
{
    margin-top: 40px;
}
#playground-options .mm-panel
{
    position: relative;
}

#playground-options input.mm-toggle ~ label.mm-toggle
{
    background: rgba( 255, 255, 255, 0.4 );
}
#playground-options input.mm-toggle:checked ~ label.mm-toggle
{
    background: #fff;
}
#playground-options label.mm-toggle:before
{
    background: #5BC5FF;
}
#playground-options .mm-listview > li:after
{
    border-color: rgba( 255, 255, 255, 0.5 );
}
#playground-options .mm-listview .mm-panel li:last-child:after
{
    border-color: transparent;
}
#playground-options h4 + .mm-listview
{
    margin-top: -10px;
}
#playground-options .mm-listview input[type="text"]
{
    margin-top: 5px;
}

.code-iconbar,
.code-buttonbars,
.code-toggles
{
    display: none;
}
#code.iconbar .code-iconbar,
#code.buttonbars .code-buttonbars,
#code.toggles .code-toggles
{
    display: inline;
}


/* large screens */
@media all and (min-width: 1430px)
{
    #hamburger
    {
        display: none;
    }
}

/* small screens */
@media all and (max-width: 950px)
{
    .gt-950px
    {
        display: none;
    }

    #wp-intro
    {
        margin-top: -200px;
    }
    #wp-intro .col6
    {
        width: 100%;
    }
    #wp-intro .col6 + .col6
    {
        display: none;
    }
    #wp-features
    {
        margin-top: 0;
    }

    #home-intro
    {
        padding-bottom: 550px;
    }
    #home-intro:before
    {
        background-size: 80%;
        margin-left: -1000px;
        bottom: -600px;
    }
    #home-intro h1
    {
        margin-top: -10px;
    }
    #download-intro > .col6,
    #home-intro > .col6
    {
        width: 70%;
    }
    .row.phones .col6,
    .playground.col6,
    .playground.col6 + .col6
    {
        width: 100%;
    }
    .playground + .col6 .phone
    {
        top: auto !important;
    }
    .row.phones .col6:first-child + .col6
    {
        margin-top: 20px;
    }
    .row.phones.default .col6:first-child + .col6
    {
        display: none;
    }
    .col4
    {
        width: 50%;
    }
    .col4:nth-child( 3n + 1 )
    {
        clear: none;
    }
    .col4:nth-child( 2n + 1 )
    {
        clear: left;
    }

    .table td:first-child
    {
        display: none;
    }
    .table td:first-child + td
    {
        width: 20%;
    }
    .table td:first-child + td + td
    {
        width: 20%;
    }
    .table td:first-child + td + td + td
    {
        display: none;
    }
    .table td:first-child + td + td + td + td
    {
        width: 60%;
    }
    .table td:first-child + td[colspan="4"]
    {
        width: 100%;
    }
}

/* really small screens */
@media all and (max-width: 760px)
{	

    #hamburger:before,
    #hamburger:after,
    #hamburger span
    {    
        background: whitesmoke;
    }
    #home-intro
    {
        padding-bottom: 450px;
    }
    #home-intro:before
    {
        background-size: 60%;
        bottom: -650px;
    }
    #home-intro h1
    {
        letter-spacing: -5px;
        font-size: 110px;
        line-height: 110px;
        margin-top: -40px;
    }
    #download-intro > .col6,
    #home-intro > .col6,
    .col6
    {
        width: 100%;
    }
    .col4
    {
        width: 100%;
        clear: left;
    }
    #hamburger
    {
        background: #4d4d4d;
        border-bottom: 1px solid rgba( 255, 255, 255, 0.5 );
        opacity: 0.9;
        width: 100%;
        top: 0;
    }
    #buttons a + a
    {
        border-left: none;
        border-top: 1px solid #5BC5FF;
    }
    .wrapper:before
    {
        content: none !important;
        display: none !important;
    }

    .table td:first-child
    {
        display: none;
    }
    .table td:first-child + td
    {
        width: 30%;
    }
    .table td:first-child + td + td
    {
        display: none;
    }
    .table td:first-child + td + td + td
    {
        display: none;
    }
    .table td:first-child + td + td + td + td
    {
        width: 70%;
    }
    .table td:first-child + td[colspan="4"]
    {
        width: 100%;
    }

    .tablets .tablet
    {
        display: none;
    }

    .submenu
    {
        display: none !important;
    }
    #wp-features > div
    {
        padding-left: 25px;
        padding-right: 25px;
    }
    #wp-features > div .fa
    {
        display: none;
    }
    #wp-playground #playground > .col6:first-child
    {
        padding-top: 50px;
    }
}

/* really really small screens */
@media all and (max-width: 550px)
{
    #hamburger:before,
    #hamburger:after,
    #hamburger span
    {    
        background: whitesmoke;
    }
}
/* really really really small screens */
@media all and (max-width: 370px)
{
    .phone
    {
        height: auto;
        padding: 20px 0;
    }
    .phone:before,
    .phone:after
    {
        background: none;
        content: none;
        display: none;
    }
    .phone iframe
    {
        border: 10px solid #111;
    }

    dl dt,
    dl dd
    {
        width: 100%;
        padding-left: 20px;
        padding-right: 20px;
        float: none;
    }
    dl dd
    {
        border-top: none;
        margin-top: -20px;
    }
}