.responsive body
{
   min-width: 240px;
}
  
.responsive img 
{
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}  
  
.responsive .content-layout img,
.responsive .content-layout video
{
   max-width: 100%;
   height: auto !important;
}

.responsive.responsive-phone .content-layout img 
{
   margin: 1%;
}

.responsive.responsive-phone .collage,
.responsive.responsive-tablet .collage {
   margin: 0 !important;
}

.responsive .content-layout .sidebar0, 
.responsive .content-layout .sidebar1, 
.responsive .content-layout .sidebar2 
{
   width: auto !important;
}
    
.responsive .content-layout, 
.responsive .content-layout-row, 
.responsive .layout-cell 
{
   display: block;
}

.responsive .content-layout, 
.responsive .content-layout-row
{
   padding: 0;
}
    
.responsive .image-caption-wrapper 
{
   width: auto;
}

.responsive.responsive-tablet .vmenublock,
.responsive.responsive-tablet .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 .responsive-embed 
{
   height: 0;
   padding-bottom: 56.25%;
   /* 16:9 */
    position: relative;
}

.responsive .responsive-embed iframe,
.responsive .responsive-embed object,
.responsive .responsive-embed embed
{
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%;
}

.responsive .header 
{
   width: auto !important;
   max-width: none !important;
   min-height: 100px !important;
   min-width: 0 !important;
   text-align: center;
}

.default-responsive .header 
{
   height: auto;
}

.default-responsive .header *
{
   position: relative;
   text-align: center;
   -webkit-transform: none !important;
   -moz-transform: none !important;
   -o-transform: none !important;
   -ms-transform: none !important;
   transform: none !important;
}

.default-responsive .header .headline, 
.default-responsive .header .slogan 
{
   display: block !important;
   top: 0 !important;
   left: 0 !important;
   margin: 2% !important;
   text-align: center !important;
}
    
.default-responsive .header .headline a, 
.default-responsive .header .slogan 
{
   white-space: normal !important;
}

.default-responsive .header .logo
{
   display: inline-block;
   margin: auto !important;
   left: auto;
   top: auto !important;
   width: auto;
   height: auto;
}

.responsive .header .slidenavigator 
{
   position: absolute;
}

.default-responsive .header .positioncontrol 
{
   display: block !important;
   position: relative !important;
   top: auto !important;
   right: auto !important;
   bottom: auto !important;
   left: auto !important;
   margin: 2% auto !important;
   width: auto !important;
   height: auto !important;
}

.responsive .header #flash-area
{
   display: none;
}

/* Search and other elements in header element directly */
.default-responsive .header>.textblock
{
   position: relative !important;
   display: block !important;
   margin: 1% auto !important;
   width: 75% !important;
   top: auto !important;
   right: auto !important;
   bottom: auto !important;
   left: auto !important;
}

.default-responsive .header .textblock 
{
   position: relative !important;
   display: block !important;
   margin: auto !important;
   left: 0 !important;
   right: 0 !important;
   top: auto !important;
   height: auto !important;
   width: auto;
   background-image: none;
}

/* '.header *' used noram align, but for '.textblock *' we must force align because of preview */
.responsive .header .textblock *
{
   text-align: center !important;
}

.default-responsive .header .shapes > .textblock,
.default-responsive .header .slide-item > .textblock
{
   display: none !important;
}

.default-responsive .header .shapes > .textblock *
{
   text-align: center !important;
   width: auto !important;
   height: auto !important;
   display: block;
}

.default-responsive .header .slider .textblock *
{
   text-align: center !important;
   width: auto !important;
   height: auto !important;
   display: block;
}

/* For icons like facebook, rss, etc. */
.responsive .header>.textblock>div 
{
   width: 100%;
}
/* dynamic width nav */
.responsive nav.nav,
.responsive .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: center !important;
}

.responsive nav.nav
{
   min-width: 1%;
   margin-top: 1%;
   margin-right: 1% !important;
   margin-left: 1% !important;
}

.responsive .nav 
{
   padding-left: 0;
   padding-right: 0;
   padding-top: 1px;
   padding-bottom: 1px;
}
 
/* full width hmenu, instead of inline-block */
.responsive .nav ul.hmenu 
{
   float: none;
   text-align: center;
   display: none;
}

/* elements on different lines */
.responsive .nav ul.hmenu li,
.responsive .hmenu-extra1,
.responsive .hmenu-extra2
{
   float: none;
}
  
/* horizontal margins */
.responsive .nav ul.hmenu>li:first-child, 
.responsive .nav ul.hmenu>li:last-child, 
.responsive .nav ul.hmenu>li
{
   margin-left: 0;
   margin-right: 0;
}
 
/* separator */ 
.responsive .nav ul.hmenu>li:before
{
   display: none;
}

