:root {
    --gi_promo_color: #dfd199;
    --gi_alert_color: #f44336;
    --gi_succes_color: #8bc34a;
    --gi_new_color: #d25353;
}

body, html {
    font-family: 'Ubuntu', sans-serif !important;
    font-size: 16px;
    font-style: normal;
    font-weight: 100;
    color: #333333;
    background-color: #FFFFFF;
}

.row .col.center-col {
    float: none !important;
    margin-left: auto;
    margin-right: auto;
}

button, input, optgroup, select, textarea {
    font-family: inherit;
}

.flex {
    display: flex;
    flex-wrap: wrap;
}

section {
    padding: 5px 0;
}

section.big {
    padding: 15px 0;
}

section.gi-page_title {
    padding: 0;
}

section.gi-page_title.gi-cat_title {
    padding: 0;
}

.container {
    width: 90%;
    max-width: 100% !important;
    margin: 0 auto;
    padding: 0 .5rem;
}

a:not(.gi-btn) {
    text-decoration: underline;
}

.tabs .tab a {
    text-decoration: none !important;
}

a {
    text-decoration: none !important;
}

a, button {
    -webkit-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}

a:not(.gi-btn):hover {
    opacity: .8;
}


/*
    typography
 */

strong {
    font-weight: 700;
}

.text-larger {
    font-size: larger;
}

.text-larger h5 {
    font-size: 1.3rem;
}

p.large {
    font-size: 20px;
}

h1, h2, h3, h4, h5, h6, p, a {
    font-family: inherit;
    color: inherit;
}

h1, h2, h3, h4 {
    letter-spacing: .05rem;
}

h5, h6 {
    letter-spacing: .01rem;
}

h4 {
    font-weight: 100;
}

#gi-product_page h4 {
    letter-spacing: 0;
    text-transform: uppercase;
    font-weight: 400;
    margin-bottom: 0;
    /*text-align: center;*/
}

#gi-product_page h4 + p {
    margin-top: 0;
    margin-bottom: 0;
}

/*.gi-page_title h4 {*/
/*    font-weight: 100;*/
/*    letter-spacing: 2px;*/
/*    color: #ffffff;*/
/*    text-transform: uppercase;*/
/*}*/
.gi-page_title h4 {
    letter-spacing: 2px;
    text-transform: uppercase;
    position: relative;
    /* margin-left: 50px; */
    display: inline-block;
    font-size: 1.5rem;
}

.gi-page_title h4:before {
    content: '';
    width: calc(100% + 230px);
    height: 2px;
    background-color: #fff;
    position: absolute;
    bottom: 0;
    left: -230px;
}

/*
    buttons
 */

.gi-btn.disabled, .gi-btn.gi-btn[disabled] {
    opacity: .3;
    /*background-color: #eeeeee;*/
    pointer-events: none;
    cursor: none;
}

header a.gi-btn, button.gi-btn {
    height: 40px;
}

header a.gi-btn.gi-profile {
    width: 60%;
    float: left;
    line-height: 20px;
}

header a.gi-btn.gi-cart {
    clear: both;
}

header a.gi-btn.gi-cart {
    position: relative;
    font-size: 16px;
    text-align: right;
}

header a.gi-btn.gi-preferiti {
    position: relative;
    font-size: 15px;
}

header a.gi-btn.gi-logout,
header a.gi-btn.gi-preferiti {
    width: 20%;
    float: left;
}

.header_mobile a.gi-btn.gi-preferiti {
    width: auto;
}

/*header .gi-preferiti, header .gi-logout{*/
/*    width: 30%;*/
/*}*/

a.gi-btn.small {
    font-size: small !important;
}

a.gi-btn, button.gi-btn {
    float: none;
    min-height: 40px;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
    letter-spacing: 2px;
    color: initial;
    display: block;
    padding: 10px 15px;
    border: none;
    font-size: inherit;
    font-weight: 100;
    background-color: #4b7c91;
}

a.gi-btn:hover, button.gi-btn:hover {
    background-color: #3e687d;
}

.gi-btn.btn-large, button.gi-btn.btn-large {
    height: 46px;
    line-height: 46px;
    padding-top: 0;
    padding-bottom: 0;
    border-radius: 0;
    box-shadow: none;
}

.gi-add_to_cart img, .gi-cart img {
    max-width: 28px;
    margin-top: -6px;
}

.gi-add_to_cart.btn-large img {
    margin-top: 10px;
}

.gi-cart-el-num, .gi-cart-single-el-num {
    position: absolute;
    left: 28px;
    font-size: 12px;
    top: 2px;
    /*background-color: var(--gi_main_color);*/
    background-color: #8bc34a;
    border-radius: 4px;
    color: #fff;
    letter-spacing: 0;
    padding: 2px 5px;
    font-weight: bold;
}

.gi-preferiti-main-el-num {
    position: absolute;
    left: calc(50% + 6px);
    font-size: 12px;
    top: 2px;
    /* background-color: var(--gi_main_color); */
    background-color: #8bc34a;
    border-radius: 4px;
    color: #fff;
    letter-spacing: 0;
    padding: 2px 5px;
    font-weight: bold;
}

.gi-cart-icon {
    position: absolute;
    left: 10px;
    top: 13px;
}

i.gi-cart-icon {
    left: 13px;
    top: 10px;
}

.gi-cart-subtotal {
    font-weight: bold;
}

.gi-cart-limit {
    font-size: 12px;
}

.gi-cart-limit i {
    vertical-align: bottom;
    font-size: 15px;
}

.gi-in_cart .gi-cart-single-el-num {
    left: 14px;
    top: -6px;
    border-radius: 100%;
    background-color: #8bc34a;
    height: 16px;
    min-width: 16px;
    line-height: 16px;
    padding: 0;
}

.gi-in_cart .gi-cart-single-el-num i {
    font-size: 16px;
    font-weight: bold;
}

/*
    Modals
*/
#modal-login.modal {
    width: 98%;
    max-height: 90%;
}

