.responsive body
{
   min-width: 240px;
}
  
.responsive img 
{
   -webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
   box-sizing: border-box;
}  
  
.responsive .ef-content-layout img,
.responsive .ef-content-layout video
{
   max-width: 100%;
   height: auto !important;
}

.responsive.responsive-phone .ef-content-layout img 
{
   margin: 1%;
}

.responsive.responsive-phone .ef-collage,
.responsive.responsive-tablet .ef-collage {
   margin: 0 !important;
}

.responsive .ef-content-layout .ef-sidebar0, 
.responsive .ef-content-layout .ef-sidebar1, 
.responsive .ef-content-layout .ef-sidebar2 
{
   width: auto !important;
}
    
.responsive .ef-content-layout, 
.responsive .ef-content-layout-row, 
.responsive .ef-layout-cell 
{
   display: block;
}

.responsive .ef-content-layout, 
.responsive .ef-content-layout-row
{
   padding: 0;
}
    
.responsive .image-caption-wrapper 
{
   width: auto;
}

.responsive.responsive-tablet .ef-vmenublock,
.responsive.responsive-tablet .ef-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 .ef-responsive-embed 
{
   height: 0;
   padding-bottom: 56.25%;
   /* 16:9 */
    position: relative;
}

.responsive .ef-responsive-embed iframe,
.responsive .ef-responsive-embed object,
.responsive .ef-responsive-embed embed
{
   height: 100%;
   left: 0;
   position: absolute;
   top: 0;
   width: 100%;
}

.responsive .ef-header 
{
   width: auto !important;
   max-width: none !important;
   min-height: 100px !important;
   min-width: 0 !important;
}

.default-responsive .ef-header 
{
   height: auto;
}

.default-responsive .ef-header *
{
   position: relative;
   -webkit-transform: none !important;
   -moz-transform: none !important;
   -o-transform: none !important;
   -ms-transform: none !important;
   transform: none !important;
}

.default-responsive .ef-header .ef-headline, 
.default-responsive .ef-header .ef-slogan 
{
   display: block !important;
   top: 0 !important;
   left: 0 !important;
   margin: 2% !important;
   text-align: center !important;
}
    
.default-responsive .ef-header .ef-headline a, 
.default-responsive .ef-header .ef-slogan 
{
   white-space: normal !important;
}

.default-responsive .ef-header .ef-logo
{
   display: block;
}

.responsive .ef-header .ef-slidenavigator 
{
   position: absolute;
}

.default-responsive .ef-header .ef-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 .ef-header #ef-flash-area
{
   display: none;
}

/* Search and other elements in header element directly */
.default-responsive .ef-header>.ef-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 .ef-header .ef-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;
}

/* '.ef-header *' used noram align, but for '.ef-textblock *' we must force align because of preview */
.responsive .ef-header .ef-textblock *
{
   text-align: center !important;
}

.default-responsive .ef-header .ef-shapes > .ef-textblock,
.default-responsive .ef-header .ef-slide-item > .ef-textblock
{
   display: none !important;
}

.default-responsive .ef-header .ef-shapes > .ef-textblock *
{
   text-align: center !important;
   width: auto !important;
   height: auto !important;
   display: block;
}

.default-responsive .ef-header .ef-slider .ef-textblock *
{
   text-align: center !important;
   width: auto !important;
   height: auto !important;
   display: block;
}

/* For icons like facebook, rss, etc. */
.responsive .ef-header>.ef-textblock>div 
{
   width: 100%;
}
/* dynamic width nav */
.responsive nav.ef-nav,
.responsive .ef-nav-inner
{
	width: 100%;
	text-align: left !important;
}

.responsive nav.ef-nav
{
   min-width: 1%;
}

.responsive .ef-nav 
{
   padding-left: 0;
   padding-right: 0;
}

/* full width hmenu, instead of inline-block */
.responsive .ef-nav ul.ef-hmenu 
{
   float: none;
   text-align: center;
   display: none;
}

/* elements on different lines */
.responsive .ef-nav ul.ef-hmenu li,
.responsive .ef-hmenu-extra1
{
   float: none;
}
  
/* horizontal margins */
.responsive .ef-nav ul.ef-hmenu>li:first-child, 
.responsive .ef-nav ul.ef-hmenu>li:last-child, 
.responsive .ef-nav ul.ef-hmenu>li
{
   margin-left: 0;
   margin-right: 0;
}
 
/* separator */ 
.responsive .ef-nav ul.ef-hmenu>li:before
{
   display: none;
}

/* vertical distance between items */
.responsive .ef-nav ul.ef-hmenu a
{
   margin-top: 1px !important;
   margin-bottom: 1px !important;
   height: auto;
   white-space: normal;
}

.responsive .ef-nav ul.ef-hmenu>li:first-child>a
{
   margin-top: 0 !important;
}

