@import url('https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,wght@0,400;0,500;0,700;1,400;1,500&family=Spartan:wght@300;400;500;600;700&display=swap');

:root {
    --nav-height: 90px; /*You HAVE To Give A Default Fallback Value*/
    --font-spartan: 'Spartan', sans-seri;
    --font-bodoni: 'Bodoni Moda', serif;

    --font-spartan-light: 300;
    --font-spartan-regular: 400;
    --font-spartan-medium: 500;
    --font-spartan-semi-bold: 600;
    --font-spartan-bold: 700;

    --font-bodoni-regular: 700;
    --font-bodoni-italic: 700 italic;
    --font-bodoni-italic-bold: bold;

    --color-blue: #054959;
    --color-red: #8C0304;
    --color-grey1: #9BA9BB;
    --color-grey2: #E6E6E6;
    --color-grey3: #666767;
    --color-section-bg: #F5E5DB;
    --color-categories: #818080;
    --color-pink: #D9B39B;
    --color-black: #000000;
    --color-en: #5c5c5c;
}
a, button, input[type=submit] {
    -webkit-transition: all .3s;
    -khtml-transition: all .3s;
    -moz-transition: all .3s;
    -ms-transition: all .3s;
    -o-transition: all .3s;
    transition: all .3s;
}

#content{
    /* height: calc(100vh - var(--nav-height)*2);
    clear: both; */
    margin-top:var(--nav-height);
}

#top-bar {
    background-color: #004e78;
    color: #fff !important;
    font-size: 12px;
    padding-top: 10px;
    padding-bottom: 15px;
}
#top-bar nav a {
    color: #fff !important;
    font-weight: bold;
}

#top-bar nav .dropdown-menu a{
    color:#333 !important;
}

#top-bar nav a:hover {
    color: #00a0e3 !important;
    text-decoration: underline;
}

#top-bar .dropdown-menu {
    border-left: 3px solid #337ab7;
}

.sidebar .widget-title {
    color: #4c4c4c;
    background: transparent;
    border-bottom-style: none;
    border-left-style: solid;
}

.line_through_price{
    text-decoration: line-through;
}

.products .price{
    padding:0px 12px 0 0;
}

.block{
    display: block;
    clear: both;
}

.sticky {
  position: fixed!important;
  top: 0;
  z-index:999;
  background: #ffffff;
  display:block;
  width: 100%;
}

.shop_table{
    width: 100%;
}

.quantity .form-control {
    width: 50px;
    text-align: center;
    display: inline-block;
    margin: 0 -5px;
    font-weight: bold;
    padding-left: 0px;
    padding-right: 0px;
}

.decrease-qty{
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px;
}

.increase-qty{
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px;
}

.cart_item.odd:not(.cart_item_deleted),
.cart_item_note.odd:not(.cart_item_deleted),
.cart_item.odd:not(.cart_item_deleted) > td,
.cart_item_note.odd:not(.cart_item_deleted) > td {
    /* background-color: #f9f9f9!important; */
    background-color: #ffffff!important;
}
.cart_item.even:not(.cart_item_deleted),
.cart_item_note.even:not(.cart_item_deleted),
.cart_item.even:not(.cart_item_deleted) > td,
.cart_item_note.even:not(.cart_item_deleted) > td {
    /* background-color: #e8e8e8!important; */
    background-color: #ffffff!important;
}

.cart_item_note > td{
    text-align: left!important;
    font-weight: bold;
    border-bottom: 1px solid #cccccc;
}

.cart_item_deleted,.cart_item_deleted > td{
    background-color: rgb(240 86 86 / 7%)!important;
}

.vertical_center {
    text-align: center;
    position: absolute;
    bottom: 50%;
    left: 50%;
    transform: translate(-50%, 50%);
    align-items: center;
}

#jPanelMenu-menu {
    border-left-width: 1px;
    border-right-width: 0px;
    border-right-style: solid;
    border-left-style: solid;
}

.single-product .summary .price > * {
    float: left;
    line-height: 40px !important;
}

.single-product .summary .price {
    font-size: 40px;
    display: inline-block;
    overflow: hidden;
}


.fs_light{
    font-family: var(--font-spartan)!important;
    font-weight: var(--font-spartan-light)!important;
}
.fs_regular{
  font-family: var(--font-spartan)!important;
  font-weight: var(--font-spartan-regular)!important;
}
.fs_medium{
  font-family: var(--font-spartan)!important;
  font-weight: var(--font-spartan-medium)!important;
}
.fs_s_bold{
  font-family: var(--font-spartan)!important;
  font-weight: var(--font-spartan-semi-bold)!important;
}
.fs_bold{
  font-family: var(--font-spartan)!important;
  font-weight: var(--font-spartan-bold)!important;
}

.fb_regular{
    font-family: var(--font-bodoni)!important;
    font-weight: var(--font-bodoni-regular)!important;
}
.fb_italic{
  font-family: var(--font-bodoni)!important;
  /* font-weight: var(--font-bodoni-italic)!important; */
  font-weight: var(--font-bodoni-italic-bold)!important;
  font-style: italic;
}