#modal-login.modal .modal-content {
    padding: 24px 10px;
}

#msg-add-to-cart {
    width: 500px;
    max-width: 95%;
}

/*
    header
 */
header .header_bkg_img {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
    background-color: #00000040;
    background-blend-mode: overlay;
}


#header_top {
    margin-left: 30px;
    margin-right: 30px;
    border-bottom: 1px solid #ffffff;
    font-size: 16px;
    color: #ffffff;
    padding: 10px 0;
}

#header_top a {
    color: #FFFFFF;
}

#header_top ul {
    list-style: none;
    margin: 0;
}

#header_top ul li, ul.mobile_lang li {
    display: inline-block;
}

#header_top ul li:after {
    content: ' | ';
    margin: 0 6px;
}

#header_top ul li:last-child:after {
    content: '';
}

#header_top ul li:first-child {
    margin-left: 0;
}

#header_top .gi-menu_lang ul li:after {
    content: '' !important;
}

#header_top .gi-menu_lang ul li:last-child:after {
    margin-right: 0;
}

#header_main {
    padding: 10px 15px;
}

#header_search {
    padding: 10px 0;
}

#header_search .container {
    padding: 0;
    margin: 0;
    width: 100%;
}

#header_search nav {
    line-height: 56px;
    width: 100%;
    height: 56px;
    background-color: #ffffff;
}

#header_search nav .input-field label i {
    -webkit-transition: color .3s;
    transition: color .3s;
    color: rgba(0, 0, 0, .7);
    vertical-align: text-top;
}

.nav-wrapper .input-field input[type=search] {
    width: calc(100% - 2rem);
    height: inherit;
    padding-left: 2rem;
    border: 0;
    box-shadow: none;
}

.nav-wrapper .input-field input[type=search]::placeholder {
    font-size: .75rem;
}

#header_menu nav {
    position: relative;
}

#header_menu nav, #mobile_menu nav {
    background-color: transparent;
    color: inherit;
    text-transform: uppercase;
    font-size: 20px;
    letter-spacing: 1px;
    box-shadow: none;
    /*text-align: center;*/
}

#header_menu nav ul.gi-main_menu {
    display: inline-block;
    /*position: absolute;*/
    z-index: 1002;
    top: 0;
}

#header_menu nav ul li {
    cursor: pointer;
    -webkit-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}

/*#header_menu nav ul li:hover {*/
/*    background-color: #fbf0f2;*/
/*    color: initial;*/
/*}*/

#header_menu nav ul a {
    font-size: inherit;
    display: block;
    cursor: pointer;
    -webkit-transition: background-color .3s;
    transition: background-color .3s;
    color: inherit;
    text-decoration: none !important;
}

#header_menu nav, #header_menu nav .nav-wrapper i, #header_menu nav a.sidenav-trigger, #header_menu nav a.sidenav-trigger i {
    line-height: 44px;
    height: 44px;
}

#header_menu .material-icons {
    line-height: 44px;
    margin-left: 0;
}

#header_menu nav i, #header_menu nav [class^="mdi-"], #header_menu nav [class*="mdi-"] {
    height: 44px;
}

#header_menu nav ul a:hover {
    background-color: transparent;
}

#header_menu nav ul .gi-submenu a:hover {
    background-color: var(--gi_main_color);
}

#header_menu ul.dropdown-content {
    min-width: 350px;
    font-size: 14px;
    height: auto !important;
}

#header_menu #menu_tematiche {
    min-width: 480px;
}

#mobile_menu .material-icons {
    line-height: 40px;
    margin-left: 0;
}

#mobile_menu nav {
    line-height: 40px;
    height: 40px;
}

#mobile_menu nav .sidenav-trigger {
    height: 40px;
    line-height: 40px;
}


/*
    Breadcrumbs
*/
/*#gi-breadcrumbs ul {*/
/*    margin-top: 0;*/
/*}*/

/*#gi-breadcrumbs ul li {*/
/*    display: inline-block;*/
/*}*/

/*#gi-breadcrumbs ul li:not(:last-child):after {*/
/*    content: ' > ';*/
/*    margin: 0 5px;*/
/*}*/

/*
    Sidebar
*/
.gi-sidebar_box {
    background-color: #FFFFFF;
    padding: 15px;
    margin-bottom: 1rem;
    border: 1px solid #ddd;
}

.gi-sidebar_box li {
    font-size: 15px;
}

.gi-sidebar_box li.active {
    list-style: disc;
}

.div_btn_var {
    position: absolute;
    bottom: 18px;
}

.div_btn_add {
    position: absolute;
    bottom: 10px;
    width: 100%;
}

/*
    Products grid
*/
#gi-products_grid .col {
    /*padding: 0 20px 0 0;*/
    margin-bottom: 20px;
}

#gi-products_grid .div_btn_var, #gi-products_grid .div_btn_add {
    bottom: 0;
}

/*
    Profilo
*/
#gi-profile form .row:not(:first-of-type) {
    margin-top: 40px;
}

#gi-profile form .row p {
    margin: 0;
    font-weight: bold;
}

#gi-profile .gi-address_default .card {
    background-color: #eeeeee;
}

#gi-profile h6 {
    text-transform: uppercase;
}

/*
    Cart
*/
#gi-cart table {
    font-size: 14px;
}

#gi-cart th, #gi-cart td {
    padding: 5px 15px;
}

#gi-cart td.gi-cart_img {
    max-width: 60px;
    padding: 0;
}

#gi-cart td.gi-cart_qty input {
    text-align: center;
}

#gi-cart td.gi-cart_qty {
    max-width: 40px;
    text-align: center;
}

#gi-cart .gi-cart_price {
    text-align: right;
}

#gi-cart td.gi-cart_price.totale {
    font-weight: bold;
}

#gi-cart td.gi-cart_delete {
    max-width: 20px;
    text-align: center;
}

#gi-cart td.gi-cart_delete {
    color: #9d0011;
}

#gi-cart tr.gi-cart_total td {
    height: 60px;
    /*vertical-align: bottom;*/
}

