﻿html {
    font-size: 62.5%;
}

body {
    font-family: 'Raleway', sans-serif;
    color: rgb(0, 0, 0);
    font-size: 1.4rem;
    margin-top: 20px;
    margin-left: auto;
    margin-right: auto;
    height: 100%;
}

.loading-mask {
    background-color: rgba(128, 128, 128, 1.0);
    cursor: wait;
    z-index: 999;
    height: 100%;
    width: 100%;
}

a, a:visited, a:hover, a:visited {
    font-weight: bold;
    text-decoration: underline;
    cursor: pointer;
}

.site-link,
.site-link:visited,
.site-link:hover,
.site-link:active {
    text-decoration: underline solid;
    font-weight: bold;
    cursor: pointer;
}

.card-title {
    cursor: pointer !important;
}

h1 {
    font-size: 3rem;
}

h2 {
    font-size: 2.5rem;
}

h3 {
    font-size: 2rem;
}

h4 {
    font-size: 1.5rem;
}

h5 {
    font-size: 1rem;
}

h6 {
    font-size: .75em;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
}

.page-title {
    font-size: 4.0rem;
}

input[type="button"] {
    border: none;
    text-align: center;
    font-size: 1.4rem;
    line-height: 2.0rem;
    cursor: pointer;
    padding-top: 10px;
    padding-bottom: 10px;
    text-transform: uppercase;
    min-width: 90px;
    min-height: 35px;
}

.btn.btn-primary {
    background-color: rgba(14,156,46,1.0) !important;
    color: rgba(255,255,255,1.0) !important;
}

.loading-icon {
    margin: auto;
}

.icon-button {
    text-align: center;
    font-size: 2.6rem;
    cursor: pointer;
    border: none;
    width: 50px;
    height: 50px;
    padding-top: 0.8rem;  
    color: #FFFFFF;
}

/* login */

.login-container {
    min-height: 500px;
}

.login-box {
    min-height: 200px;
    background: #FFFFFF;
}

/* main */

.header-container {
    min-height: 100px;
    font-size: 1.2rem;
}

.main-container {
    min-height: 200px;
    padding-top: 25px;
    padding-bottom: 25px;
}

.footer-container {
    min-height: 100px;
    font-size: 1.4rem;
}

/* fonts */

/* colori */

.site-color {
    color: rgb(0, 0, 0) !important;
}

.site-color-bg {
    background-color: rgb(0, 0, 0) !important;
}

.site-color-alt {
    color: rgba(14,156,46,1.0) !important;
}

.site-color-alt-bg {
    background-color: rgba(14,156,46,1.0) !important;
}

.site-color-light-bg-opacity-50 {
    /*background-color: rgba(255, 255, 255,0.50) !important;*/
}

.site-color-light-bg-opacity-75 {
}

.site-color-white {
    color: rgba(255,255,255,1.0) !important;
}

.site-color-white-bg {
    background-color: rgba(255,255,255,1.0) !important;
}

.site-color-green {
    color: rgba(14,156,46,1.0) !important;
}

.site-color-torquoise {
    color: #0D5C63 !important;
}

.site-color-torquoise-bg {
    background-color: #0D5C63 !important;
}

.site-color-red {
    color: #d52d2d !important;
}

.site-color-red-bg {
    background-color: #d52d2d !important;
}

.site-color-blue {
    color: rgba(0, 0, 255, 1.0) !important;
}

.site-color-grey {
    color: rgba(128, 128, 128, 1.0) !important;
}

.site-color-grey-bg {
    background-color: rgba(128, 128, 128, 1.0) !important;
}

/* form */

.form-checkbox {
    margin-top: 3px;
    margin-bottom: 3px;
}

    .form-checkbox input[type="checkbox"] {
        border: 1px solid;
        width: 35px;
        height: 35px;
        -webkit-appearance: none;
        -moz-appearance: none;
    }

    .form-checkbox .checked {
        display: none;
    }

    .form-checkbox input[type="checkbox"]:checked ~ .checked {
        position: absolute;
        display: inline-block;
        font-size: 3.2rem;
        margin-left: -34px;
        /*margin-left: 2px;*/
        /*margin-top: -40px;*/
    }

.form-checkbox-label {
    position: relative;
    top: -10px;
}

.form-label {
    padding: 0px;
    font-size: 1.4rem;
}