.responsive .ef-nav ul.ef-hmenu>li:last-child>a
{
   margin-bottom: 0 !important;
}

/* fixes for extended menu */
.responsive .ef-nav .ext, 
.responsive .ef-nav ul.ef-hmenu>li>ul, 
.responsive .ef-nav ul.ef-hmenu>li>ul>li,
.responsive .ef-nav ul.ef-hmenu>li>ul>li a
{
   width: auto !important;
}

/* submenu position on hover */
.responsive .ef-nav ul.ef-hmenu ul
{
   left: auto !important;
   right: auto !important;
   top: auto !important;
   bottom: auto !important;
   display: none !important;
   position: relative !important;
   visibility: visible !important;
}

.responsive .ef-nav ul.ef-hmenu li.active>ul
{
   display: block !important;
}
.responsive .ef-nav ul.ef-hmenu ul li.active>a
{
   font-weight: bold;
}

.ef-nav .ef-menu-btn 
{
   display: none;
   margin: 4px;
   outline: none;
   padding: 6px;
   position: relative;
   vertical-align: bottom;
   width: 34px;
}

.ef-nav .ef-menu-btn span 
{
   background: #fff;
   border-radius: 0px;
   display: block;
   height: 3px;
   margin: 3px 1px;
   position: relative;
   -moz-transition: background .2s;
   -o-transition: background .2s;
   -webkit-transition: background .2s;
   transition: background .2s;
}

.ef-nav .ef-menu-btn:hover span
{
   background: #fff;
}

.responsive .ef-nav .ef-menu-btn 
{
   display: inline-block;
}

.responsive .ef-nav .ef-hmenu.visible 
{
   display: block;
}

.responsive .ef-nav ul.ef-hmenu>li>ul>li:first-child:after 
{
   display: none;
}
.responsive .ef-nav ul.ef-hmenu ul a
{
   padding-left: 4% !important;
}
.responsive .ef-nav ul.ef-hmenu ul ul a
{
   padding-left: 6% !important;
}
.responsive .ef-nav ul.ef-hmenu ul ul ul a
{
   padding-left: 8% !important;
}
.responsive .ef-nav ul.ef-hmenu ul ul ul ul a
{
   padding-left: 10% !important;
}
.responsive .ef-nav ul.ef-hmenu ul ul ul ul ul a
{
   padding-left: 12% !important;
}
  
.responsive .ef-nav ul.ef-hmenu>li>ul
{
   padding: 0;
}
  
.responsive .ef-nav ul.ef-hmenu>li>ul:before
{
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
}

.responsive .ef-sheet
{
   width: auto !important;
   min-width: 240px !important;
   max-width: none !important;
}

#ef-resp {
   display: none;
}
@media all and (max-width: 1200px){
	.ef-logo {padding: 15px;}
	.ef-nostyle.phone-mod {padding: 10px;}
	.search.search-mod {margin-right: 5px;}
	.benItem {width: 45%;}
}
@media all and (max-width: 920px)
{
    #ef-resp, #ef-resp-t { display: block; }
    #ef-resp-m { display: none; }
}
@media all and (max-width: 820px)
{
	.ef-logo {
	    padding: 15px;
	    width:50%;
	}
	.ef-nostyle.slogan-mod {
	    width: 50%;
	    padding: 15px;
	}
	.ef-nostyle.fb-mod {
	    width: 50%;
	}
	.ef-nostyle.phone-mod {
	    width: 50%;
	}
	.fb-mod a {
		margin:10px;
	}
}
@media all and (max-width:768px){
	.ef-nostyle.bannerMod {padding: 40px 0;}
	form.ef-search input[type="text"] {padding: 7px 10px;}
	.tbItem {
	    width: 50%;
	    padding: 15px;
	}
	.priceFrom {
	    top: 90px;
	    right: 30px;
	    padding: 15px 25px;
	    font-size: 28px;
	}
	.step-item {width: 33%;}
	.calcParams {width: 100%;border-top: 2px solid #003c98;}
    .calcResult {width: 100%;}
}
@media all and (max-width: 640px){
	.bannerMod h1 {font-size: 32px;}
	.priceFrom {
	    top: -35px;
	    right: 30px;
	    padding: 7px 20px;
	    font-size: 21px;
	    border-radius: 7px;
	}
	.esItem {
	    width: 100%;
	    margin: 10px;
	    max-width: 100%;
	}
	.extraOffer {margin: 0 10px 20px;}
	.compare-item {width: 100%;    margin: 5px 10px;}
	.benItem {width: 100%;}
}
@media all and (max-width: 480px)
{
    #ef-resp, #ef-resp-m { display: block; }
    #ef-resp-t { display: none; }
    .step-item {width: 50%;}
    .input50 {
	    width: 100%;
	    padding: 5px 10px;
	}
	.input100 {
	    padding: 5px 10px;
	}
	.ef-logo {
	    padding: 15px;
	    width: 100%;
	    text-align: center;
	}
	.ef-nostyle.slogan-mod {width: 100%;text-align: center;}
	.ef-nostyle.fb-mod {width: 100%;}
	.fb-mod a {
		margin:10px auto;
	}
	.ef-nostyle.phone-mod {width: 100%;}
	.phone-flex {justify-content: center;}
	.bannerMod h1 {font-size: 22px;padding-top: 20px;margin-bottom: 5px;}
	.tbItem {
	    width: 100%;
	    padding: 15px;
	    display: flex;
	    justify-content: flex-start;
	    align-items: center;
	}
	.tbIcon {
	    width: 20%;
	}
	.tbDesc {text-align:left; padding-left:10px;}
	.tbTitle {
	    font-size: 16px;
	    padding: 0;
	}
	.tbText {
	    font-size: 13px;
	}
	.tbNotice {font-size: 20px;}
	.partItem {width: 50%;}
	.mod-heading {font-size: 32px;}
	.cont-item {
	    width: 100%;
	    text-align: center !important;
	    padding: 0 !important;
	}
	.ef-post {
	    padding: 5px 15px;
	}
	.paramsNotice {font-size: 16px;}
    .pivflex output {
        font-size: 20px;
        min-width: 120px;
    }
    .pivflex output::after {
        width: 16px;
        height: 16px;
        top: 32px;
        right: 50%;
        margin-right: -8px;
    }
    .plastType .inputWrap {
        width: 100%;
        padding: 15px;
        text-align: left;}
    .pivflex {
        flex-wrap: wrap;
    }
    #js-rangeslider-0 {
        margin: 30px 15px;
    }
}

