/* Responsive overlay for template 1. Desktop layout unchanged above 1020px. */
.nav-toggle {
	display: none;
}

html {
	-webkit-text-size-adjust: 100%;
}

img {
	max-width: 100%;
	height: auto;
}

@media screen and (max-width: 1020px) {
	#wrapper,
	#middle,
	#footer,
	.top_menu,
	#header_bg,
	#header_bottom {
		width: 100% !important;
		max-width: 1000px;
	}

	#header,
	.billing_checkout {
		height: auto !important;
	}

	#header_bg {
		width: 100%;
		background-position: left top;
		background-repeat: no-repeat;
		background-size: auto 150px;
	}

	.sr {
		display: none;
	}

	#container {
		width: auto;
		float: none;
		overflow: hidden;
	}

	#middle {
		background-image: none;
		background-color: #f8f8f8;
		width: 100%;
	}

	.hflags {
		left: auto;
		right: 12px;
	}

	#header_online_chat {
		left: auto;
		right: 8px;
		top: auto;
		bottom: 48px;
	}
}

@media screen and (max-width: 780px) {
	body {
		background-size: auto 80px;
	}

	#wrapper,
	#middle,
	#footer,
	.top_menu,
	#header_bottom {
		width: 100% !important;
		max-width: none;
	}

	#header {
		overflow: visible;
		height: auto;
	}

	/* Keep the original header artwork; crop from the left so the logo stays intact */
	#header_bg {
		width: 100%;
		height: 96px;
		position: relative;
		background-image: url('../images/header_bg.png');
		background-repeat: no-repeat;
		background-position: left top;
		background-size: auto 96px;
		background-color: #ffffff;
	}

	.billing_checkout #header_bg,
	.Checkout #header_bg {
		height: 96px !important;
	}

	.nav-toggle {
		display: block;
		position: absolute;
		top: 10px;
		right: 8px;
		z-index: 30;
		width: 42px;
		height: 42px;
		padding: 9px 8px;
		border: 1px solid #cfcfcf;
		background: #fff;
		cursor: pointer;
		border-radius: 4px;
	}

	.nav-toggle span {
		display: block;
		height: 3px;
		margin: 5px 0;
		background: #333;
		border-radius: 1px;
	}

	.nav-toggle.open span:nth-child(1) {
		-webkit-transform: translateY(8px) rotate(45deg);
		transform: translateY(8px) rotate(45deg);
	}

	.nav-toggle.open span:nth-child(2) {
		opacity: 0;
	}

	.nav-toggle.open span:nth-child(3) {
		-webkit-transform: translateY(-8px) rotate(-45deg);
		transform: translateY(-8px) rotate(-45deg);
	}

	#site_name {
		float: none;
		width: auto;
		max-width: 72%;
		height: 78px;
		margin: 8px 56px 0 8px;
		line-height: normal;
		overflow: hidden;
	}

	#site_name a {
		display: block;
		height: 100%;
	}

	#site_name .header-logo {
		display: block;
		width: auto;
		max-width: 100%;
		height: 78px;
		max-height: 78px;
		object-fit: contain;
		object-position: left center;
	}

	.phones,
	#header_online_chat,
	#chat_online,
	.lan_corner,
	#landCornerFull {
		display: none !important;
	}

	.hflags {
		display: none;
		position: static;
		left: auto;
		top: auto;
		float: none;
		padding: 10px 12px;
		background: #ededee;
		overflow: hidden;
	}

	#header.menu-open .hflags {
		display: block;
	}

	.hcart {
		position: absolute;
		top: 54px;
		right: 8px;
		z-index: 20;
		width: auto;
		min-width: 0;
		height: auto;
		margin: 0;
		padding: 4px 8px 4px 48px;
		background: #fff;
		border: 1px solid #dbdbdb;
		border-radius: 4px;
		box-sizing: border-box;
	}

	.hcart img {
		width: 36px !important;
		top: 4px !important;
		left: 4px !important;
	}

	.hcart span,
	.hcart .hcpadd #cart_items,
	#checkout_btn {
		display: none;
	}

	.hcart .hcpadd {
		padding-left: 0;
		float: none;
		width: auto;
	}

	#cart_sum {
		font-size: 14px;
		float: none;
		line-height: 28px;
	}

	.top_menu {
		display: none;
		width: 100%;
		height: auto;
		border: 0;
		background: #4a4a4a;
	}

	.top_menu.open {
		display: block;
	}

	.top_menu li,
	.top_menu li:hover,
	#top_menu_home,
	#top_menu_home:hover,
	#top_menu_order,
	#top_menu_order:hover,
	#top_menu_faq,
	#top_menu_faq:hover,
	#top_menu_contact,
	#top_menu_contact:hover,
	#top_menu_testim,
	#top_menu_testim:hover {
		float: none;
		display: block;
		width: 100% !important;
		height: 44px;
		line-height: 44px;
		text-align: left;
		border: 0;
		border-bottom: 1px solid #5c5c5c;
		background-image: none !important;
		background-color: #4a4a4a;
		box-sizing: border-box;
	}

	.top_menu li a {
		padding: 0 16px;
	}

	#header_bottom {
		height: auto;
		width: 100%;
		padding: 8px;
		box-sizing: border-box;
		border-left: 0;
	}

	#header_bottom .separator {
		display: none;
	}

	#static_sidebar_search {
		float: none;
		width: 100%;
		margin: 0 0 8px;
		clear: both;
	}

	#static_sidebar_search > div:first-child {
		display: none;
	}

	.side_search {
		width: 100%;
		height: 36px;
		background: #fff;
		border: 1px solid #cfcfcf;
		border-radius: 4px;
		box-sizing: border-box;
	}

	.side_search .text {
		width: 84%;
		height: 28px;
		margin: 3px 0 0 6px;
		background: none;
		font-size: 16px;
	}

	#tools_letter {
		float: none;
		width: 100%;
		margin: 4px 0 0;
	}

	#header.Product #header_bottom,
	#header.product #header_bottom {
		display: none !important;
	}

	.alphabet,
	.alphabet_bg {
		float: none;
		width: 100%;
		height: auto;
		line-height: 22px;
	}

	.alphabet a,
	.alphabet span {
		display: inline-block;
		min-width: 28px;
		min-height: 28px;
		line-height: 28px;
		text-align: center;
		padding: 0 2px;
		font-size: 14px !important;
	}

	#middle {
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-flex-direction: column;
		flex-direction: column;
		width: 100%;
		overflow: visible;
		background: #f8f8f8;
	}

	#container {
		-webkit-box-ordinal-group: 1;
		order: 1;
		width: 100%;
		float: none;
		overflow: visible;
	}

	#content {
		padding: 0 8px 16px;
		float: none;
	}

	.sidebar,
	.sl,
	.sr {
		width: 100%;
		float: none;
		margin: 0;
		min-height: 0;
	}

	.sl {
		-webkit-box-ordinal-group: 2;
		order: 2;
		padding: 0 8px 16px;
		box-sizing: border-box;
	}

	.sr {
		display: none;
	}

	#product_list,
	#categories_list,
	#static_sidebar_payment_systems,
	#tools_shipping_banner,
	.title_side_menu,
	.paiment_list_head,
	.paiment_list_content,
	.paiment_shipping_head,
	.widg_shipping {
		width: 100% !important;
		float: none;
		background-size: 100% auto;
	}

	.title_side_menu {
		height: 44px;
		cursor: pointer;
		position: relative;
	}

	.title_side_menu:after {
		content: '';
		position: absolute;
		right: 16px;
		top: 18px;
		border-left: 6px solid transparent;
		border-right: 6px solid transparent;
		border-top: 7px solid #383333;
	}

	.title_side_menu.open:after {
		border-top: 0;
		border-bottom: 7px solid #383333;
	}

	#product_list_content {
		display: none;
	}

	.category_titel {
		width: auto;
		background-image: none;
		padding: 8px 12px;
		border-bottom: 1px solid #dbdbdb;
	}

	.pblocks {
		padding: 8px 0;
	}

	.pblocks li {
		float: none !important;
		margin: 0 0 10px !important;
		width: 100%;
	}

	.pblock,
	.pblocks_top,
	.pblocks_bottom,
	.product_list_footer {
		width: 100%;
		box-sizing: border-box;
		background-size: 100% 100%;
	}

	.pblock {
		height: auto;
		padding: 8px;
	}

	.pblock .rblock {
		width: auto;
		overflow: hidden;
	}

	.pblock .descr_block,
	.pblock .rblock_buy {
		width: 100%;
	}

	.rblock div {
		height: auto;
	}

	.product_table,
	.cart_table,
	.cart_navi,
	.product_bottom,
	.ed_block,
	.ed_block_content,
	.edpi,
	.faq .ontop,
	.answer,
	.question,
	.order_info_tbl {
		width: 100% !important;
	}

	.product_name,
	.product_descr {
		float: none;
		width: auto;
	}

	.product_info {
		margin-bottom: 8px;
	}

	.product_info .pic_side {
		float: left;
		width: 48px;
		margin: 0 8px 4px 0;
		text-align: left;
	}

	.product_info .pic_side img {
		width: 48px;
		height: auto;
	}

	.product_descr {
		overflow: hidden;
		font-size: 12px;
		max-height: 2.8em;
	}

	.product_descr td {
		height: auto;
		vertical-align: top;
	}

	.title_products {
		font-size: 16px;
		margin: 4px 0 6px;
	}

	.dose-tabs {
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		margin: 0 0 6px;
	}

	.dose-tabs a {
		-webkit-box-flex: 1;
		-webkit-flex: 1 1 0;
		flex: 1 1 0;
		text-align: center;
		padding: 7px 6px;
		margin: 0 3px 0 0;
		border: 1px solid #cfcfcf;
		background: #fff;
		color: #333;
		text-decoration: none;
		font-size: 13px;
		font-weight: bold;
		border-radius: 4px;
	}

	.dose-tabs a:last-child {
		margin-right: 0;
	}

	.dose-tabs a.active {
		background: #1d7f97;
		color: #fff;
		border-color: #1d7f97;
	}

	.product_table {
		margin-bottom: 6px;
	}

	.product_table .trh,
	.product_table .tr .clear,
	.product_bottom {
		display: none !important;
		height: 0;
		margin: 0;
		padding: 0;
	}

	.product_table .tr {
		display: -webkit-box !important;
		display: -webkit-flex !important;
		display: flex !important;
		-webkit-box-align: center;
		-webkit-align-items: center;
		align-items: center;
		-webkit-flex-wrap: nowrap;
		flex-wrap: nowrap;
		height: auto !important;
		min-height: 0;
		padding: 4px 6px !important;
		margin: 0 0 3px !important;
		background: #fff !important;
		border: 1px solid #e5e5e5;
		line-height: 1.15 !important;
		box-sizing: border-box;
		overflow: hidden;
	}

	.product_table .td,
	.product_table .fst,
	.product_table .snd,
	.product_table .thd,
	.product_table .fth,
	.product_table .vt,
	.product_table .vth {
		float: none !important;
		clear: none !important;
		width: auto !important;
		height: auto !important;
		padding: 0 4px 0 0 !important;
		line-height: 1.15 !important;
		text-align: left;
	}

	.product_table .fst {
		-webkit-box-flex: 1;
		-webkit-flex: 1 1 auto;
		flex: 1 1 auto;
		min-width: 0;
		font-size: 12px;
		padding-left: 20px !important;
		background-position: left center !important;
		background-size: 14px auto;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.product_table .snd {
		-webkit-flex: 0 0 auto;
		flex: 0 0 auto;
		font-size: 14px;
		color: #e3580c;
		padding-right: 6px !important;
		white-space: nowrap;
	}

	.product_table .thd,
	.product_table .fth {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
		padding: 0 !important;
		margin: 0 !important;
		overflow: hidden;
	}

	.product_table .vth {
		-webkit-flex: 0 0 auto;
		flex: 0 0 auto;
		margin-left: 0;
		padding: 0 !important;
		white-space: nowrap;
	}

	.product_table .vth table,
	.product_table .vth td {
		width: auto !important;
		height: auto !important;
		margin: 0;
		padding: 0;
	}

	.product_table .vth a {
		display: inline-block !important;
		float: none !important;
		padding: 5px 8px 5px 16px !important;
		font-size: 11px !important;
		line-height: 1.2 !important;
		background-position: left center;
	}

	.product-table-bonus-pills,
	.product-table-bonus-shipping {
		float: none;
		width: auto;
		padding: 0;
		margin: 0;
	}

	.cart_table .td,
	.cart_table .fst,
	.cart_table .tr .fst,
	.cart_table .fst_half,
	.cart_table .tr .fst_half,
	.cart_table .snd,
	.cart_table .thd,
	.cart_table .fth,
	.cart_table .trh .fth,
	.cart_table .tr .fth,
	.cart_table .vth,
	.cart_table .sth,
	.cart_table .tth {
		float: none;
		width: auto !important;
		text-align: left;
		padding: 4px 8px;
		line-height: 22px;
	}

	.cart_table .trh {
		height: auto;
		line-height: 22px;
	}

	.cart_navi li {
		float: none;
		width: 100%;
		margin: 0 0 8px;
	}

	.cart_navi .left,
	.cart_navi .center,
	.cart_navi .right {
		width: 100%;
		margin: 0;
		background-size: 100% 100%;
	}

	.contact_form,
	.contact_form .text,
	.contact_form textarea,
	.order_status .text {
		width: 100% !important;
		padding-left: 0;
		box-sizing: border-box;
	}

	.contact_form .fields dt,
	.order_status .fields dt {
		width: auto;
		text-align: left;
		position: static;
	}

	.contact_form .fields dd,
	.order_status .fields dd,
	.contact_form .conf_code dd,
	.order_status .conf_code dd {
		padding: 0;
		margin: 4px 0 10px;
	}

	.contact_form .bttn,
	.order_status .bttn {
		margin-left: 0;
	}

	.ed_block,
	.edpi {
		height: auto;
		overflow: visible;
		background-size: cover;
	}

	.ed_ico,
	.ed_info,
	.ed_buy,
	.ed_caption,
	.edpi .pic,
	.edpi .dtext {
		float: none;
		width: auto;
		margin: 8px;
		height: auto;
	}

	.insurance-title {
		width: auto;
		padding: 8px;
	}

	#footer_bg {
		background: #ededee;
	}

	#footer {
		width: 100%;
		height: auto;
		padding: 12px 8px 24px;
		box-sizing: border-box;
		text-align: center;
	}

	.bottom_menu li {
		float: none;
		display: inline;
		line-height: 28px;
		padding: 0 4px;
	}

	#copyright {
		float: none;
		display: block;
		line-height: 24px;
		padding-top: 8px;
	}

	.quickSearchBlock {
		z-index: 40;
	}

	.bgLandFooter {
		display: none;
	}

	.decor,
	.slot .block {
		width: 100%;
		float: none;
	}
}

@media screen and (max-width: 480px) {
	#header_bg {
		height: 84px;
		background-size: auto 84px;
	}

	#site_name {
		height: 68px;
		max-width: 68%;
	}

	#site_name .header-logo {
		height: 68px;
		max-height: 68px;
	}

	.hcart {
		top: 46px;
		padding-left: 40px;
	}
}