.color_blue{
    color: var(--color-blue) !important;
}
.color_red{
    color: var(--color-red) !important;
}
.color_grey1{
    color: var(--color-grey1) !important;
}
.color_grey2{
    color: var(--color-grey2) !important;
}
.color_grey3{
    color: var(--color-grey3) !important;
}
.color_black{
    color: var(--color-black) !important;
}
.color_en{
    color: var(--color-en) !important;
}
.color_white{
    color: #ffffff !important;
}
.color_pink{
    color: var(--color-pink) !important;
}
.color_bg_red{
    color: var(--color-section-bg) !important;
}
.color_categories{
    color: var(--color-categories) !important;
}
.section-bg-red{
    background-color: var(--color-section-bg) !important;
}
.section-bg-blue{
    background-color: var(--color-blue) !important;
}

.display_inline{
    display: inline;
}
.display_inline_block{
    display: inline-block;
}
.display_block{
    display: block;
}
.no_space{
    white-space: nowrap;
}
.btn_red{
    background-color: #8C0304!important;
    color: #ffffff!important;
    padding: 10px 70px;
    white-space: nowrap;
    border:0;
}
.btn_red:hover,.btn_red:focus{
    background-color: #8c0303bf!important;
    color:#ffffff!important;
}

/* font default per il menu su device desktop */
.nav > li > a {
    font-size: 1.2em;
}

/* link hover per il menu */
a, a:hover, a:active, a:focus, .nav > li > a:hover, .nav > li > a:active, .nav .open > a, .nav .open > a:hover, .nav .open > a:focus, #top-bar, .products .price, #footer a:hover, .free-shipping i, .page-title, table h3, table.totals td, h3.position span, .staff .social-profiles a:hover i, #product-thumb .owl-buttons > div,#product-large .owl-buttons > div, h1, h2, h3, h4, h5, h6, .nav-tabs > li > a, .nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus, .btn-invert, .mi-slider nav a:hover, .mi-slider nav a.mi-selected {
    color: #064a57bd;
}

/* cambio size logo a seconda del break-point */
.navbar-brand .logo{
    max-height: 80px;
}
@media (max-width: 768px){
    .navbar-brand .logo {
        max-height: 50px;
    }
    #content{
        margin-top:30px;
    }
}

/* centro gli elementi verticalemente e orizzontalemnte (il contenitore deve avere position:relative */
.vh_center{
    text-align: center;
    position: absolute;
    bottom: 50%;
    left: 50%;
    transform: translate(-50%, 50%);
    align-items: center;
}

/* elementi con bordo bottom con width al 30% */
.half_button_border{
    position: relative;
    display: inline-block;
    margin-bottom:30px;
}
.half_button_border:after{
    content: '';
    display: block;
    position: absolute;
    bottom: -30px;
    width: 30%;
    left: 35%;
    border-top: 3px solid var(--color-red) !important;
}

#content {
    padding: 20px 0 0 0;
}

#footer{
    padding-top:60px;
}

/* colonne bootstrap di uguale altezza (da applicare alla row) */
.h_equal_cols{
    display:flex;
    display: -webkit-flex;
    flex-wrap: wrap;
}

/* hover sugli elementi */
.products .product:hover, .products .add-to-cart {
    background:transparent!important;
}

.products .product:hover, .products .product:hover .title a, .products .product:hover .price, .sidebar .widget-title {
    color:inherit;
}

/* paginazione */
.pagination_container{
    margin-bottom: 50px;
}

.pagination_container a{
    margin:0 10px;
    font-size: 13px;
    color:#D0D3CC;
    font-family: var(--font-spartan)!important;
    font-weight: var(--font-spartan-regular)!important;
}

.pagination_container .pagination_active,
.pagination_container .pagination_separator{
    margin:0 10px;
    font-size: 13px;
    color:#000000;
    font-family: var(--font-spartan)!important;
    font-weight: var(--font-spartan-regular)!important;
}

.pagination_container .pagination_prev a,
.pagination_container .pagination_next a{
    color:var(--color-blue);
    font-size: 60px;
    position:absolute;
    left:0px;
}

.pagination_container .pagination_prev,
.pagination_container .pagination_next{
    display:inline-block;
    position:relative;
    min-width: 50px;
    min-height: 50px;
    top: -10px;
}

.input-lg:not(select) {
    height: 40px;
    font-size: 0.8em;
}

select.input-lg {
    height: 40px !important;
    font-size: 1em;
}

.form-control:focus {
    border-color: var(--color-blue);
    outline: 0;
    -webkit-box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%), 0 0 8px #054959b0;
    box-shadow: inset 0 1px 1px rgb(0 0 0 / 8%), 0 0 8px #054959b0;
}

.shop_table th{
    border-left:0px !important;
    border-right:0px !important;
}

table.totals,
#product-thumb .owl-buttons > div,
#product-large .owl-buttons > div,
#copyright,
.sidebar .widget-title,
#jPanelMenu-menu,
#main-nav .navbar-toggle,
.mi-slider nav {
    border-color: var(--color-blue) !important;
}