/* vertical distance between items */
.responsive .nav ul.hmenu a
{
   margin-top: 1px !important;
   margin-bottom: 1px !important;
   text-align: center !important;
   height: auto;
   white-space: normal;
}

.responsive .nav ul.hmenu>li:first-child>a
{
   margin-top: 0 !important;
}

.responsive .nav ul.hmenu>li:last-child>a
{
   margin-bottom: 0 !important;
}

/* fixes for extended menu */
.responsive .nav .ext, 
.responsive .nav ul.hmenu>li>ul, 
.responsive .nav ul.hmenu>li>ul>li,
.responsive .nav ul.hmenu>li>ul>li a
{
   width: auto !important;
}

/* submenu position on hover */
.responsive .nav ul.hmenu ul
{
   left: auto !important;
   right: auto !important;
   top: auto !important;
   bottom: auto !important;
   display: none !important;
   position: relative !important;
   visibility: visible !important;
}

.nav .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;
}

.nav .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;
}

.nav .menu-btn:hover span
{
   background: #f3f3f3;
}

.responsive .nav .menu-btn 
{
   display: inline-block;
}

.responsive .nav .hmenu.visible 
{
   display: block;
}

.responsive .nav ul.hmenu>li>a
{
   border-bottom: 1px dotted transparent;
   padding-bottom: 0 !important;
   margin-bottom: 0 !important;
}

.responsive .nav .hmenu>li>a
{
   border-radius: 2px;
}

.responsive .nav ul.hmenu>li>a.active
{
   border-bottom: 1px dotted #818381;
}

.responsive .nav ul.hmenu>li>a:hover
{
   border-bottom: 1px dotted rgba(98, 94, 104, 0.8);
}

.responsive .nav ul.hmenu>li>ul>li:first-child:after 
{
   display: none;
}
.responsive .nav ul.hmenu ul a
{
   padding-left: 4% !important;
}
.responsive .nav ul.hmenu ul ul a
{
   padding-left: 6% !important;
}
.responsive .nav ul.hmenu ul ul ul a
{
   padding-left: 8% !important;
}
.responsive .nav ul.hmenu ul ul ul ul a
{
   padding-left: 10% !important;
}
.responsive .nav ul.hmenu ul ul ul ul ul a
{
   padding-left: 12% !important;
}
  
.responsive .nav ul.hmenu>li>ul
{
   padding: 4px;
}
  
.responsive .nav ul.hmenu>li>ul:before
{
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
}

.responsive .sheet
{
   width: auto !important;
   min-width: 240px !important;
   max-width: none !important;
   margin-right: 1% !important;
   margin-left: 1% !important;
}

#resp {
   display: none;
}

@media all and (max-width: 1369px)
{
    #resp, #resp-t { display: block; }
    #resp-m { display: none; }
}

@media all and (max-width: 480px)
{
    #resp, #resp-m { display: block; }
    #resp-t { display: none; }
}

#resp-desktop {
   display: none;
}
#resp-tablet-landscape {
   display: none;
}
#resp-tablet-portrait {
   display: none;
}
#resp-phone-landscape {
   display: none;
}
#resp-phone-portrait {
   display: none;
}

@media (min-width: 1200px)
{
    #resp-desktop { display: block; }
}

@media (min-width: 980px) and (max-width: 1199px)
{
    #resp-tablet-landscape { display: block; }
}

@media (min-width: 768px) and (max-width: 979px)
{
    #resp-tablet-portrait { display: block; }
}

@media (min-width: 480px) and (max-width: 767px)
{
    #resp-phone-landscape { display: block; }
}

@media (max-width: 479px)
{
    #resp-phone-portrait { display: block; }
}
.responsive .content-layout, 
.responsive .content-layout-row, 
.responsive .layout-cell 
{
   display: block;
}

.responsive .layout-cell 
{
   width: auto !important;
   height: auto !important;
}

.responsive .content-layout:after, 
.responsive .content-layout-row:after, 
.responsive .layout-cell:after 
{
   content: ".";
   display: block;
   height: 0;
   clear: both;
   visibility: hidden;
}

.responsive .responsive-tablet-layout-cell,
.responsive.responsive-tablet .footer .content-layout .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 .footer .content-layout .responsive-layout-row-2 .layout-cell
{
   width: 48% !important;
}

.responsive .responsive-layout-row-3 .responsive-tablet-layout-cell,
.responsive.responsive-tablet .footer .content-layout .responsive-layout-row-3 .layout-cell
{
   width: 31% !important;
}
.responsive .post
{
   border-radius: 0;
}

.responsive .footer-inner
{
   min-width: 0;
}
.responsive .footer
{
   margin-top: 1%;
}