#gi-cart table.gi-cart_final_totals {
    font-size: initial;
}

/*
    Background colors
*/
.bg-site_primary, #header_menu {
    background-color: #4b7c91;
    color: #FFFFFF;
}

#header_menu {
    text-align: center;
}

.bg-dark-grey {
    background-color: #4d4d4d;
    color: #FFFFFF;
}

.bg-medium-grey {
    background-color: #7d7d7d;
    color: #FFFFFF;
}

.bg-light-grey {
    background-color: #d7d7d7;
}

section.gi-page_title {
    background-color: #4b7c91;
    color: #FFFFFF;
}

/*
    CARDS
*/
.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating) {
    margin-right: 0;
    text-transform: uppercase;
    color: inherit;
    font-size: smaller;
}

.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):hover {
    color: inherit;
}

.card .card-action a:not(.btn):not(.btn-large):not(.btn-small):not(.btn-large):not(.btn-floating):not(:last-of-type):after {
    content: '|';
    margin: 0 10px;
}

/*
    elementi di pagina
 */
.gi-section_title {
    padding: 10px 0;
    min-width: 100px;
    /*text-align: center;*/
    text-transform: uppercase;
    font-size: 20px;
    letter-spacing: 2px;
    display: block;
    margin-bottom: 20px;
    /*margin-top: 60px;*/
}

.gi-section_title h3 {
    margin: 0;
}

.gi-info h6 {
    font-size: 16px;
}

.mondo-gi-block {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
}

#mondo-gi-danza {
    background-image: url('../images/gi_dancer.png');
}

#mondo-gi-sposa {
    background-image: url('../images/gi_wedding.png');
}

#mondo-gi-sport {
    background-image: url('../images/gi_play.png');
}

[type='radio']:checked + span:after, [type='radio'].with-gap:checked + span:before, [type='radio'].with-gap:checked + span:after {
    border-color: #6b6f82;
}

[type='radio']:checked + span:after, [type='radio'].with-gap:checked + span:after {
    background-color: #4b7c91;
}

.dropdown-content li > a, .dropdown-content li > span {
    color: #4b7c91;
}

/*
    TABS
*/


.tabs .indicator {
    position: absolute;
    bottom: 0;
    height: 2px;
    background-color: #4b7c91;
    will-change: left, right;
}

.tabs .tab a:hover, .tabs .tab a.active {
    color: initial;
    opacity: 1;
}

.tabs .tab a {
    font-size: initial;
    color: initial;
    opacity: .7;
    -webkit-transition: opacity .28s ease, background-color .28s ease;
    transition: opacity .28s ease, background-color .28s ease;
    padding: 0 15px !important;
}

.tabs .indicator {
    background-color: var(--gi_secondary_color_hover) !important;
}

.tabs .tab a:focus, .tabs .tab a.active {
    outline: none;
    background-color: var(--gi_main_color_light_hover) !important;
}


/*
    COLLAPSE
*/
.collapsible li .prod-close {
    display: block;
}

.collapsible li.active .prod-close {
    display: none;
}

.collapsible li.active .prod-opened {
    display: block;
}

.collapsible li .prod-opened {
    display: none;
}

#ordini .collapsible-body li {
    display: inline-block;
    margin-right: 20px;
}

#ordini .collapsible-body li img {
    max-width: 60px;
}

#ordini .collapsible-body .row:not(:first-of-type) {
    border-top: 1px solid #eeeeee;
}

/*
    CAROUSEL
*/

.owl-carousel .prod-price-pnl {
    padding-bottom: 10px;
}

.owl-dots {
    text-align: center;
    padding-top: 10px;
}

.owl-dot span {
    display: block;
    width: 12px;
    height: 12px;
    margin: 6px 7px;
    border-radius: 100%;
    border: solid 1px var(--gi_secondary_color);
    background-color: var(--gi_secondary_color);
}

.owl-dot.active span {
    background-color: #FFFFFF;
}

.bg-light .owl-dot span {
    border: solid 1px #4b7c91;
}

.bg-light .owl-dot.active span {
    background-color: #4b7c91;
}

.owl-nav {
    position: absolute;
}

.owl-nav .owl-prev > span, .owl-nav .owl-next > span {
    display: none;
}

.owl-nav .owl-next:before {
    content: url(../../common/Linearicons-v1.0.0/SVG/chevron-right.svg);
    position: relative;
    top: 2px !important;
    /*left: 6px;*/
}

.owl-nav .owl-prev:before {
    content: url(../../common/Linearicons-v1.0.0/SVG/chevron-left.svg);
    position: relative !important;
    top: 2px !important;
    /*right: 6px;*/
}

.owl-nav .owl-prev:hover, .owl-nav .owl-next:hover {
    opacity: .8;
}

.owl-nav {
    top: calc(50% - 40px);
    bottom: auto;
    width: 100%;
    height: 40px;
    left: auto !important;
    z-index: -1;
}

.owl-nav .owl-prev, .owl-nav .owl-next {
    width: 30px !important;
    height: 30px !important;
    position: absolute;
    background-color: #d7d7d7 !important;
    border-radius: 100%;
    -webkit-transition: all 0.4s ease-in;
    -moz-transition: all 0.4s ease-in;
    -o-transition: all 0.4s ease-in;
}

.img_hp_slider {
    height: 200px;
    width: 100%;
}

#gi-hp_slider .item {
    height: auto;
    overflow: hidden;
}

#gi-hp_slider .item img {
    /*max-height: 180px;*/
    width: 100%;
}

#gi-hp_slider .slider_video img {
    width: 100% !important;
}

#gi-hp_slider .slider_video {
    position: relative;
    cursor: pointer;
}

#gi-hp_slider .slider_video span {
    position: absolute;
    z-index: 10;
    left: calc(50% - 40px);
    top: calc(50% - 40px);
    font-size: 80px;
    color: var(--gi_secondary_color);
}

#gi-hp_slider .owl-nav .owl-prev {
    left: 20px;
}