.form-textbox {
    font-size: 1.4rem;
    line-height: 2.0rem;
    border-radius: 0px;
    border: none;
    border-bottom: 1px solid;
    display: block;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 5px;
    background-clip: padding-box;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

    .form-textbox:focus {
        font-weight: bold;
        border-bottom: 2px solid rgba(14,156,46,1.0);
        outline: 0;
        box-shadow: 0 0 0 0.25rem rgba(14,156,46,.25) !important;
    }

    .form-textbox:valid {
        outline: 0;
        box-shadow: 0 0 0 0.2rem rgba(255,204, 0,.25);
    }

    .form-textbox:invalid {
        outline: 0;
        box-shadow: 0 0 0.3rem rgba(221,64,58,.50);
    }

.form-input-icon {
    font-size: 1.8rem;
    color: rgba(14,156,46,1.0);
    text-shadow: 1px 1px rgba(128, 128, 128, 0.5);
}

.datetimepicker-input {
    font-size: 1.4rem !important;
    line-height: 2.0rem;
    border-radius: 0px;
    border: none;
    border-bottom: 1px solid;
    display: block;
    width: 100%;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    padding-left: 5px;
    background-clip: padding-box;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

    .datetimepicker-input:focus {
        font-weight: bold;
        border-bottom: 2px solid rgba(14,156,46,1.0);
        outline: 0;
        box-shadow: 0 0 0 0.25rem rgba(14,156,46,.25) !important;
    }

    .datetimepicker-input:valid {
        outline: 0;
        box-shadow: 0 0 0 0.2rem rgba(255,204, 0,.25);
    }

    .datetimepicker-input:invalid {
        outline: 0;
        box-shadow: 0 0 0.3rem rgba(221,64,58,.50);
    }

/* datatable */

.datatable-row-button {
    display: inline-block;
    min-height: 35px;
    min-width: 35px;
    font-size: 2.0rem;
    cursor: pointer;
}

    .datatable-row-button.disabled {
        display: inline-block;
        min-height: 35px;
        min-width: 35px;
        font-size: 2.0rem;
        cursor: default
    }

.datatable-status-icon {
    display: inline-block;
    min-height: 35px;
    min-width: 35px;
    font-size: 2.0rem;
    cursor: default;
    /*border: 1px solid;
    border-radius: 1px;*/
}

.datatable-tools-button {
    /*font-size: 1.5rem !important;*/
    border: none !important;
    background-image: none !important;
    /*background-color: rgba(14,156,46,1.0) !important;*/
    color: rgb(0, 0, 0) !important;
}


/* backend */

.backend-container {
    border: 1px solid rgba(14,156,46,1.0);
}

.backend-header-container {
}

.backend-banner-container {
  /*  min-height: 260px;
    background-image: url('../images/login_banner.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top left;
    border-top: 5px solid #3B913D;
    border-bottom: 5px solid #3B913D;*/
}

.backend-menu-container {
    min-height: 50px;
    border-top: 5px solid #3B913D;
    border-bottom: 5px solid #3B913D;
    font-size: 1.2rem;
}

    .backend-menu-container .nav-item {
        min-width: 75px;
        min-height: 50px;
        text-align: center;
        font-weight: bold;
        padding-top: 10px;
        padding-bottom: 5px;
        margin-top: 5px;
        margin-bottom: 5px;
        margin-right: 5px;
        background-color: #0D5C63;
        border-radius: 5px;
    }

        .backend-menu-container .nav-item a, .backend-menu-container .nav-item a:visited, .backend-menu-container .nav-item a:hover {
            text-decoration: none;
            color: #FFFFFF !important;
        }

        .backend-menu-container .nav-item.active {
            text-decoration: none;
            color: #FFFFFF !important;
        }

            .backend-menu-container .nav-item.active a {
                text-decoration: underline;
                color: #FFFFFF !important;
            }

.backend-footer-container {
    min-height: 100px;
    border-top: 5px solid #3B913D;
}

.printableMonths option:disabled{
    font-weight: bold;
    color: #3B913D !important;
}

/* account */
.account-container {
    border: 1px solid rgba(14,156,46,1.0);
}

.account-header-container {
}

.account-banner-container {
   /* min-height: 260px;
    background-image: url('../images/login_banner.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top left;
    border-top: 5px solid #3B913D;
    border-bottom: 5px solid #3B913D;*/
}

.account-menu-container {
    min-height: 50px;
    border-top: 5px solid #3B913D;
    border-bottom: 5px solid #3B913D;
    font-size: 1.2rem;
}

    .account-menu-container .nav-item {
        min-width: 75px;
        min-height: 50px;
        text-align: center;
        font-weight: bold;
        padding-top: 10px;
        padding-bottom: 5px;
        margin-top: 5px;
        margin-bottom: 5px;
        margin-right: 5px;
        background-color: #3B913D;
        border-radius: 5px;
    }

        .account-menu-container .nav-item a, .account-menu-container .nav-item a:visited, .account-menu-container .nav-item a:hover {
            text-decoration: none;
            color: #FFFFFF !important;
        }

        .account-menu-container .nav-item.active {
            text-decoration: none;
            color: #FFFFFF !important;
        }

            .account-menu-container .nav-item.active a {
                text-decoration: underline;
                color: #FFFFFF !important;
            }

.account-footer-container {
    min-height: 100px;
    border-top: 5px solid #3B913D;
}

/* dealer */

.dealer-container {
    border: 1px solid rgba(14,156,46,1.0);
}

.dealer-header-container {
}

.dealer-banner-container {
    /*min-height: 260px;
    background-image: url('../images/login_banner.png');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top left;*/
   /* border-top: 5px solid #3B913D;
    border-bottom: 5px solid #3B913D;*/
}

.dealer-menu-container {
    min-height: 50px;
    border-top: 5px solid #3B913D;
    border-bottom: 5px solid #3B913D;
    font-size: 1.2rem;
}

    .dealer-menu-container .nav-item {
        min-width: 75px;
        min-height: 50px;
        text-align: center;
        font-weight: bold;
        padding-top: 10px;
        padding-bottom: 5px;
        margin-top: 5px;
        margin-bottom: 5px;
        margin-right: 5px;
        background-color: #0D5C63;
        border-radius: 5px;
    }

        .dealer-menu-container .nav-item a, .dealer-menu-container .nav-item a:visited, .dealer-menu-container .nav-item a:hover {
            text-decoration: none;
            color: #FFFFFF !important;
        }

        .dealer-menu-container .nav-item.active {
            text-decoration: none;
            color: #FFFFFF !important;
        }

            .dealer-menu-container .nav-item.active a {
                text-decoration: underline;
                color: #FFFFFF !important;
            }

.dealer-body-container {
    min-height: 400px;
}


.dealer-footer-container {
    min-height: 100px;
    border-top: 5px solid #3B913D;
}

.cart-counter {    
    font-size: 1.4rem;
    font-weight: bold;    
    border-radius: 2px;
    /*position: absolute;*/
}

.mypage-tabs .nav-item {
    min-width: 75px;
    min-height: 50px;
    text-align: center;
    font-weight: bold;
    padding-top: 10px;
    padding-bottom: 5px;
    margin-top: 5px;
    margin-bottom: 5px;
    margin-right: 5px;   
    border-radius: 5px;
}

    .mypage-tabs .nav-item a, .mypage-tabs .nav-item a:visited, .mypage-tabs .nav-item a:hover {
        text-decoration: none;
        background-color: inherit !important;
        color: inherit !important;
    }

    .mypage-tabs .nav-item a.active {
        background-color: inherit !important;
        color: inherit !important;
        text-decoration: underline !important;
    }

/*catalog */

.catalog-textbox {
    font-size: 1.4rem;
    line-height: 2.0rem;
    border-radius: 0px;
    border: none;
    border-bottom: 1px solid;
    display: block;
    width: 100%;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 5px;
    background-clip: padding-box;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

    .catalog-textbox:focus {
        font-weight: bold;
        border-bottom: 2px solid rgba(14,156,46,1.0);
        outline: 0;
        box-shadow: 0 0 0 0.25rem rgba(14,156,46,.25) !important;
    }

    .catalog-textbox:valid {
        outline: 0;
        box-shadow: 0 0 0 0.2rem rgba(255,204, 0,.25);
    }

    .catalog-textbox:invalid {
        outline: 0;
        box-shadow: 0 0 0.3rem rgba(221,64,58,.50);
    }


.catalog-check-button {
    font-size: 1.5rem;
    line-height: 1.5;
    background-color: #dadada;
    color: #dadada !important;
    border-radius: 0px;
    border: 1px solid rgb(0, 149, 59);
    display: block;
    width: 100%;
    padding: 10px;
    padding-right: 5px;
    background-clip: padding-box;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    text-transform: uppercase;
    width: 100%;
    margin-top: 10px;
    margin-bottom: 10px;
    cursor: pointer;
}

    .catalog-check-button.checked {
        background-color: #dadada;
        color: #FFFFFF !important;
    }

    .catalog-check-button.with-left-addon {
        padding-left: 5px;
    }

        .catalog-check-button.with-left-addon .left-addon {
            margin-right: 5px;
            color: #dadada;
        }

        .catalog-check-button.with-left-addon.checked .left-addon {
            color: #FFFFFF !important;
        }

    .catalog-check-button.points-range {
        margin-top: 1px;
        margin-bottom: 1px;
    }

.catalog-menu-container {
    margin-top: 15px;
    margin-bottom: 15px;
    width: 100%;
}

    .catalog-menu-container a,
    .catalog-menu-container a:hover,
    .catalog-menu-container a:active,
    .catalog-menu-container a:visited {
        text-decoration: none;
    }

.catalog-header {
    font-size: 2.8rem;
    min-height: 30px;
}

    .catalog-header a,
    .catalog-header a:hover,
    .catalog-header a:active,
    .catalog-header a:visited {
        color: #dadada !important;
    }

.catalog-category-header {
    min-height: 30px;
    background-color: rgb(0, 149, 59);
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 10px;
    padding-right: 5px;
    text-transform: uppercase;
    color: #FFFFFF;
}

    .catalog-category-header a,
    .catalog-category-header a:hover,
    .catalog-category-header a:active,
    .catalog-category-header a:visited {
        color: #FFFFFF !important;
    }

.catalog-category-content {
    min-height: 30px;
    padding: 0px;
}

.catalog-group-header {
    min-height: 30px;
    background-color: rgba(0, 149, 59, 0.75);
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 15px;
    padding-right: 5px;
    text-transform: uppercase;
    color: #FFFFFF;
}

    .catalog-group-header a,
    .catalog-group-header a:hover,
    .catalog-group-header a:active,
    .catalog-group-header a:visited {
        color: #FFFFFF !important;
    }

.catalog-sector-header {
    min-height: 30px;
    background-color: rgba(0, 149, 59, 0.50);
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    padding-right: 5px;
    text-transform: uppercase;
    color: #FFFFFF;
}

    .catalog-sector-header a,
    .catalog-sector-header a:hover,
    .catalog-sector-header a:active,
    .catalog-sector-header a:visited {
        color: #FFFFFF !important;
    }

.catalog-points-header {
    margin-top: 15px;
    width: 100%;
    margin-bottom: 5px;
    font-size: 2.8rem;
    min-height: 30px;
    color: #dadada;
}

.catalog-points-container {
    margin-top: 10px;
    margin-bottom: 10px;
    width: 100%;
    min-height: 30px;
}

.catalog-button {
    font-size: 1.5rem;
    line-height: 1.5;
    background-color: #dadada;
    color: #FFFFFF !important;
    border-radius: 0px;
    border: none;
    display: block;
    width: 100%;
    padding: 10px;
    padding-right: 5px;
    background-clip: padding-box;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    text-transform: uppercase;
    width: 100%;
    cursor: pointer;
}

    .catalog-button.with-left-addon {
        padding-left: 5px;
    }

        .catalog-button.with-left-addon .left-addon {
            color: #FFFFFF !important;
            margin-right: 5px;
        }

.products-container .product {
    /*min-height: 300px;*/
}

.products-container .product-box {
    /*border: 1px solid rgba(128, 128, 128, 1.0);
    border-radius: 3px;*/
    outline: 1px rgba(128, 128, 128, 1.0) solid; /* inner stroke */
    outline-offset: -4px;
    border-radius: 3px;
}

.products-container .product-title {
    min-height: 50px;
}

.products-container .product-image {
    min-height: 250px;
    max-height: 250px;
}

    .products-container .product-image img {
        width: auto;
        height: 100%;
        /*min-height: 200px;*/
        max-height: 250px;
    }

.products-container .product-header {
    font-size: 2.2rem;
    font-weight: bold;
    text-align: center;
}

.products-container .product-bottom .product-sizes-select {
    border: none;
    text-transform: uppercase;
    font-size: 1.2rem;
    min-height: 50px;
}

    .products-container .product-bottom .product-sizes-select .product-sizes-header {
        background-position: center;
        font-weight: bold;
        min-height: 50px;
        background-color: rgba(0, 149, 59, 1.0) !important;
        cursor: pointer;
        background-image: url('../Images/freccia_form_reverse.png') !important;
        background-repeat: no-repeat !important;
        background-attachment: scroll !important;
    }

    .products-container .product-bottom .product-sizes-select .product-sizes-content {
        position: absolute;
        background-color: #dadada !important;
        font-weight: bold;
        min-height: 50px;
        z-index: 10000;
        width: 88%;
    }

        .products-container .product-bottom .product-sizes-select .product-sizes-content .size-option {
            cursor: pointer;
        }

    .products-container .product-bottom .product-sizes-select .size-value {
        font-size: 1.1rem;
    }

    .products-container .product-bottom .product-sizes-select .selection-sizes-button {
        background-color: transparent;
        width: 100%;
        text-transform: uppercase;
        text-align: left;
        padding-top: 15px;
        padding-left: 10px;
        color: rgb(119,120,124);
        cursor: pointer;
    }


.products-container .product-bottom .product-bottom-info,
.products-container .product-bottom .product-bottom-wishlist,
.products-container .product-bottom .product-bottom-cart {
    font-size: 2.2rem;
    cursor: pointer;
    color: #FFFFFF;
}

.products-container .product-bottom i.disabled {
    color: rgb(119,120,124) !important;
}


/* product details */

.product-details-container {
    border: 2px solid #dadada;
    border-radius: 10px;
}

.product-details-image {
    min-height: 150px;
    text-align: center;
}

    .product-details-image img {
        /*min-height: 150px;*/
    }

.product-details-title {
}

.product-details-code {
    font-size: 2.4rem;
    color: rgb(119,120,124);
}

.product-details-name {
    font-size: 2.4rem;
    text-align: center;
}

.product-details-description {
    height: 250px;
    overflow-y: scroll;
}

.product-details-delay {
    font-size: 1.6rem;
    color: rgb(119,120,124);
    font-weight: bold;
}

.product-details-points {
    font-size: 2.0rem;
    min-height: 50px;
}

.product-details-bottom {
    /*font-size: 3.2rem;
    text-align: center;*/
}

.product-bundle-item-value {
    font-size: 1.6rem;
}

.product-bundle-item-points {
    font-size: 1.6rem;
}

.product-bundle-item-wishlist {
    font-size: 3.2rem;
}

    .product-bundle-item-wishlist i {
        cursor: pointer;
    }

.product-bundle-item-cart {
    font-size: 3.2rem;
}

    .product-bundle-item-cart i {
        cursor: pointer;
    }

    .product-bundle-item-cart.disabled i {
        color: rgb(119,120,124) !important;
    }


.product-details-footer {
    font-size: 2.0rem;
}

.product-details-back {
    border-radius: 10px 10px;
}

    .product-details-back i {
        cursor: pointer;
    }

/* cart */

.cart-product {
    border: 1px solid rgb(0, 149, 59);
}

    .cart-product * img {
        max-height: 110px;
        padding: 5px;
    }

.cart-product-description {
    font-size: 1.6rem;
    font-weight: bold;
}

.cart-quantity {
    font-size: 2.0rem;
    font-weight: bold;
}

.cart-quantity-amount {
    /*font-size: 3.0rem;*/
}

.cart-amount {
    font-size: 2.0rem;
    font-weight: bold;
}

.cart-total-amount {
    font-size: 2.0rem;
    font-weight: bold;
}

/* contacts */

.contactus-telephone {
    font-size: 2.0rem;
}

.contactus-email {
    font-size: 2.0rem;
}

.contactus-hours {
    font-size: 1.8rem;
}



#cookieBar {
    position: fixed;
    bottom: 0;
    width: 100%;
    padding: 2rem;
    margin-top: 20px;
    text-align: center;
    background-color: #fff;
    transition: 1s ease;
    -webkit-transition: 1s ease;
    -moz-transition: 1s ease;
    z-index: 9999;
}