html, body{
    background: #fff;
}

body{

}

section.warning{
    background: #999;
    padding-top: 150px;
    display: none;
    color: #fff;
}

section.designer{
    background: #eee;
    padding: 170px 0 0 0;
    background: rgb(150,150,150);
    background: -moz-linear-gradient(top, rgba(150,150,150,1) 0%, rgba(204,204,204,1) 23%, rgba(229,229,229,1) 43%, rgba(238,238,238,1) 100%);
    background: -webkit-linear-gradient(top, rgba(150,150,150,1) 0%,rgba(204,204,204,1) 23%,rgba(229,229,229,1) 43%,rgba(238,238,238,1) 100%);
    background: linear-gradient(to bottom, rgba(150,150,150,1) 0%,rgba(204,204,204,1) 23%,rgba(229,229,229,1) 43%,rgba(238,238,238,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#969696', endColorstr='#eeeeee',GradientType=0 );
}


h1.designer-header{
    color: #000;
    text-transform: uppercase;
    text-align: center;
}

.nice-select{
    float: none;
    display: inline-block;
}

.tabs{
    list-style: none;
    margin: 20px auto 20px auto;
    padding: 10px 0 10px 0;
    width: 100%;
    font-size: 18px;
    text-align: center;
}


.tabs li{
    display: inline-block;
}

.tabs li a{
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    color: #000;
    padding: 5px 0;
    margin: 0 15px;
    display: inline-block;
}

.tabs li a.active{
    border-bottom: 2px solid #000;
}

.tabs li a.active span{

}

.tabs li a i:before{
    color: #999;
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 15px;
    font-size: 32px;
    top: 2px;
    display: block;
    position: relative;
}

.tabs li a.active i:before{
    color: #000;
}

.designer.loading{
    background: url(../img/loader.gif) no-repeat center 10%;
    background-blend-mode: multiply;
}

    .designer.loading *{
        opacity: 0;
    }

.designer.loading .designer-inner{
    opacity: 0;
}

.tab{
    text-align: center;
    display: none;
}

    section.designer .tab{
        min-height: 210px;
    }

.tab.active{
    display: block;
}

.tab h3{
    color: #555;
    font-size: 16px;
    margin-top: 0;
    margin-bottom: 20px;
}

#tab-sizes, #tab-eaves, #tab-back{
}

#tab-sizes label, #tab-eaves label, #tab-back label{
    margin: 0 10px;
}

#tab-sizes .nice-select, #tab-eaves .nice-select, #tab-back .nice-select{
    border-color: #999;
}

.doors{
    display: flex;
    justify-content: center;
}

.door-wrap{
    margin: 0 15px;
    display: inline-block;
}

.door-info{
    font-size: 11px;
    line-height: 1.2em;
    text-align: center;
    margin-top: 5px;
}

.door-wrap:hover .door-info{
    display: block;
}

.door{
    display: inline-block;
    background-size: 100% !important;
    /*transform: scale(.8, .8);*/
}

.door.ui-draggable-dragging{
    z-index: 999;
}

.door-lr219, .door-rl219{
    width: 105px;
    height: 100px;
    background: #555;
}

.door-dlr1819, .door-drl1819{
    width: 105px;
    height: 100px;
    background: #555;
}

.door-hlr1419, .door-hrl1419{
    width: 75px;
    height: 100px;
    background: #555;
}

.door-slr0919, .door-srl0919{
    width: 50px;
    height: 100px;
    background: #555;
}

.door-dlr1819{
    background: url(../img/door-dlr1819.gif);
    background-size: 100% !important;
}

.door-drl1819{
    background: url(../img/door-drl1819.gif);
    background-size: 100% !important;
}

.door-lr219{
    background: url(../img/door-lr219.gif);
    background-size: 100% !important;
}

.door-rl219{
    background: url(../img/door-rl219.gif);
    background-size: 100% !important;
}

.door-hlr1419{
    background: url(../img/door-hlr1419.gif);
    background-size: 100% !important;
}