/*.dida_wrapper {*/
/*    display: flex;*/
/*    align-items: center;*/
/*    background-color: #afc0c7;*/
/*    height: 100%;*/
/*}*/

.dida_wrapper h4 {
    font-size: 1.7rem;
    margin-top: 0px;
    margin-bottom: 0px;
}

.dida_wrapper h5 {
    margin-top: 0px;
    font-weight: 100;
}

#gi-hp_slider .item .dida {
    z-index: 1000;
    bottom: 0;
    right: 0;
    height: fit-content;
    /*background-color: #afc0c7;*/
    text-align: center;
    padding: 4px 10px;
}

#gi-hp_slider .owl-nav .owl-next {
    right: 20px;
}

.gi-slider_nav {
    text-align: center;
    min-height: 50px;
}

.gi-slider_nav .col {
    padding: 0 5px;
}

.gi-slider_nav .gi-btn {
    /*display: inline-block;*/
    /*height: 100%;*/
    /*width: calc((100vw / 6) - 7px);*/
    font-size: 12px;
    text-transform: none;
    height: 40px;
    vertical-align: middle;
    display: table-cell;
    width: 1%;
}

.gi-slider_nav .gi-btn.active {
    background-color: #e5dadc !important;
}

#gi-product_page .gi-slider_nav .gi-btn {
    height: 60px;
    vertical-align: middle;
    display: table-cell;
    padding: 5px;
}

.gi-products_slider .prod_name a:hover, #gi-products_grid .prod_name a:hover {
    background-color: var(--gi_main_color_light);
}

.gi-products_slider .item, #gi-products_grid .gi-prod_grid_item {
    background-color: #FFFFFF;
    padding: 10px 10px 0;
    text-align: center;
    position: relative;
}

.gi-products_slider .item a.gi-prod_zoom, #gi-products_grid .gi-prod_grid_item a.gi-prod_zoom {
    position: absolute;
    left: 10px;
    top: 10px;
}

.gi-products_slider .item a.gi-preferiti, #gi-products_grid .gi-prod_grid_item a.gi-preferiti {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 999;
}

.gi-products_slider .item a.gi-preferiti i,
.gi-products_slider .item button.gi-preferiti i,
#gi-products_grid .gi-prod_grid_item a.gi-preferiti i,
#gi-products_grid .gi-prod_grid_item button.gi-preferiti i {
    color: var(--gi_new_color);
    margin-top: 5px;
    font-size: 18px;
}

.gi-add_to_cart {
    letter-spacing: 1px !important;
}

.gi-products_slider .item .gi-in_cart, #gi-products_grid .gi-prod_grid_item .gi-in_cart {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 999;
}

.gi-products_slider .item .gi-in_cart img, #gi-products_grid .gi-prod_grid_item .gi-in_cart img {
    width: 20px !important;
}

.gi-products_slider .item p, .gi-products_slider .item a.gi-btn, .gi-products_slider .item button, #gi-products_grid .gi-prod_grid_item {
    font-size: 12px;
}

#gi-products_grid .gi-prod_grid_item {
    border: 1px solid #ddd;
}

.gi-products_slider .item .prod-copie, #gi-products_grid .gi-prod_grid_item .prod-copie {
    border: 1px solid var(--gi_main_color_light) !important;
    min-height: 40px;
    font-size: 12px;
    box-sizing: border-box;
    background-color: #ffffff !important;
}

/*.gi-products_slider .item button, #gi-products_grid .gi-prod_grid_item button *!*/
/*{*/
/*float: none !important;*/
/*}*/

.gi-products_slider .item .prod_code, #gi-products_grid .gi-prod_grid_item .prod_code {
    font-size: 14px;
}

.gi-products_slider .item .prod_conf, #gi-products_grid .gi-prod_grid_item .prod_conf {
    margin-bottom: 0;
    font-size: 12px;
}

.gi-products_slider .item .prod_conf input.select-dropdown, #gi-products_grid .gi-prod_grid_item .prod_conf input.select-dropdown {
    height: 2rem !important;
}

.gi-products_slider .item .prod_conf .select-wrapper .caret {
    right: -14px !important;
}

.gi-products_slider .item .prod_conf.hidden .select-wrapper, #gi-products_grid .gi-prod_grid_item .prod_conf.hidden .select-wrapper {
    opacity: 0 !important;
}

.gi-products_slider .item .prod_conf input, #gi-products_grid .gi-prod_grid_item .prod_conf input {
    font-size: 14px !important;
    text-align: center;
}

.gi-products_slider .item .prod_conf ul, #gi-products_grid .gi-prod_grid_item .prod_conf ul {
    max-height: 160px !important;
}

.gi-products_slider .item .prod_conf .dropdown-content li, #gi-products_grid .gi-prod_grid_item .prod_conf .dropdown-content li {
    min-height: 24px !important;
}

.gi-products_slider .item .prod_conf .dropdown-content li > span, #gi-products_grid .gi-prod_grid_item .prod_conf .dropdown-content li > span {
    font-size: 14px !important;
    line-height: 24px !important;
    padding: 0 6px !important;
}


.gi-products_slider .item .prod_name, #gi-products_grid .gi-prod_grid_item .prod_name {
    text-transform: uppercase;
    font-weight: bold;
    min-height: 40px;
    padding: 0px 10px;
    max-height: 40px;
    overflow: hidden;
}

.gi-products_slider .item .img-thumb, #gi-products_grid .gi-prod_grid_item .img-thumb {
    height: auto;
    position: relative;
    overflow: hidden;
    max-height: 258px;
}

#gi-products_grid .gi-prod_grid_item .img-thumb {
    max-height: 173px !important;
}

img.responsive-img {
    transition: all .3s;
}

.img-thumb:hover img {
    /*scale: 130%;*/
    transform: scale(1.3);
}

.img-thumb:after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    transition: all .3s;
    opacity: 0;
    color: #fff;
    background-color: var(--gi_main_color_hover);
    border-radius: 0 0 25px 0;
}