#main-nav .icon-bar, .widget_product_price .ui-slider-range, .widget_product_price .ui-slider-handle {
    background: var(--color-blue) !important;
}


/* The overlay effect with black background */
.overlay {
  height: 100%;
  width: 100%;
  display: none;
  position: fixed;
  z-index: 9999;
  top: 0;
  left: 0;
  background-color: var(--color-blue);
  /* background-color: rgb(0,0,0); */
 /*  background-color: rgba(0,0,0, 0.9); */ /* Black with a little bit see-through */
}

/* The content */
.overlay-content {
  position: relative;
  top: 46%;
  width: 80%;
  text-align: center;
  margin-top: 30px;
  margin: auto;
}

/* Close button */
.overlay .closebtn {
  position: absolute;
  top: 20px;
  right: 45px;
  font-size: 60px;
  cursor: pointer;
  color: white;
}

.overlay .closebtn:hover {
  color: #ccc;
}

/* text responsive align */
@media (max-width: 767px) {
    .text-xs-left { text-align: left; }
    .text-xs-right { text-align: right; }
    .text-xs-center { text-align: center; }
    .text-xs-justify { text-align: justify; }

    .pull-xs-left { text-align: left; }
    .pull-xs-right { text-align: right; }
    .pull-xs-center { text-align: center; }
    .pull-xs-justify { text-align: justify; }
}

@media (min-width: 768px) and (max-width: 991px) {
    .text-sm-left { text-align: left; }
    .text-sm-right { text-align: right; }
    .text-sm-center { text-align: center; }
    .text-sm-justify { text-align: justify; }

    .pull-sm-left { float: left; }
    .pull-sm-right { float: right; }
    .pull-sm-not { float: none; }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .text-md-left { text-align: left; }
    .text-md-right { text-align: right; }
    .text-md-center { text-align: center; }
    .text-md-justify { text-align: justify; }

    .pull-md-left { float: left; }
    .pull-md-right { float: right; }
    .pull-md-not { float: none; }
}
@media (min-width: 1200px) {
    .text-lg-left { text-align: left; }
    .text-lg-right { text-align: right; }
    .text-lg-center { text-align: center; }
    .text-lg-justify { text-align: justify; }

    .pull-lg-left { float: left; }
    .pull-lg-right { float: right; }
    .pull-lg-not { float: none; }
}

/* Style the search field */
.overlay input[type=text] {
  padding: 15px;
  font-size: 17px;
  border: none;
  float: left;
  width: 95%;
  color:#ffffff;
  background: transparent !important;
  border-bottom: 1px solid #ffffff;
}

.overlay input[type=text]::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #989898;
  opacity: 1; /* Firefox */
}

.overlay input[type=text]:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #989898;
}

.overlay input[type=text]::-ms-input-placeholder { /* Microsoft Edge */
  color: #989898;
}

.overlay input[type=text]:focus {
  border: none;
  background: transparent !important;
  border-bottom: 1px solid #ffffff;
  outline:0px;
}

.overlay input[type=text]:focus-visible {
  border: none;
  background: transparent !important;
  border-bottom: 1px solid #ffffff;
  outline:0px;
}

.overlay input[type=text]:hover {
  background: transparent !important;
  border: none;
  border-bottom: 1px solid #ffffff;
}

/* Style the submit button */
.overlay button {
  float: left;
  width: 5%;
  padding: 15px;
  background: transparent !important;
  font-size: 17px;
  border: none;
  cursor: pointer;
  border-bottom: 1px solid #ffffff;
}

.overlay button:hover {
  background: transparent !important;
}

.link_img_zoom{
   transition: all 1s ease;
  -moz-transition: all 1s ease;
  -ms-transition: all 1s ease;
  -webkit-transition: all 1s ease;
  -o-transition: all 1s ease;
  background-size: 100%;
  background-position: center;
}

.link_img_zoom:hover {
  background-size: 120%;
}

.navbar-nav > li > a{
    color: var(--color-blue);
}

/* #product-large .owl-buttons > div {
    width: 38px;
    height: 38px;
    border-width: 1px;
    border-style: solid;
    border-radius: 0;
    line-height: 35px;
    text-align: center;
    margin: 0;
    opacity: 1;
    background: #fff;
    font-size: 28px;
    z-index: 3;
    position: absolute;
    bottom: 22px;
} */
#product-large .owl-buttons > div {
  width: 38px;
  height: 38px;
  border-width: 1px;
  border-style: solid;
  border-radius: 50px;
  line-height: 35px;
  text-align: center;
  margin: 0;
  opacity: 1;
  background: transparent;
  font-size: 28px;
  z-index: 3;
  position: absolute;
  bottom: 5px;
}
#product-large .owl-prev {
  left: 35%;
  padding-right: 2px;
}
#product-large .owl-next {
  right: 35%;
  padding-left: 2px;
}
#product-large .owl-controls {
  bottom: 0% !important;
}