.responsive body
{
   min-width: 240px;
}
  
.responsive img 
{
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}  
  
.responsive .art-content-layout img,
.responsive .art-content-layout video
{
   max-width: 100%;
   height: auto !important;
}

.responsive.responsive-phone .art-content-layout img 
{
   /*margin: 1%;*/
}

.responsive.responsive-phone .art-collage,
.responsive.responsive-tablet .art-collage {
   margin: 0 !important;
}

.responsive .art-content-layout .art-sidebar0, 
.responsive .art-content-layout .art-sidebar1, 
.responsive .art-content-layout .art-sidebar2 
{
   width: auto !important;
}
    
.responsive .art-content-layout, 
.responsive .art-content-layout-row, 
.responsive .art-layout-cell 
{
   display: block;
}

.responsive .art-content-layout, 
.responsive .art-content-layout-row
{
   padding: 0;
}
    
.responsive .image-caption-wrapper 
{
   width: auto;
}

.responsive.responsive-tablet .art-vmenublock,
.responsive.responsive-tablet .art-block
{
   margin-left: 1%;
   margin-right: 1%;
   width: 48%;
   float: left;
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}

.responsive .art-responsive-embed 
{
   height: 0;
   padding-bottom: 56.25%;
   /* 16:9 */
    position: relative;
}

.responsive .art-responsive-embed iframe,
.responsive .art-responsive-embed object,
.responsive .art-responsive-embed embed
{
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%;
}

/* dynamic width nav */
.responsive nav.art-nav,
.responsive .art-nav-inner
{
   width: auto !important;
   position: relative !important;
   top: auto !important;
   left: auto !important;
   right: auto !important;
   bottom: auto !important;
   margin-top: 0;
   margin-bottom: 0;
   min-width: 0;
   text-align: right !important;
}

.responsive nav.art-nav
{
   min-width: 1%;
}

.responsive .art-nav 
{
   padding-left: 0;
   padding-right: 0;
}

/* full width hmenu, instead of inline-block */
.responsive .art-nav ul.art-hmenu 
{
   float: none;
   text-align: center;
   display: none;
}

/* elements on different lines */
.responsive .art-nav ul.art-hmenu li,
.responsive .art-hmenu-extra1,
.responsive .art-hmenu-extra2
{
   float: none;
}
  
/* horizontal margins */
.responsive .art-nav ul.art-hmenu>li:first-child, 
.responsive .art-nav ul.art-hmenu>li:last-child, 
.responsive .art-nav ul.art-hmenu>li
{
   margin-left: 0;
   margin-right: 0;
}
 
/* separator */ 
.responsive .art-nav ul.art-hmenu>li:before
{
   display: none;
}

/* vertical distance between items */
.responsive .art-nav ul.art-hmenu a
{
   /*margin-top: 1px !important;
   margin-bottom: 1px !important;*/
   height: auto;
   white-space: normal;
   text-align: center;
}

.responsive .art-nav ul.art-hmenu>li:first-child>a
{
   /*margin-top: 0 !important;*/
}

.responsive .art-nav ul.art-hmenu>li:last-child>a
{
   /*margin-bottom: 0 !important;*/
}

/* fixes for extended menu */
.responsive .art-nav .ext, 
.responsive .art-nav ul.art-hmenu>li>ul, 
.responsive .art-nav ul.art-hmenu>li>ul>li,
.responsive .art-nav ul.art-hmenu>li>ul>li a
{
   width: auto !important;
}

/* submenu position on hover */
.responsive .art-nav ul.art-hmenu ul
{
   left: auto !important;
   right: auto !important;
   top: auto !important;
   bottom: auto !important;
   display: none !important;
   position: relative !important;
   visibility: visible !important;
}

.responsive .art-nav ul.art-hmenu li.active>ul
{
   display: block !important;
}
.responsive .art-nav ul.art-hmenu ul li.active>a
{
   font-weight: bold;
}