.door-hrl1419{
    background: url(../img/door-hrl1419.gif);
    background-size: 100% !important;
}

.door-slr0919{
    background: url(../img/door-slr219.gif);
    /*background-size: 100% !important;*/
}

.door-srl0919{
    background: url(../img/door-srl219.gif);
    /*background-size: 100% !important;*/
}

.windows{
    position: relative;
}

.window-wrap{
    width: 130px;
    height: 105px;
    display: inline-block;
}

.window-info{
    font-size: 11px;
    line-height: 1.2em;
    text-align: center;
    margin-top: 5px;
}

.window-wrap:hover .window-info{
    display: block;
}

.window{
    display: inline-block;
    background-size: 100% !important;
}

.window.ui-draggable-dragging{
    z-index: 999;
}

.window-0915{
    width: 50px;
    height: 87px;
    background: #A9D5F1;
}

.window-0912{
    width: 50px;
    height: 70px;
    background: #A9D5F1;
    margin-bottom: 2px;
}

.window-0909{
    width: 50px;
    height: 50px;
    background: #A9D5F1;
    margin-bottom: 5px;
}

.window-0905{
    width: 50px;
    height: 29px;
    background: #A9D5F1;
    margin-bottom: 8px;
}

.window-0915{
    background: url(../img/window-0915.gif);
    background-size: 100% !important;
}

.window-0912{
    background: url(../img/window-0912.gif);
    background-size: 100% !important;
}

.window-0909{
    background: url(../img/window-0909.gif);
    background-size: 100% !important;
}

.window-0905{
    background: url(../img/window-0905.gif);
    background-size: 100% !important;
}

.slot{
    width: 50px;
    height: 100px;
    border: 1px solid #999;
    display: inline-block;
    box-sizing: border-box;
    position: relative;
    margin: 3px;
}

.slot.active{
    border: 1px solid #0FE26B;
}

.slot.hover{
    background: #0FE26B;
}

.slot.ui-droppable-disabled{
    /*opacity: 0;*/
    border: 0;
}

.asset{
    background-size: 100%;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 10;
}

.asset .remove_button{
    width: 25px;
    height: 25px;
    line-height: 25px;
    text-align: center;
    font-size: 25px;
    text-decoration: none;
    float: right;
    color: #555;
    margin: 2px 3px;
}

.asset.hidden{
    opacity: 0;
}

.wall-outer{
    display: table-cell;
}

.wall{
    background: #fff;
    transition: width 1s;
    box-sizing: border-box;
}

.wall.front{
    width: 260px;
    height: 130px;
    /*position: relative;*/
    padding: 18px 10px 5px 10px;
    /*overflow: hidden;*/
    text-align: center;
    background: #fff;
    border: 3px solid #929598;
    border-top: 0;
}

.facade.front .roof-corner{
    border: none;
}

.facade.front .eave{
    border: none;
}

.facade.front .roof:before{
    content: '';
    position: absolute;
    width: 100%;
    height: 10px;
    left: 0;
    border-left: 150px solid transparent;
    border-right: 150px solid transparent;
    border-bottom: 13px solid #fff;
    box-sizing: border-box;
}

.wall.side{
    width: 170px;
    height: 130px;
    padding: 15px 10px 5px 10px;
    text-align: center;
    border: 3px solid #929598;
}

    .wall.side:before{
        content: "";
    }

.wall.resizing{

}

.wall.resizing .asset, .wall.resizing .slot{
    opacity: 0;
}

.designer-bg{
    background: url(../img/forest.svg) no-repeat;
    background-size: contain;
    background-position: center bottom;
}

.designer-bg:after{
    content: "";
    height: 30px;
    width: 100%;
    position: absolute;
    background: url(../img/grass.svg) no-repeat;
    background-size: cover;
    z-index: 10;
    background-position: center;
    margin-top: -30px;
}

.scaffold{
    display: flex;
    position: relative;
    top: 20px;
    z-index: 20;
    justify-content: center;
    padding-top: 60px;
}