.img-thumb:hover:after {
    content: '\e8ff';
    top: 0;
    left: 0;
    width: 50px;
    height: 50px;
    opacity: .9;
    font-size: 36px;
    font-family: 'Material Icons';
    /*padding-top: 20%;*/
}


.gi-products_slider .item .tag_promo, #gi-products_grid .gi-prod_grid_item .tag_promo {
    position: absolute;
    right: 0;
    top: 10%;
    background-color: var(--gi_promo_color);
    padding: 4px 10px;
    font-size: 12px;
    font-weight: bold;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    z-index: 10;
}

.gi-products_slider .item .tag_novita, #gi-products_grid .gi-prod_grid_item .tag_novita {
    position: absolute;
    right: 0;
    background-color: var(--gi_new_color);
    padding: 4px 10px;
    font-size: 12px;
    font-weight: bold;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    z-index: 10;
    color: white;
}

.prod-price-pnl {
    min-height: 115px;
}

.prod-price-pnl .prod-copie {
    text-align: center;
    background-color: var(--gi_main_color_light) !important;
    height: 2rem !important;
    border-bottom: none !important;
}

.prod-price-pnl .prod-copie:focus {
    border-bottom: none !important;
}

.prod-price-pnl .prod-no-disp {
    /*line-height: 137px;*/
    padding-top: 20px;
}

.gi-products_slider .owl-item img {
    display: initial !important;
    /*width: 80% !important;*/
    width: auto !important;
}

.gi-products_slider .owl-nav .owl-prev {
    left: -35px;
}

.gi-products_slider .owl-nav .owl-next {
    right: -35px;
}

/*
    Scheda prodotto
*/
.prod_description {
    padding: 1em;
    border-left: 3px solid var(--gi_main_color);
    background-color: var(--gi_main_color_light);
}

.prod_description p {
    margin-block-start: 0;
}

/*
    Footer
*/
footer {
    padding: 0 !important;
}

#footer_newsletter {
    color: #FFFFFF;
}

#footer_newsletter h4 {
    color: #FFFFFF;
    text-transform: uppercase;
    font-weight: 100;
}

#footer_newsletter nav {
    line-height: 56px;
    width: 100%;
    height: 56px;
    background-color: #ffffff;
}

.gi-footer_menu {
    margin-bottom: 1rem;
    break-inside: avoid;
    padding-bottom: 1rem;
    background-color: rgba(255, 255, 255, 0.3);
}

/*.gi-footer_menu ul {*/
/*    padding: 15px;*/
/*    !*background-color: #ffffff2e;*!*/
/*    height: 100%;*/
/*    margin-top: 0;*/
/*}*/

.gi-footer_menu a {
    color: inherit;
}

.gi-footer_menu .gi-footer_cat_title {
    font-size: 16px;
    text-transform: uppercase;
    padding: 5px 20px;
    margin-bottom: 10px;
    font-weight: 500;
    background-color: var(--gi_main_color_light_hover);
}

#footer_bottom, #footer_bottom a {
    color: #FFFFFF;
}

#footer_bottom ul li, #footer_bottom p {
    margin-bottom: 4px;
    margin-top: 0;
}

#footer_bottom ul {
    margin-block-start: 0;
}


/*
    padding - margin x y classes
*/
.px-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.py-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.px-1 {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.py-1 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.px-2 {
    padding-left: 2rem !important;
    padding-right: 2rem !important;
}

.py-2 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

.px-3 {
    padding-left: 3rem !important;
    padding-right: 3rem !important;
}

.py-3 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}

.mx-0 {
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.my-0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.mx-1 {
    margin-left: 1rem !important;
    margin-right: 1rem !important;
}

.my-1 {
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
}

.mx-2 {
    margin-left: 2rem !important;
    margin-right: 2rem !important;
}

.my-2 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}

.mx-3 {
    margin-left: 3rem !important;
    margin-right: 3rem !important;
}

.my-3 {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
}


/*
    form elements
*/

::placeholder {
    color: #999;
}

.input-field {
    padding: 0 15px !important;
}

input:focus {
    border-bottom: 1px solid #4b7c91 !important;
    box-shadow: 0 1px 0 0 #4b7c91 !important;
}

label {
    font-size: initial;
    color: inherit;
}

[type='checkbox'] + span:not(.lever):before, [type='checkbox']:not(.filled-in) + span:not(.lever):after {
    border: 2px solid #4b7c91;
}

[type='checkbox']:checked + span:not(.lever):before {
    border-right: 2px solid #4b7c91;
    border-bottom: 2px solid #4b7c91;
}

/*input[type=text], input[type=email], input[type=tel]{*/
/*    background-color: #FFFFFF !important;*/
/*    padding: 0 15px !important;*/
/*}*/
/*input:focus{*/
/*    border-bottom: 1px solid #7d7d7d !important;*/
/*    box-shadow: 0 1px 0 0 #7d7d7d !important;*/
/*}*/
/*#header_search input{*/
/*    margin: 0;*/
/*    border: none;*/
/*    background-image: url(../../common/Linearicons-v1.0.0/SVG/magnifier.svg);*/
/*    background-position: right 15px center;*/
/*    background-repeat: no-repeat;*/
/*}*/


#login_error_msg, #register_error_msg, #contatti_form_msg, #profile_error_msg {
    width: 100%;
    text-align: center;
    float: left;
    margin: 10px 0 25px;
    color: red;
    font-weight: bold;
}

.modal-address_edit,
.modal-address_new {
    width: 85%;
    max-height: none;
}

.modal-address_edit .modal-footer .row,
.modal-address_new .modal-footer .row {
    margin: 0;
}

.modal-address_edit h5,
.modal-address_new h5 {
    margin-bottom: 0;
}

.modal-address_edit .modal-content,
.modal-address_new .modal-content {
    width: auto;
}

.modal-address_edit .modal-footer a,
.modal-address_new .modal-footer a {
    margin: 0 !important;
    padding: 0 !important;
}