.art-nav .art-menu-btn 
{
   border: 1px solid #404040;
   border-radius: 3px;
   box-shadow: 0 0 3px 0 rgba(0, 0, 0, .2);
   display: none;
   -svg-background: linear-gradient(to bottom, #707070 0, #000 100%);
   background: -ms-linear-gradient(top, #707070 0, #000 100%);
   background: -moz-linear-gradient(top, #707070 0, #000 100%);
   background: -o-linear-gradient(top, #707070 0, #000 100%);
   background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #707070), color-stop(1, #000));
   background: -webkit-linear-gradient(top, #707070 0, #000 100%);
   background: linear-gradient(to bottom, #707070 0, #000 100%);
   margin: 3px;
   outline: none;
   padding: 5px;
   position: relative;
   vertical-align: bottom;
   width: 20px;
}

.art-nav .art-menu-btn span 
{
   background: #E0E0E0;
   border-radius: 2px;
   display: block;
   height: 3px;
   margin: 3px 1px;
   position: relative;
   -moz-transition: background .2s;
   -o-transition: background .2s;
   -webkit-transition: background .2s;
   transition: background .2s;
}

.art-nav .art-menu-btn:hover span
{
   background: #f3f3f3;
}

.responsive .art-nav .art-menu-btn 
{
   display: inline-block;
}

.responsive .art-nav .art-hmenu.visible 
{
   display: block;
}

.responsive .art-nav ul.art-hmenu>li>ul>li:first-child:after 
{
   display: none;
}
/*.responsive .art-nav ul.art-hmenu ul a
{
   padding-left: 4% !important;
}
.responsive .art-nav ul.art-hmenu ul ul a
{
   padding-left: 6% !important;
}
.responsive .art-nav ul.art-hmenu ul ul ul a
{
   padding-left: 8% !important;
}
.responsive .art-nav ul.art-hmenu ul ul ul ul a
{
   padding-left: 10% !important;
}
.responsive .art-nav ul.art-hmenu ul ul ul ul ul a
{
   padding-left: 12% !important;
}*/
  
.responsive .art-nav ul.art-hmenu>li>ul
{
   padding: 0;
}
  
.responsive .art-nav ul.art-hmenu>li>ul:before
{
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(77, 77, 77, 0.9);
}

.responsive .art-sheet
{
   width: auto !important;
   min-width: 240px !important;
   max-width: none !important;
   /*margin-right: 1% !important;
   margin-left: 1% !important;*/
}

#art-resp {
   display: none;
}

@media all and (max-width: 1199px)
{
    #art-resp, #art-resp-t { display: block; }
    #art-resp-m { display: none; }
}

@media all and (max-width: 480px)
{
    #art-resp, #art-resp-m { display: block; }
    #art-resp-t { display: none; }
}

#art-resp-desktop {
   display: none;
}
#art-resp-tablet-landscape {
   display: none;
}
#art-resp-tablet-portrait {
   display: none;
}
#art-resp-phone-landscape {
   display: none;
}
#art-resp-phone-portrait {
   display: none;
}

@media (min-width: 1200px)
{
    #art-resp-desktop { display: block; }
}

@media (min-width: 980px) and (max-width: 1199px)
{
    #art-resp-tablet-landscape { display: block; }
}

@media (min-width: 768px) and (max-width: 979px)
{
    #art-resp-tablet-portrait { display: block; }
}

@media (min-width: 480px) and (max-width: 767px)
{
    #art-resp-phone-landscape { display: block; }
}

@media (max-width: 479px)
{
    #art-resp-phone-portrait { display: block; }
}
.responsive .art-content-layout, 
.responsive .art-content-layout-row, 
.responsive .art-layout-cell 
{
   display: block;
}

.responsive .art-layout-cell 
{
   width: auto !important;
   height: auto !important;
}

.responsive .art-content-layout:after, 
.responsive .art-content-layout-row:after, 
.responsive .art-layout-cell:after 
{
   content: ".";
   display: block;
   height: 0;
   clear: both;
   visibility: hidden;
}