#ef-resp-desktop {
   display: none;
}
#ef-resp-tablet-landscape {
   display: none;
}
#ef-resp-tablet-portrait {
   display: none;
}
#ef-resp-phone-landscape {
   display: none;
}
#ef-resp-phone-portrait {
   display: none;
}

@media (min-width: 1200px)
{
    #ef-resp-desktop { display: block; }
}

@media (min-width: 980px) and (max-width: 1199px)
{
    #ef-resp-tablet-landscape { display: block; }
}

@media (min-width: 768px) and (max-width: 979px)
{
    #ef-resp-tablet-portrait { display: block; }
}

@media (min-width: 480px) and (max-width: 767px)
{
    #ef-resp-phone-landscape { display: block; }
}

@media (max-width: 479px)
{
    #ef-resp-phone-portrait { display: block; }
}
.responsive .ef-content-layout, 
.responsive .ef-content-layout-row, 
.responsive .ef-layout-cell 
{
   display: block;
}

.responsive .ef-layout-cell 
{
   width: auto !important;
   height: auto !important;
}

.responsive .ef-content-layout:after, 
.responsive .ef-content-layout-row:after, 
.responsive .ef-layout-cell:after 
{
   content: ".";
   display: block;
   height: 0;
   clear: both;
   visibility: hidden;
}

.responsive .responsive-tablet-layout-cell,
.responsive.responsive-tablet .ef-footer .ef-content-layout .ef-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 .ef-footer .ef-content-layout .responsive-layout-row-2 .ef-layout-cell
{
   width: 48% !important;
}

.responsive .responsive-layout-row-3 .responsive-tablet-layout-cell,
.responsive.responsive-tablet .ef-footer .ef-content-layout .responsive-layout-row-3 .ef-layout-cell
{
   width: 31% !important;
}
.responsive ul.ef-vmenu>li>ul
{
   padding: 0;
   display: none;
}

.responsive ul.ef-vmenu>li>ul:before
{
   display: block;
   position: absolute;
   content: ' ';
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
}

.responsive ul.ef-vmenu>li>ul.vmenu-resp-popup-visible 
{
   display: block;
}

.responsive ul.ef-vmenu ul {
   position: relative;
   left: auto;
   top: auto;
   visibility: visible;
}

.responsive ul.ef-vmenu ul ul a 
{
   padding-left: 54px;
}

.responsive ul.ef-vmenu ul ul ul a 
{
   padding-left: 81px;
}

.responsive ul.ef-vmenu ul ul ul ul a 
{
   padding-left: 108px;
}

.responsive ul.ef-vmenu ul ul ul ul ul a 
{
   padding-left: 135px;
}

.responsive .ef-post
{
   border-radius: 0;
}

.responsive .ef-footer-inner
{
   width: auto;
   padding: 2% !important;
   min-width: 0;
}

.responsive.responsive-tablet .items-row .item ,
.responsive.responsive-phone .items-row .item 
{
    width: auto;
    display: block;
}