/*CSS apenas para páginas de E-Commerce*/

.margin-top-0 { margin-top: 0px; }
.margin-top-5 { margin-top: 5px; }
.margin-top-10 { margin-top: 10px; }
.margin-top-15 { margin-top: 15px; }
.margin-top-20 { margin-top: 20px; }
.margin-top-25 { margin-top: 25px; }
.margin-top-30 { margin-top: 30px; }
.margin-top-35 { margin-top: 35px; }
.margin-top-40 { margin-top: 40px; }
.margin-top-45 { margin-top: 45px; }
.margin-top-50 { margin-top: 50px; }
.margin-top-55 { margin-top: 55px; }
.margin-top-60 { margin-top: 60px; }

.push-down-0 { margin-bottom: 0px; }
.push-down-5 { margin-bottom: 5px; }
.push-down-10 { margin-bottom: 10px; }
.push-down-15 { margin-bottom: 15px; }
.push-down-20 { margin-bottom: 20px; }
.push-down-25 { margin-bottom: 25px; }
.push-down-30 { margin-bottom: 30px; }
.push-down-35 { margin-bottom: 35px; }
.push-down-40 { margin-bottom: 40px; }
.push-down-45 { margin-bottom: 45px; }
.push-down-50 { margin-bottom: 50px; }
.push-down-55 { margin-bottom: 55px; }
.push-down-60 { margin-bottom: 60px; }