.modal-address_edit .modal-footer .shipping_address_save_btn,
.modal-address_new .modal-footer .shipping_address_save_btn {
    font-weight: bold;
}

.modal-address_edit .modal-footer a.btn,
.modal-address_new .modal-footer a.btn {
    padding: 0 15px !important;
}

#modal_video.modal {
    max-height: 80% !important;
    background-color: rgba(0, 0, 0, .8);
}

.cart-btn-error {
    color: red;
    font-size: 16px;
    font-weight: bold;
}

.cart-rows-table,
.cart-summary,
.checkout-summary,
.coupon-pnl {
    position: relative;
}

.readonly-pnl {
    position: absolute;
    width: 100%;
    height: 60%;
    z-index: 9;
    background-color: rgb(255, 255, 255, 0.7);
}

.cart-rows-table .readonly-pnl,
.cart-summary .readonly-pnl {
    text-align: center;
    /*top: calc(50% - 60px);*/
    top: 0px;
    height: 100%;
}

.coupon-pnl .readonly-pnl {
    top: calc(50%);
    margin-left: 30%;
}

.checkout-summary .readonly-pnl {
    text-align: center;
    top: calc(50% - 60px);
}

tr:last-child {
    border: none;
}

#gi-checkout h6 {
    font-weight: bold;
}

.coupon_error {
    color: red;
    font-size: 15px;
    font-weight: bold;
}

.readonly-over {
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 9999;
}

.empty-cart-msg {
    font-size: 25px;
    width: 100%;
    margin: 70px 0;
    display: block;
    text-align: center;
    font-weight: bold;
}

#account_form_msg,
#billing_form_msg {
    color: red;
    font-size: 15px;
    font-weight: bold;
}

.gi-cart_qty.cart_qta_error {
    border: 2px solid red;
}

.swal-title {
    font-size: 17px !important;
}

.swal-footer {
    text-align: center;
}

.prod-out-of-stock {
    font-weight: bold;
    font-size: 20px;
    color: red;
}

.dropdown-content {
    overflow-y: visible;
}

.dropdown-content li > a, .dropdown-content li > span {
    padding: 5px 15px;
}

.dropdown-content li {
    min-height: 32px;
}

.gi-submenu {
    background: var(--gi_main_color_light_hover);
    /*margin-top:10px; */
    border-bottom: 2px solid var(--gi_main_color);
    padding: 10px 0;
    position: absolute;
    top: 0;
    left: 100%;
    width: 80%;
    z-index: 10;
}

.prod-no-disp {
    color: red;
    font-weight: bold;
}

#registration_sent_msg {
    width: 100%;
    text-align: center;
    float: left;
    font-weight: bold;
    margin-top: 40px;
}

.loader {
    position: absolute;
    top: 0;
    background-color: rgba(0, 0, 0, 0.3);
    padding: calc(19vh) calc(50% - 10px);
    z-index: 20;
    width: 100%;
    height: 100%;
    text-align: center;
}

label.search-icons {
    width: auto !important;
}

.initial-price {
    font-size: 10px;
    text-decoration: line-through;
}

#gi-product_page .initial-price {
    font-size: 18px;
    text-decoration: line-through;
    color: #b1b1b1;
}

#gi-product_page .single-price {
    font-size: 18px;
    color: #b1b1b1;
}

#gi-product_page .single-price .initial-single-price {
    font-size: 14px;
    margin-left: 10px;
}


.dataTables_wrapper #page-length-option_paginate .paginate_button.current,
.dataTables_wrapper #page-length-option_paginate .paginate_button.current:hover,
.dataTables_wrapper #page-length-option_paginate .paginate_button:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    box-shadow: none !important;
    color: black !important;
    /*border: none !important;*/
    border-radius: 0px !important;
    background: none !important;
}

.orderRowDetail img {
    max-width: 50px;
}

.orderRowDetail .col {
    line-height: 50px;
}

.orderRowHeader .col {
    line-height: 35px;
    background-color: gainsboro;
}

/*.orderRowDetail .col .gi-btn {*/
/*    height: 30px !important;*/
/*    padding: 0 10px;*/
/*    line-height: 30px !important;*/
/*    margin-bottom: 5px;*/
/*    width: 100%;*/
/*}*/

.profile-gi-btn.gi-btn {
    height: 30px !important;
    padding: 0 10px;
    line-height: 30px !important;
    margin-bottom: 5px;
    width: 100%;
}

table.dataTable.stripe tbody tr.odd, table.dataTable.display tbody tr.odd {
    background-color: var(--gi_main_color_light);
}

table.dataTable.stripe tbody > tr.odd.selected, table.dataTable.stripe tbody > tr.odd > .selected, table.dataTable.display tbody > tr.odd.selected, table.dataTable.display tbody > tr.odd > .selected {
    background-color: var(--gi_main_color);
}

.dt-control .row_open:before {
    content: '\e145';
    color: var(--gi_secondary_color);
    font-family: 'Material Icons';
    font-size: 24px;
    margin-left: 20px;
}

tr.shown > .dt-control .row_open:before {
    content: '\e15b';
}

table.dataTable tbody > tr.selected, table.dataTable tbody > tr > .selected {
    background-color: #f7f7f7;
    transition: all .3s;
}

table.dataTable.hover tbody > tr.selected:hover, table.dataTable.hover tbody > tr > .selected:hover, table.dataTable.display tbody > tr.selected:hover, table.dataTable.display tbody > tr > .selected:hover {
    background-color: var(--gi_main_color_light_hover);
}


.sf-toolbar {
    display: none !important;
}

.single-price {
    font-size: 12px;
    min-height: 18px;
}

.initial-single-price {
    text-decoration: line-through;
}

/*.subcategory-list {*/
/*    opacity: 1;*/
/*    left: 100%;*/
/*}*/

/*
 POPUP
*/
#PopupModal .img_dx {
    float: right;
    width: 40%;
    padding-left: 20px;
}

#PopupModal .img_sx {
    float: left;
    padding-right: 20px;
    width: 40%;
}