.facade-row{
    text-align: center;
}

.facade{
    position: relative;
    display: table;
    margin: 0 20px;
}

.facade.left, .facade.right{
    display: inline-block;
}

.roof-corner{
    width: 20px;
    border-top: 3px solid #929598;
    display: table-cell;
}

.facade.front{
    border-top: 0;
}

.eave{
    width: 0px;
    border-top: 1px solid #777;
    display: table-cell;
    transition: width 1s;
}

.eave.active{
    width: 50px;
}

.facade-measure-length{
    position: absolute;
    width: 100%;
    font-size: 13px;
    margin-top: 10px;
    text-align: center;
}

.facade-measure-width{
    position: absolute;
    width: 100%;
    font-size: 13px;
    margin-top: 10px;
    text-align: center;
}

.lengthControl, .widthControl{
    padding: 3px;
    padding-right: 25px;
    border: none;
    border-radius: 0;
    background: transparent;
}

    .lengthControl:after, .widthControl:after{
        margin-top: 0px;
    }

    .lengthControl .current, .widthControl .current{
        border-bottom: 1px dotted #777;
    }

.blindsControl{
    list-style: none;
    margin: 0 auto;
    padding: 0;
    text-align: left;
    width: 250px;
}

.blindsControl li{
    line-height: 30px;
    overflow: hidden;
    height: 30px;
    user-select: none;
}

.blindsControl li .add, .blindsControl li .sub{
    width: 20px;
    height: 20px;
    display: inline-block;
    line-height: 16px;
    text-align: center;
    font-size: 16px;
    font-weight: bold;
    border-radius: 50%;
    margin: 0 5px;
    cursor: pointer;
}

.blindsControl li .title{
    font-weight: bold;
    margin-right: 10px;
    width: 170px;
    display: inline-block;
}

.blindsControl li .count{
    font-weight: bold;
}

/*
    Roof
 */

.roof{
    position: relative;
    top: -12px;
    z-index: 2;
}

.roof-left{
    position: absolute;
    width: 50%;
    height: 10px;
    background: #929598;
    transform: skew(0deg, -6deg);
    -webkit-transition: width 1s, transform 1s;
    -moz-transition: width 1s, transform 1s;
    transition: width 1s, transform 1s;
}

.roof-right{
    position: absolute;
    right: 0;
    width: 50%;
    height: 10px;
    background: #929598;
    transform: skew(0deg, 6deg);
    -webkit-transition: width 1s, transform 1s;
    -moz-transition: width 1s, transform 1s;
    transition: width 1s, transform 1s;
}


.left-eave .roof-left{
    width: 56%;
}

.left-eave .roof-right{
    width: 44%;
    transform: skew(0deg, 8deg);
}

.right-eave .roof-left{
    width: 44%;
    transform: skew(0deg, -8deg);
}

.right-eave .roof-right{
    width: 56%;
}

.left-eave.right-eave .roof-left{
    width: 50%;
    transform: skew(0deg, -6deg);
}

.left-eave.right-eave .roof-right{
    width: 50%;
    transform: skew(0deg, 6deg);
}

.btn-preview{
    margin-bottom: 40px;
    padding: 1rem 1.8rem;
}

.invoice-wrap{
    background: #ffffff;
    padding: 50px;
    margin-bottom: 50px;
    box-shadow: 0 0 50px rgba(0, 0, 0, .2);
}

.invoice ul{
    display: block;

    list-style: none;
    margin: 0;
    padding: 0;
    line-height: 1.5em;
}

.invoice h2{
    text-transform: uppercase;
    padding-bottom: 20px;
    border-bottom: 1px solid #aaa;
    margin-bottom: 20px;
}

.invoice h3{
    text-transform: uppercase;
    font-size: 18px;
    margin-bottom: 10px;
    margin-top: 10px;
}

.invoice .invoice-total-label{
    padding-top: 20px;
    margin-top: 20px;
    border-top: 1px solid #aaa;
}

.invoice .invoice-total{
    font-size: 30px;
    font-weight: 900;
}