.checkout-page { background-color: #f3f3f3; }
.checkout-page header { border: none; padding: 40px 0 0 0; }

.checkout-container { background-color: white; -webkit-box-shadow: 0 0 25px rgba(0, 0, 0, 0.1); -moz-box-shadow: 0 0 25px rgba(0, 0, 0, 0.1); box-shadow: 0 0 25px rgba(0, 0, 0, 0.1); padding-bottom: 100px; padding-top: 50px; }

.boxed .checkout-container { -webkit-box-shadow: none; -moz-box-shadow: none; box-shadow: none; }

.checkout-steps {
	position: relative;
	margin: 20px -20px 30px;
	padding: 30px 40px;
	text-align: center;
}
.checkout-steps:after, .checkout-steps:before { content: ""; position: absolute; left: 0; right: 0; height: 8px; }
/*.checkout-steps:before { background: -moz-radial-gradient(center bottom, ellipse farthest-side, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)); background: -webkit-radial-gradient(center bottom, ellipse farthest-side, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)); background: radial-gradient(center bottom, ellipse farthest-side, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)); top: 0; }
.checkout-steps:after { background: -moz-radial-gradient(center top, ellipse farthest-side, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)); background: -webkit-radial-gradient(center top, ellipse farthest-side, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)); background: radial-gradient(center top, ellipse farthest-side, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0)); bottom: 0; }
*/.checkout-steps .step { width: 25%; float: left; position: relative; }

.checkout-steps .step:before {
    content: "";
    position: absolute;
    top: 10px;
    left: 0;
    right: 0;
    height: 2px;
    background: rgba(204, 180, 32, 0.2);
    z-index: 0;
}


.checkout-steps .step:first-of-type:before { left: 50%; }
.checkout-steps .step:last-of-type:before { right: 50%; }
.checkout-steps .step.active:last-of-type:before, .checkout-steps .step.done:last-of-type:before { background: #CCB420; }


.checkout-steps .step.active .step-badge, .checkout-steps .step.done .step-badge {
    background-color: #CCB420;
    color: #fff;
}


.checkout-steps .step.active { color: #34353e; }

.checkout-steps .step.active:before {
    background: -moz-linear-gradient(left, #CCB420 0%, #CCB420 50%, rgba(204, 180, 32, 0.2) 50%, rgba(204, 180, 32, 0.2) 100%);
    background: -webkit-linear-gradient(left, #CCB420 0%, #CCB420 50%, rgba(204, 180, 32, 0.2) 50%, rgba(204, 180, 32, 0.2) 100%);
    background: linear-gradient(to right, #CCB420 0%, #CCB420 50%, rgba(204, 180, 32, 0.2) 50%, rgba(204, 180, 32, 0.2) 100%);
}


.checkout-steps .step.active:first-of-type:before { background: rgba(204, 180, 32, 0.2); }
.checkout-steps .step.done:before { background: #CCB420; }
.checkout-steps .step.done:first-of-type:before { background: #CCB420; }


.checkout-steps .step-badge {
    margin: -6px auto 0 auto;
    -webkit-border-radius: 99px;
    -moz-border-radius: 99px;
    border-radius: 99px;
    width: 35px;
    height: 35px;
    background-color: #fff;
    position: relative;
    z-index: 1;
    line-height: 35px;
    margin-bottom: 5px;
    font-size: 16px;
    border: 2px solid rgba(204, 180, 32, 0.46);
}

.modal { width: 300px; margin-left: -190px; }

.modal input{ 
	width: 100%;
	border: 1px solid #ccc;
	margin: 5px 0;
	padding: 5px 8px;
}
.modal .btn{ 
	width: 100%;
	margin: 15px 0;
}

.modal-header h3 { text-align: center; }
.modal-header [data-dismiss="modal"] { position: absolute; top: 12px; right: 20px; }

.modal-body { padding: 20px; }
.modal-body .controls .checkbox { padding-top: 0; margin-bottom: 20px; }



.menu_holder .open-panel {
    display: none;
    position: absolute;
    top: 60px;
    z-index: 1100;
    right: 0;
    width: 500px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
	cursor: default;
	
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.menu_holder .open-panel.open {
    display: block;
    position: absolute;
    top: 60px;
    z-index: 1100;
    right: 0;
    width: 500px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
	cursor: default;

    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}


.cart-li .cabecalho{
    font-family: Raleway;
    font-size: 24px;
    color: #464340;
    font-weight: 600;
    text-transform: uppercase;
    padding: 25px 40px;
    border-bottom: 2px solid #EDEDED;
}

.menu_holder .open-panel .carrinhoContainer{
    padding: 40px;
}

.menu_holder .open-panel .carrinhoContainer .desc .nome{
    font-family: Raleway;
    font-size: 16px;
    color: #333333;
    line-height: 18px;
    font-weight: 500;
}

.menu_holder .open-panel .carrinhoContainer .desc .categoria{
    font-family: Raleway;
    font-size: 16px;
    color: #CECECE;
    margin: 5px 0 10px 0;
    font-weight: 400;
}


.menu_holder .open-panel .carrinhoContainer .quantidade_preco .quantidade,
.menu_holder .open-panel .carrinhoContainer .quantidade_preco .quantidade span{
    font-family: Raleway;
    font-size: 16px;
    color: #333333;
    line-height: 18px;
    font-weight: 500;
}

.menu_holder .open-panel .carrinhoContainer .quantidade_preco .preco,
.menu_holder .open-panel .carrinhoContainer .quantidade_preco .preco span{
    font-family: Raleway;
    font-size: 21px;
    color: #8B8B8B;
    line-height: 18px;
    font-weight: 500;
}

.menu_holder .open-panel .carrinhoContainer .summary{
    font-family: Raleway;
    font-size: 21px;
    color: #8B8B8B;
    line-height: 18px;
    font-weight: 500;
}

.menu_holder .open-panel .item-in-cart {
    padding: 20px 10px;
    border-bottom: 1px dotted #c3c2c4;
}

.menu_holder .open-panel .item-in-cart span{
    /* position: absolute; */
    /* top: -12px; */
    /* right: -5px; */
    /* width: 20px; */
    /* height: 20px; */
    /* background: #000; */
    font-size: 12px;
    border-radius: 17px;
    text-align: right;
    color: #000;
}

.menu_holder .open-panel .item-in-cart .image {
    width: 15%;
    float: left;
}

.menu_holder .open-panel .item-in-cart .image img{
    width: 100%;
    height: auto;
}

.menu_holder .open-panel-wish .image img{
    width: 100%;
    height: auto;
}

.menu_holder .open-panel .item-in-cart .desc {
    width: 65%;
    margin-left: 5%;
    float: left;
    padding-top: 5px;
	color: #34353e;
}

.menu_holder .open-panel .item-in-cart .desc a,
.menu_holder .open-panel .item-in-cart .desc .carrinho_remove_item{
	color: #34353e;
}

.menu_holder .open-panel .item-in-cart .price {
    padding-top: 5px;
    width: 15%;
    float: left;
    text-align: right;
	color: #34353e;
}

.menu_holder .open-panel .summary {
    padding: 30px 0;
    text-align: right;
	color: #34353e;
}

.menu_holder .open-panel .proceed {
    clear: both;
    padding: 10px;
    background-color: #f3f3f3;
    min-height: 0;
	color: #34353e;
	overflow: hidden;
}


.menu #cartContainer{
    position: relative;
}




.menu .icon-wish img{
    position: relative;
}

.menu .icon-wish .wishlist_total_items{
    position: absolute;
    background: #000;
    top: -5px;
    right: -10px;
    color: #fff;
    font-size: 12px;
    border-radius: 100%;
    padding: 0 5px;
}


.menu .icon-carrinho img{
    position: relative;
}

.menu .icon-carrinho .carrinho_total_items{
    position: absolute;
    background: #000;
    top: -5px;
    right: -10px;
    color: #fff;
    font-size: 12px;
    border-radius: 100%;
    padding: 0 5px;
}



.open-panel-conta {
    display: none;
    position: absolute;
    top: 60px;
    z-index: 1100;
    right: 0;
    width: 500px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
    cursor: default;
    text-align: left;

    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}



.open-panel-conta.open{
    display: block;

    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
}


.open-panel-conta .contaContainer{
    padding: 40px;
}

.open-panel-conta .cabecalho{
    font-family: Raleway;
    font-size: 24px;
    color: #464340;
    font-weight: 600;
    text-transform: uppercase;
    padding: 25px 40px;
    border-bottom: 2px solid #EDEDED;
}

.open-panel-conta input{
    border-radius: 3px;
    border: 1px solid #E6E6E6;
    padding: 12px;
    font-weight: 600;
    font-size: 17px;
    width: 100%;
}

.open-panel-conta .control-group{
    margin-bottom: 20px;
}

.open-panel-conta .control-group .control-label{
    font-family: Montserrat;
    font-size: 18px;
    color: #222222;
    font-weight: 600;
}

.open-panel-conta p a{
    font-family: Montserrat;
    font-size: 14px;
    color: #898A90;
}



.wish-li .cabecalho{
    font-family: Raleway;
    font-size: 24px;
    color: #464340;
    font-weight: 600;
    text-transform: uppercase;
    padding: 25px 40px;
    border-bottom: 2px solid #EDEDED;
}

.open-panel-wish {
    display: none;
    position: absolute;
    top: 60px;
    z-index: 1100;
    right: 0;
    width: 500px;
    background: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
    cursor: default;
    text-align: left;

    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px);
    -webkit-transition: all 0.2s ease;
    -moz-transition: all 0.2s ease;
    -o-transition: all 0.2s ease;
    transition: all 0.2s ease;
}



.open-panel-wish.open{
    display: block;

    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.open-panel-wish .wishlist_items{
    padding: 40px;
}


.open-panel-wish .image {
    width: 15%;
    float: left;
}

.open-panel-wish .image img{
    width: 100% !important;
}
.open-panel-wish .desc {
    width: 65%;
    margin-left: 5%;
    float: left;
    padding-top: 5px;
    color: #34353e;
}


.open-panel-wish .price {
    padding-top: 5px;
    width: 15%;
    float: left;
    text-align: right;
    color: #34353e;
}


.menu_holder .open-panel-wish .item-in-cart {
    padding: 20px 10px;
    border-bottom: 1px dotted #c3c2c4;
}

.menu_holder .open-panel-wish .item-in-cart .desc.nao_ha{
    font-family: Raleway;
    font-size: 16px;
    color: #333333;
    line-height: 18px;
    font-weight: 500;
    margin: 0;
    padding-bottom: 40px;
    float: unset;
}

.menu_holder .open-panel-wish .item-in-cart .desc .nome{
    font-family: Raleway;
    font-size: 16px;
    color: #333333;
    line-height: 18px;
    font-weight: 500;
}

.menu_holder .open-panel-wish .item-in-cart .desc .categoria{
    font-family: Raleway;
    font-size: 16px;
    color: #CECECE;
    margin: 5px 0 10px 0;
    font-weight: 400;
}


.menu_holder .open-panel-wish .item-in-cart .desc .preco,
.menu_holder .open-panel-wish .item-in-cart .desc .preco span{
    font-family: Raleway;
    font-size: 21px;
    color: #8B8B8B;
    line-height: 18px;
    font-weight: 500;
}

@media screen and (max-width: 992px) {
    .modal {
        width: 300px;
        margin-left: -149px;
    }

    .open-panel-conta {
        position: fixed;
        top: 20%;
        right: 15px;
        width: unset;
        left: 15px;
        overflow: scroll;
        bottom: 0;
    }

    .open-panel-wish {
        position: fixed;
        top: 20%;
        right: 15px;
        width: unset;
        left: 15px;
        overflow: scroll;
        bottom: 0;
    }

    .menu_holder .open-panel.open {
        position: fixed;
        top: 20%;
        right: 15px;
        width: unset;
        left: 15px;
        overflow: scroll;
        bottom: 0;
    }

    .open-panel-conta button{
        margin-bottom: 20px;
    }

    .menu_holder .open-panel button.v6 {
        margin-bottom: 20px;
    }
}

@media (max-width: 480px) { 

  .modal { padding: 15px 20px 10px; }
  .modal-body { padding: 10px; }
  .modal-header { padding: 5px 0; }
  
}


/*==================================================================================================*/
/*MENUS LATERAIS*/
/*==================================================================================================*/


.menu-panel {
    position: fixed;
    top: 213px;
    bottom: 0;
    right: 0;
    width: 500px;
    background: #fff;
    border-left: 1px solid #efefef;
    z-index: 100;

    display: none;
}

.menu-panel .header {
    padding: 25px 25px;
    font-size: 20px;
    font-weight: 600;
    border-bottom: 1px solid #efefef;
}

.menu-panel .item-in-cart {
    padding: 20px 10px;
}

.menu-panel .item-in-cart .image {
    width: 75px;
    height: 75px;
    float: left;
    margin-right: 20px;
}

.menu-panel .item-in-cart .image img{
    width: 100%;
}

.menu-panel .item-in-cart .desc {
    width: calc(100% - 95px);
    float: left;
    position: relative;
}

.menu-panel .item-in-cart .desc a {
    color: #34353e;
}

.menu-panel .item-in-cart .desc .carrinho_remove_item,
.menu-panel .item-in-cart .desc .wishlist_remove_item {
    color: #34353e;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 30px;
    height: 30px;
    border-radius: 100%;
    border: 1px solid #ccc;
    background: #fff;
    text-align: center;
    line-height: 26px;
    right: 30px;
    cursor: pointer;

    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s;
}

.menu-panel .item-in-cart .desc .carrinho_remove_item:hover,
.menu-panel .item-in-cart .desc .wishlist_remove_item:hover {
    background: #f5f3f3;
}

.menu-panel .summary {
    padding: 20px 10px;
    font-weight: 600;
    color: #c9cbd1;
    font-size: 25px;
}

.menu-panel button  {
    border-radius: 20px;
    border: 1px solid #555;
    display: inline-block;
    padding: 8px 35px;
    text-transform: uppercase;
    background: #d0d4df;
    color: #fff;
    font-weight: 600;
    font-size: 17px;
}

.menu-panel.conta button  {
    width: 100%;
}

@media screen and (max-width: 992px) {

    .menu-panel {
        width: 100%;
        overflow: auto;
    }
}

@media (max-width: 480px) {

    .modal { padding: 15px 20px 10px; }
    .modal-body { padding: 10px; }
    .modal-header { padding: 5px 0; }
}


.table{
    width: 100%;
}



/*==================================================================================================*/
/*CARRINHO*/
/*==================================================================================================*/

.table thead>tr>th, .table tbody>tr>th, .table tfoot>tr>th, .table thead>tr>td, .table tbody>tr>td, .table tfoot>tr>td {
    vertical-align: middle;
}

.bloco.checkout .table thead>tr>th {
    vertical-align: bottom;
    border-bottom: 1px solid #E6E6E6;
    border: none;
    font-family: Raleway;
    font-size: 22px;
    color: #222222;
    text-transform: uppercase;
    font-weight: 300;
}

.bloco.checkout .table td.subtotal {
    padding: 20px 0;
}

.bloco.checkout .input_quantidade{
    position: relative;
}

.bloco.checkout .input_quantidade input{
    padding: 6px;
    width: 70px;
    margin-left: 37px;
    text-align: center;
    color: #4D4D4D;
    font-family: Montserrat;
    border: 2px solid #E6E6E6;
}

.bloco.checkout .add_remove.menos{
    display: inline-block;
    position: absolute;
    border: 2px solid #E6E6E6;
    top: 0;
    left: 0px;
    padding: 6px 15px;
    color: #4D4D4D;
    text-decoration: none;
    cursor: pointer;
}

.bloco.checkout .add_remove.mais{
    display: inline-block;
    position: absolute;
    border: 2px solid #E6E6E6;
    top: 0;
    left: 105px;
    padding: 6px 15px;
    color: #4D4D4D;
    text-decoration: none;
    cursor: pointer;
}

.bloco.checkout .refresh_quantidade{
    margin-top: 10px;
    margin-left: 63px;
}

.bloco.checkout .add_remove:hover{
    background: #E6E6E6;
}

.bloco.checkout .price{
    position: relative;
}

.bloco.checkout .price a{
    position: absolute;
    right: 0;
}

.bloco.checkout .price img{
    width: 25px;
}


.bloco.checkout .desc .info_produto .nome{
    font-family: Raleway;
    font-size: 21px;
    color: #333333;
    line-height: 27px;
    font-weight: 500;
}

.bloco.checkout .desc .info_produto .categoria{
    font-family: Raleway;
    font-size: 21px;
    color: #CECECE;
    line-height: 27px;
    font-weight: 400;
}


.bloco.checkout .desconto{
    font-family: Raleway;
    font-size: 18px;
    color: #222222;
    font-weight: 400;
    margin-bottom: 15px;
}

.bloco.checkout #desconto{
    padding: 5px;
    border-radius: 5px;
    border: 1px solid #E6E6E6;
}



#form_next_step .morada th{
    width: 200px;
}

#form_next_step .morada td{
    width: Calc(100% - 200px);
}

@media screen and (max-width: 1400px){
    .open-panel-conta .cabecalho,
    .wish-li .cabecalho,
    .cart-li .cabecalho{
        font-size: 18px;
    }

    .open-panel-conta .control-group .control-label {
        font-size: 16px;
    }

    .open-panel-conta input {
        font-weight: 600;
        font-size: 15px;
    }

    button.v5,
    button.v6 {
        font-size: 13px;
    }
}


@media screen and (max-width: 992px){
    .bloco.checkout .table thead>tr>th {
        vertical-align: bottom;
        border-bottom: 1px solid #E6E6E6;
        border: none;
        font-family: Raleway;
        font-size: 15px;
        color: #222222;
        text-transform: uppercase;
        font-weight: 300;
    }


    .bloco.checkout .table .image img {
        max-width: 70px;
        height: auto !important;
    }

    .bloco.checkout .desc .info_produto .nome {
        font-size: 14px;
    }

    .bloco.checkout .desc .info_produto .categoria {
        font-size: 14px;
    }

    .bloco.checkout .add_remove.menos {
        padding: 6px 5px;
    }

    .bloco.checkout .input_quantidade input {
        width: 45px;
        margin-left: 18px;
    }

    .bloco.checkout .add_remove.mais {
        left: 61px;
        padding: 6px 5px;
    }

    .bloco.checkout .refresh_quantidade {
        margin-left: 30px;
    }


    .bloco.checkout .price a {
        position: absolute;
        right: unset;
        bottom: 15px;
        left: 50%;
        transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -webkit-transform: translateX(-50%);
    }

    .checkout-steps {
        position: relative;
        margin: 20px -20px 30px;
        padding: 30px 10px;
        text-align: center;
    }

    .checkout-steps .step {
        font-size: 12px;
        padding: 0 5px;
    }


    .bloco.checkout .holder_tabela {
        overflow-x: scroll;
    }

    .checkout .zona-produtos {
        overflow-x: scroll;
    }

    .go_next button{
        margin-top: 35px;
    }

    .go_next .pull-left{
        float: unset !important;
    }

    .go_next .pull-right{
        float: unset !important;
    }

    .right-align {
        text-align: center;
    }

    #form_next_step .morada th {
        width: 120px;
    }

    #form_next_step .morada td {
        width: Calc( 100% - 120px);
    }
}

@media screen and (max-width: 450px){
    .bloco.checkout .desc .info_produto .nome {
        font-size: 12px;
    }

    .bloco.checkout .table .image img {
        max-width: 40px;
        height: auto !important;
    }


}