#PopupModal .popup_txt {
    width: 60%;
    float: left;
}

#user_sdi {
    text-transform: uppercase;
}

.pagination li a {
    text-decoration: none !important;
}

.loader_page {
    /*position: fixed;*/
    width: 100%;
    height: 100%;
    z-index: 2001;
    /*background-color: rgba(0, 0, 0, 0.7);*/
    text-align: center;
    /*color: white;*/
    /*font-size: x-large;*/
    /*top: 70px;*/
}

.loader_page div {
    padding-top: 10%;
}

/*.loader_page span:before {*/
/*    content: 'Caricamento in corso...';*/
/*}*/

.loader_page div img {
    margin-top: 20px;
}

.loader {
    position: absolute;
    top: 0;
    /*left: 15px;*/
    background-color: rgba(0, 0, 0, 0.3);
    padding: 10px calc(50% - 10px);
    z-index: 20;
    width: calc(100% - 12px);
}

/*.pagination {*/
/*    text-align: center;*/
/*}*/

.no_product {
    text-align: center;
    margin-top: 10%;
    font-weight: bold;
    font-size: 20px;
}

.gi-promo .no_product {
    margin-top: 20px;
}

.pagination li.active {
    background-color: var(--gi_secondary_color);
}

.select-wrapper .dropdown-content {
    overflow-y: auto;
}

.price_range_msg {
    font-size: 10px;
    /*width: 100%;*/
    display: inline-block;
    text-align: center;
    color: darkblue;
    position: absolute;
    bottom: 50px;
    left: -20px;
    background-color: var(--gi_secondary_color);
    border-radius: 20px 20px 0 20px;
    transform: rotate(20deg);
}

#gi-products_grid .price_range_msg {
    bottom: 60px;
}

#gi-products_grid .price_range_msg img.icn {
    width: 40px !important;
}

.price_range_msg img.icn {
    /*width: 30px !important;*/
    vertical-align: middle;
    transform: rotate(-20deg);
}

.partial_product_price {
    position: relative;
}

.variants_list li {
    display: inline-block;
}

.variants_list li > div {
    display: inline-block;
    max-width: 180px;
    text-align: center;
    font-size: 12px;
    border: 4px solid var(--gi_main_color_light_hover);
    cursor: pointer;
    padding: 10px;
    box-sizing: content-box;
    margin: 5px 5px 0 0;
    transition: all .3s;
}

.variants_list li img {
    width: 100px;
}

/*.variant-list-item div {*/
/*    border: 2px solid gainsboro;*/
/*}*/

.variant-list-item > div.variant-selected {
    border: 4px solid var(--gi_secondary_color);
    position: relative;
    color: var(--gi_secondary_color);
}

.variant-list-item .variant-select {
    /*position: relative;*/
    /*height: 20px;*/
    margin-top: 10px;
}

.variant-list-item .variant-select::after {
    content: '\e836';
    /*position: absolute;*/
    /*top: -5px;*/
    /*left: 0;*/
    color: var(--gi_secondary_color);
    font-family: 'Material Icons';
    font-size: 20px;
}

.variant-list-item > div.variant-selected .variant-select::after {
    content: '\e86c';
}

.variant-list-item .img-thumb:hover::after {
    content: '\e8ff';
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    opacity: .9;
    font-size: 18px;
    font-family: 'Material Icons';
    padding-top: 0;
}

.nome_variante::first-letter {
    text-transform: uppercase;
}

.prod_not_active {
    color: red;
}

.cart_calculate_msg {
    text-align: right;
    font-size: 10px;
    font-weight: bold;
    font-style: italic;
}

.gi-cats_grid_item {
    background-color: #FFFFFF;
    padding: 20px;
    text-align: center;
    position: relative;
}

.cat-img-thumb .cover-image {
    max-height: 150px;
    background-position: center;
    background-size: cover;
}

.marker {
    background-color: #ffff00;
}

.ch-cookie-consent__btn {
    padding: 0 20px !important;
    border-radius: 0 !important;
    letter-spacing: normal !important;
    background-color: var(--gi_succes_color) !important;
    background-image: initial !important;
}

.ch-cookie-consent__btn--secondary {
    background: transparent;
    color: var(--gi_secondary_color) !important;
    border: 1px solid var(--gi_secondary_color) !important;
}

.ch-cookie-consent {
    background-color: rgba(255, 255, 255, .95) !important;
    border: 2px solid var(--gi_secondary_color);
}

.ch-cookie-consent {
    padding: 15px 50px !important;
}

.ch-cookie-consent__btn-wrapper {
    margin-bottom: 0 !important;
}

.ch-cookie-consent__title {
    font-size: 23px !important;
    color: var(--gi_secondary_color) !important;
}

.ch-cookie-consent__form {
    margin-top: 20px !important;
}

.ch-cookie-consent__read-more {
    color: var(--gi_secondary_color) !important;
    font-weight: normal !important;
    font-style: italic !important;
    font-size: 12px !important;
    text-decoration: none !important;
}

.billing_info_container input {
    text-transform: uppercase;
}

.billing_info_container ::-webkit-input-placeholder {
    text-transform: none;
}

.billing_info_container :-moz-placeholder {
    text-transform: none;
}

.billing_info_container ::-moz-placeholder {
    text-transform: none;
}

.billing_info_container :-ms-input-placeholder {
    text-transform: none;
}

.billing_info_container ::placeholder {
    text-transform: none;
}

.error_required {
    border-bottom: 1px solid red !important;
    background-color: khaki !important;
}

@keyframes glowing {
    0% {
        background-color: #f5eb00;
        box-shadow: 0 0 5px #f5eb00;
    }
    50% {
        background-color: #f5eb00;
        box-shadow: 0 0 20px #f5eb00;
    }
    100% {
        background-color: #f5eb00;
        box-shadow: 0 0 5px #edf500;
    }
}

.right-corder-container {
    position: fixed;
    right: 20px;
    bottom: 20px;
    z-index: 99;
    /*animation: glowing 1300ms infinite;*/
}