#scaffold-hidden{
    color: #000 !important;
    position: absolute;
    padding-top: 40px;
}

#scaffold-hidden .scaffold{
    padding: 0;
}

#scaffold-hidden .invoice{
    padding: 50px;
    margin: 50px;
    margin-top: 100px;
    border: 1px solid #555;
}

#scaffold-hidden .invoice h2{
    color: #000;
}

#scaffold-hidden *{
    border-color: #000;
}

#scaffold-hidden .roof:before{
    display: none;
}

/*
#scaffold-hidden .roof-left:not(:root:root),
#scaffold-hidden .roof-right:not(:root:root){
    transform: none;
}*/

#scaffold-hidden .roof-left, #scaffold-hidden .roof-right{
    background-color: #000;
}

#scaffold-hidden .lengthControl, #scaffold-hidden .widthControl{
    padding-right: 0;
}

    #scaffold-hidden .lengthControl:after, #scaffold-hidden .widthControl:after{
        display: none;
    }

#scaffold-hidden .lengthControl .current, #scaffold-hidden .widthControl .current{
    border: none;
    font-weight: 700;
}

#scaffold-hidden .contacts{
    padding: 150px 0;
}

#scaffold-hidden #logo-svg{
    width: 200px;
    margin-bottom: 40px;
}

    #scaffold-hidden #logo-svg path{
        fill: #b22324;
    }

#preview-modal .modal-dialog{
    max-width: 80%;
}

#preview-modal .modal-body{
    min-height: 300px;
    background: url(../img/loader.gif) no-repeat center center;
}

.preview-img img{
    width: 100%;
    max-width: 100%;
    height: auto;
}

/* */

.wpcf7-text, .wpcf7-textarea{
    padding: 8px;
    padding-left: 30px;
    border-radius: 5px;
    border: 1px solid #ccc;
}

.wpcf7-textarea{
    padding: 8px;
}

.input-group-addon{
    background: #fff;
}

.wpcf7-form label{
    margin: 10px 0;
}

.wpcf7-form-control-wrap:before{

    font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
    /*--adjust as necessary--*/
    color: #ccc;
    font-size: 18px;
    padding-right: 0.5em;
    position: absolute;
    top: 0px;
    left: 10px;
}

.wpcf7-form-control-wrap.your-name:before{
    content: "\f007";
}

.wpcf7-form-control-wrap.your-email:before{
    content: "\f0e0";
    line-height: 15px;
    font-size: 15px;
}

.wpcf7-form-control-wrap.your-phone:before{
    content: "\f10b";
    font-size: 20px;
}

/*
|--------------------------------
|   Media Queries
|--------------------------------
*/