.responsive .responsive-tablet-layout-cell,
.responsive.responsive-tablet .art-footer .art-content-layout .art-layout-cell 
{
   margin: 1%;
   width: 98% !important;
   float: left;
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}

.responsive .responsive-layout-row-2 .responsive-tablet-layout-cell,
.responsive.responsive-tablet .art-footer .art-content-layout .responsive-layout-row-2 .art-layout-cell
{
   width: 48% !important;
}

.responsive .responsive-layout-row-3 .responsive-tablet-layout-cell,
.responsive.responsive-tablet .art-footer .art-content-layout .responsive-layout-row-3 .art-layout-cell
{
   width: 31% !important;
}
.responsive .art-post
{
   border-radius: 0;
}

.responsive .art-footer-inner
{
   width: auto;
   padding: 2% !important;
}

.responsive.responsive-tablet .items-row .item ,
.responsive.responsive-phone .items-row .item 
{
    width: auto;
    display: block;
}

.responsive .hamburger {
  display: block;
  margin: 0 auto;
  outline: none;
}

.responsive .art-logo {
  text-align: center;
}

.responsive ul.art-hmenu li {
  padding: 0;
  border-left: none;
}

.responsive ul.art-hmenu li li:hover {
  border: none;
}

.responsive #parallax-contenuto h1 {
  font-size: 32px;
}

.responsive .art-modulo-topmenu .container-fluid:before {
  right: 0;
}

.responsive ul.art-hmenu>li:hover {
  border-bottom: 5px solid transparent;
}

.responsive ul.art-hmenu li li:after {
  content: none;
}

.responsive .art-modulo-topmenu .topmenu-left {
  text-align: center;
}

.responsive .art-modulo-copyright .art-modulo-social {
  text-align: center;
}

.responsive .art-modulo-copyright .art-modulo-social ul li {
  padding: 0;
}

.responsive .art-pagina-domotica h2 {
  font-size: 24px;
  text-align: center;
}

.responsive .art-modulo-orari {
  margin-top: 50px;
}

.responsive .art-modulo-info-contatti {
  margin-top: 1rem;
}

.responsive #parallax-header {
  height: 200px;
  max-height: 200px;
}

.responsive .tp-caption.large_bold_white, .responsive .large_bold_white {
  font-size: 32px !important;
  line-height: 32px !important;
  height: 32px !important;
  padding-top: 20px !important;
}

.responsive .art-modulo-topmenu .topmenu-right {
  text-align: center;
}

.responsive .flipbox-wrapper {
  margin: 25px 20px;
  min-height: 300px;
}

.responsive .flipbox-wrapper .flipbox-front .flipbox-title {
  font-size: 28px;
}

.responsive .art-modulo-copyright {
  text-align: center;
}

.responsive .hamburger-inner, .responsive .hamburger-inner:after, .responsive .hamburger-inner:before {
  background-color: #CDD407;
}

.responsive .hamburger.is-active .hamburger-inner, 
.responsive .hamburger.is-active .hamburger-inner:after, 
.responsive .hamburger.is-active .hamburger-inner:before {
  background-color: #CDD407;
}

.responsive .select2 {
  width: 100% !important;
}

.responsive a.calltoaction:link, .responsive a.calltoaction:hover, .responsive a.calltoaction:visited {
  width: 130px;
  height: 130px;
  font-size: 14px !important;
  line-height: 1.2rem !important;
}

.responsive .quick-view-aside {
  position: relative;
  width: 100%;
  height: 300px;
  padding: 0;
  margin: 0;
  top: 0;
}

.responsive .quick-view-carousel {
  position: relative;
  display: block;
  height: 300px;
  width: 100%;
}

.responsive .quick-view-content {
  display: flex;
  flex-direction: column;
}

.responsive .quick-view-aside>div {
  padding: 5px;
}

.responsive .quick-view-aside::before {
  content: none;
}

.responsive .quick-view-close {
  z-index: 99999;
}