.right-corder-container .right-corder-container-button {
    height: 62px;
    width: 62px;
    border: none;
    background-color: #f5eb00;
    border-radius: 62px; /*Transform the square into rectangle, sync that value with the width/height*/
    transition: all 300ms; /*Animation to close the button (circle)*/
    box-shadow: 2px 2px 5px rgb(165, 158, 0);
    cursor: pointer;
    animation: glowing 1300ms infinite;
}

.right-corder-container .right-corder-container-button span {
    font-size: 51px;
    color: black;
    position: absolute;
    left: 10px;
    top: 16px;
    line-height: 28px;
}

.right-corder-container .right-corder-container-button:hover {
    transition: all 400ms cubic-bezier(.62, .1, .5, 1);
    width: 200px;
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

/*
    Long text appears slowly with an animation. That code prepare the animation by hidding the text.
    The use of display is not there because it does not work well with CSS3 animation.
*/
.right-corder-container .right-corder-container-button .long-text {
    transition: opacity 1000ms; /*Only the text fadein/fadeout is animated*/
    opacity: 0; /*By default we do not display the text, we want the text to fade in*/
    color: black;
    white-space: nowrap;
    font-size: 0; /*Set to 0 to not have overflow on the right of the browser*/
    width: 0; /*Set to 0 to not have overflow on the right of the browser*/
    margin: 0; /*Set to 0 to not have overflow on the right of the browser*/
}

/*
    Animation to have a text that appear progressively. We need to play with a delay
    on the width and the font-size to not have the browser have the text appears on the right
    side of the browser view port. This has the side-effect of having an horizontal bar.
*/
.right-corder-container .right-corder-container-button .long-text.show-long-text {
    transition: opacity 700ms,
    width 1ms linear 270ms, /*two thirds of the animation on the container width*/ font-size 1ms linear 270ms; /*two thirds of the animation on the container width*/
    opacity: 1;
    margin-top: 2px; /*Center the position vertically*/
    margin-left: 65px; /*Center between the + and the right end side*/
    font-size: 20px; /*Text size, cannot be defined initially without moving the scrollbar*/
    width: auto; /*Required to be set with a delay (see animation) to not have scrollbar. Delay is to wait container to size up*/
}

.headline {
    color: white;
    text-decoration: none;
    font-size: 1.07rem;
    font-weight: bold;
}

.headline a {
    text-decoration: none;
}

.private_pnl {
    text-align: center;
    margin-top: 30px;
}

.private_pnl a {
    display: block;
}

#gi-register_form .private_pnl {
    right: 18%;
}

.private_pnl_top {
    text-align: center;
    font-size: 20px;
    color: white;
    background-color: #7d7d7d;
}

.private_pnl_top img {
    position: absolute;
    margin-left: 10px;
}

.pag-cmp input.select-dropdown.dropdown-trigger, .pag-cmp input.select-dropdown.dropdown-trigger:focus {
    margin-bottom: 0px;
    margin-top: 10px;
    border: none;
    box-shadow: none !important;
    border-bottom: none !important;
}

div.bordered {
    /*background-color: gainsboro;*/
    height: 65px;
    border-top: 1px solid darkgrey;
    border-bottom: 1px solid darkgrey;
}

.bg-light div.bordered {
    /*background-color: gainsboro;*/
    height: 65px;
    border-top: 1px solid white;
    border-bottom: 1px solid white;
}

div.bordered:first-child {
    padding-left: 20px;
}

div.bordered:last-child {
    padding-right: 20px;
}

.dropdown-content.select-dropdown {
    max-height: 200px !important;
}

.dropdown-content.select-dropdown li span {
    font-size: 12px;
    line-height: 20px;
}

.input-field {
    margin-top: 0px !important;
}

.cart_error {
    color: #dc3545;
    font-weight: bold;
    left: 100%;
    width: max-content;
    text-align: center;
    bottom: -1px;
}

.input-field.col label {
    left: 1.75rem !important;
}

.input-field.col label {
    -webkit-transform: translateY(-14px) scale(.8) !important;
    -ms-transform: translateY(-14px) scale(.8) !important;
    transform: translateY(-14px) scale(.8) !important;
    -webkit-transform-origin: 0 0 !important;
    -ms-transform-origin: 0 0 !important;
    transform-origin: 0 0 !important;
}

#gi-login_form h5, #gi-register_form h5 {
    text-align: center;
}

.gi-login_btn, .gi-register_btn {
    line-height: 40px;
    font-weight: bold !important;
    color: var(--gi_secondary_color) !important;
}

.latests_container > .row > .col,
.highlighted_container > .row > .col,
.bestsellers_container > .row > .col {
    padding: 0px 90px;
}

.footer_cats-container {
    font-size: 14px;
}

.footer_cats-container a {
    text-decoration: none;
}

#menu_categorie li,
#menu_tematiche li {
    min-height: 30px;
}


#header_menu nav.vg-nav ul li:not(.main-item) {
    width: 100%;
}

#header_menu nav.vg-nav ul li.main-item ul {
    min-width: 350px;
    background-color: #efefef !important;
}

#header_menu nav.vg-nav ul a:not(.main-item > a) {
    font-size: 14px !important;
}

#header_menu nav.vg-nav ul li:not(.main-item):hover {
    /*background-color: transparent !important;*/
}

#header_menu nav.vg-nav ul li a:not(.main-item > a) {
    color: initial !important;
    text-align: left;
    padding-left: 10px !important;
    line-height: 30px;
}

#header_menu nav.vg-nav > ul > li > a {
    background-color: transparent !important;
}

#header_menu nav.vg-nav .dropdown ul li a {
    padding: 0px !important;
}

#header_menu nav.vg-nav > ul > li {
    padding: 10px 5px !important;
}

#header_menu nav.vg-nav .vg-nav-wrapper {
    display: inline-block;
}

.vg-nav .dropdown ul {
    background: rgba(255, 255, 255, 1) !important;
}