@media screen and (max-device-width: 782px){

    .invoice-wrap:not(:root:root){
        flex-direction: column;
    }

    .tabs li{
        display: block;
        width: 100%;
        margin-bottom: 10px;
    }

    .nice-select{
        margin-bottom: 10px;
    }

    .wpcf7-form-control {
        max-width: 100%;
        width: 100%;
    }
    /*html{
        margin-top: 0 !important;
    }

    body{
        margin-bottom: 0;
    }

    img.offset-border{
        transform: scale(1);
        margin-top: 20px;
        box-shadow: 5px 5px 0 #fff, 10px 10px 0 #ccc;
    }

    !*.btn.btn-toppcamp{*!
        !*margin-bottom: 10px;*!
    !*}*!

    header.nav-bar .custom-logo-link{
        position: relative;
        right: 30px;
    }

    .sandwich-toggle{
        color: #999;
        font-size: 40px;
        position: absolute;
        margin-top: 15px;
        right: 20px;
        display: inline-block;
    }

    .sandwich-toggle:active, .sandwich-toggle:hover{
        color: #000;
    }

    .nav-bar-inner{
        text-align: center;
    }

    header.nav-bar .menu-main-menu-container{
        float: none;
        padding: 0;
    }

    #menu-main-menu{
        display: none;
        padding: 20px 0;
    }

    #menu-main-menu.active{
        display: block;
    }

    #menu-main-menu li.menu-item{
        display: block;
    }

    #menu-main-menu li.menu-item a{
        font-size: 16px;
        display: block;
        line-height: 24px;
    }

    #menu-main-menu li.menu-item.current-menu-item > a, #menu-main-menu li.menu-item.current-menu-ancestor > a{
        border: 0;
        font-weight: bold;
    }

    #menu-main-menu li.menu-item.menu-item-has-children{
        padding: 0;
    }

    #menu-main-menu li.menu-item a:hover{
        border: 0;
        font-weight: bold;
    }

    #menu-main-menu li.menu-item.call-to-action{
        margin-top: 20px;
    }

    #menu-main-menu .sub-menu{
        position: static;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    #menu-main-menu .sub-menu .menu-item a{
        color: #777;
    }

    !*.site-footer{*!
        !*font-size: 14px;*!
        !*text-align: center;*!
        !*line-height: 1.6em;*!
        !*position: initial;*!
        !*height: auto;*!
    !*}*!

    !*.site-footer h3{*!
        !*font-size: 18px;*!
        !*margin-top: 40px;*!
    !*}*!

    !*.site-footer .credits{*!
        !*padding: 20px;*!
    !*}*!

    .gallery dl{
        width: 50%;
        float: left;
    }

    .gallery img{
        width: 100%;
        height: auto;
    }

    .gallery br{
        display: none;
    }

    h1.designer-header{
        line-height: 1.4em;
    }

    .page-content{
        padding: 0 40px;
    }


    #tab-back label{
        margin-bottom: 20px;
    }

    #tab-eaves label{
        margin: 20px 20px 20px 0;
    }

    header.top-bar .container{
        padding: 0;
        text-align: center;
    }*/
}


@media screen and (min-device-width : 320px) and (max-device-width: 1024px){

    .invoice-wrap:not(:root:root){
        flex-direction: row;
    }

    #preview-modal .modal-dialog{
        max-width: 100%;
    }

    .section{
        padding: 20px 0;
    }

    .designer-bg, .designer-bg:after{
        background: none;
    }

    .doors{
        flex-wrap: wrap;
    }

    .door-wrap{
        margin: 10px 15px;
    }

    .designer-inner .scaffold{
        padding-top: 20px;
        padding-bottom: 30px;
        flex-direction: column;
    }

    .designer-inner .facade{
        display: inline-block;
        margin-bottom: 70px;
    }

    .designer-inner .facade-inner{
        display: flex;
        justify-content: center;
    }

    .designer-inner .facade.front .roof{
        display: none;
    }

    .designer-inner .facade.front .roof-corner, .facade.front .eave{
        border-top: 3px solid #929598;
    }

    .designer-inner .facade-measure-width{
        margin-top: 0;
    }

    .designer-inner .wall.front{
        padding: 15px 10px 5px 10px;
        border: 3px solid #929598;
    }

    .invoice-wrap{
        padding: 20px;
    }

    /*#scaffold-hidden .scaffold{*/
        /*flex-direction: row;*/
    /*}*/

    /*#scaffold-hidden .facade-inner{*/
        /*display: block;*/
    /*}*/

    .tabs li{
        display: inline;
        width: auto;
        margin-bottom: 0;
    }

    .btn.btn-toppcamp{
        margin-bottom: 40px;
    }

    /*section.warning{*/
        /*display: block;*/
    /*}*/

    /*section.designer,*/
    /*section.invoice-section,*/
    /*section.extra{*/
        /*display: none;*/
    /*}*/
}

@media only screen 
and (min-device-width : 320px) 
and (max-device-width : 812px) {

    .designer-header{
        font-size: 30px;
    }

    .section.extra ul.tabs{
        font-size: 11px;
    }

    .section.extra ul.tabs li a{
        margin: 0 8px;
        font-weight: bold;
    }

    .wpcf7-form-control-wrap.your-mesage textarea{
        height: 140px;
    }
}