@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700,800&subset=cyrillic');

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
    -webkit-border-sizing: border-box;
    -moz-box-sizing: border-box;
}

body {
	font-family: 'Open Sans', sans-serif;
	font-size: 100%;
	font-weight: 400;
	line-height: 150%;
	color: #000;
}

h1, h2 {
	font-weight: 900;
	line-height: 120%;
	width: 100%;
	margin: 0;
	padding: 0;
	word-wrap: break-word;
	text-transform: uppercase;
}

h1, h2 {
	font-size: 180%;
}

.header .phone a:link {
	color: #ecf0f1;
}

a:visited {
	color: #7f8c8d;
}

a:hover {
	color: #f39c12;
}

a[href^="tel"] {
	text-decoration: none;
}

ul {
	margin-left: 2rem;
}

table {
	width: 100%;
	border-spacing: 0;
	margin: 0;
}

td, th {
	padding: 1rem .5rem;
	text-align: left;
	border-bottom: 1px dashed #d1ccc0;
}

tfoot td{
	border-bottom: none;
}

input[type=radio] + label {
	cursor: pointer;
	background: none;
}

input[type=radio]:not(checked) {
	position: absolute;
	opacity: 0;
}

input[type=radio]:not(checked) + label {
	position: relative;
	padding: 0 1.5rem 0 1.7rem;
}

input[type=radio]:not(checked) + label:before {
	content: '';
	position: absolute;
	top: 0;	
	left: 0;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #ecf0f1;
	transition: all .4s;
}

input[type=radio]:not(checked) + label:after {
	content: '';
	position: absolute;
	top: 4px;
	left: 4px;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	background: #2c3e50;
	opacity: 0;
	transition: all .4s;
}

input[type=radio]:checked + label:after {
	opacity: 1;
}

input[type=radio]:disabled + label:before {
	opacity: .3;
	transition: all .4s;
}

input[type=radio]:disabled + label:after {
	opacity: 0;
	transition: all .4s;
}

input[type=range] {
	margin: .5rem 0;
	display: block;
	width: 200%;
	border-radius: 4px;
	height: 4px;
	background-color: #ecf0f1;
	-webkit-appearance: none;
}

input[type='range']::-webkit-slider-thumb {
	-webkit-appearance: none;
	background-color: #ecf0f1;
	border: 3px solid #2c3e50;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	cursor: pointer;
}
	
input[type=range]:focus {
	outline: none;
}

input[type=email], input[type=phone], textarea {
	font-family: 'Open Sans', sans-serif;
	font-size: 90%;
	width: 100%;
	display: block;
	padding: .5rem;
	margin: .5rem auto;
	border: #bdc3c7 1px solid; 
	outline: none; 
	box-sizing: border-box;
	-webkit-border-sizing: border-box;
	-moz-box-sizing: border-box;
}

textarea {
	margin-top: 1.5rem;
	resize: none;
}

input[type=submit] {
	cursor: pointer;
	text-transform: uppercase;
	font-weight: 700;
	margin-top: 1rem;
	padding: .8rem 1.2rem;
	color: #fff;
	outline: none;
	border: none;
	border-radius: 20px;
	background: linear-gradient(#5f27cd 35%, #341f97 65%);
	box-shadow: 0 0 0 60px rgba(0,0,0,0) inset, .1em .1em .2em #999;
}

input[type=submit]:hover, input[type=button]:hover {
	background: linear-gradient(#686de0 35%, #4834d4 65%);
}

input[type=submit]:active, input[type=button]:active {
	box-shadow: 0 0 0 60px rgba(0,0,0,.05) inset;
}

input[type=submit]:disabled {
	background: linear-gradient(#C9C8B4, #C9C8B4 35%, #757463 65%, #757463);
}

/* Main */
header {
	background: #2c3e50;
}

.content-inner {
	max-width: 1024px;
	margin: 0 auto;
	box-sizing: border-box;
	-webkit-border-sizing: border-box;
	-moz-box-sizing: border-box;
}

.bg-calc {
	background: #fed035;
	padding-top: 15px;
	padding-bottom: 15px;
}

/* Header */
	.header {
		width: 100%;
		color: #ecf0f1;
		text-align: center;
		padding: .5rem 0;
	}
	
	.header div {
		padding: .5rem 0;
	}
	
	.header .logo {
		font-size: 140%;
		font-weight: 800;
		line-height: 110%;
		text-transform: uppercase;
	}
	
	.header .phone span {
		display: block;
		font-size: 60%;
		margin-top: 1rem;
	}
	
	.header .phone a {
		display: block;
		font-size: 200%;
		font-weight: 800;
		line-height: 110%;
		text-decoration: none;
	}
	
	.header .phone img {
		display: inline;
		width: 26px;
		height: 26px;
		margin-left: 1rem;
		vertical-align: middle;
		
	}
	
	.header .info {
		font-size: 90%;
		line-height: 130%;
	}
	
	.header .info img {
		width: 15px;
		height: 15px;
		margin-right: .3rem;
		position: relative;
		top: 3px;
	}
	
	.header a {
		color: #ecf0f1;
	}
	
	.header a:hover {
		color: #bdc3c7;
	}

/* Section */
.flex {
		padding: 2rem 1rem;
	}

.info-block div:first-child {
	padding-bottom: 2rem;
	margin-bottom: 2rem;
	border-bottom: 1px solid #bdc3c7;
}

.info-block p {
	padding: 1rem 0;
}

.calc .img {
	display: none;
}

.payment-comment {
	font-size: 90%;
}

.info-block img {
	width: 49%;
}
	
/* Calc */	
.calc strong {
	display: block;
	text-transform: uppercase;
	padding-top: .9rem;
	margin-top: .8rem;
	border-top: 1px dashed #e4b809;
}

	.calc strong:first-child {
		padding-top: 0;
		margin-top: 0;
		border-top: none;
	}

.calc p {
	margin: .3rem 0;
	display: inline-block;
	width: auto;
	min-width: 80px;
}

.calc .total {
	width: 100%;
	font-size: 90%;
	padding-top: 1rem;
	margin-top: 1rem;
	border-top: 1px dashed #e4b809;
	
}

.calc .total p {
	display: block;
	width: auto;
}

.calc .total strong {
	padding-top: 0;
	margin-top: 0;
	margin-bottom: .8rem;
	border-top: none;
	font-size: 300%;
	line-height: 100%;
}

.calc .total img {
	display: none;
}

.calc span > img {
	top: 0;
	width: 14px;
	height: 14px;
}

.calc .total span > img {
	display: inline-block;
	top: 0;
	width: 14px;
	height: 14px;
	margin-right: 0;
}

.btn {
	position: relative;
	display: flex;
	margin-top: 1rem;
}

.total .order:before {
	position: absolute;
	content: '';
	left: 25px;
	top: 12px;
	height: 30px;
	width: 30px;
	filter: invert(100%);
	background: url(/img/ico-order.svg) 0 0 no-repeat;
}

.total .order a {
	padding: 1rem 2rem 1rem 4rem;
	color: #fff;
	font-weight: 700;
	text-decoration: none;
	text-transform: uppercase;
	border-radius: 2rem;
	background: linear-gradient(#e74c3c 35%, #c0392b 65%);
	box-shadow: 0 0 0 60px rgba(0,0,0,0) inset, .1em .1em .4em #7f8c8d;
}

.total .order a:hover {
	background: linear-gradient(#3498db 35%, #2980b9 65%);
}

.total .order a:active {
	box-shadow: 0 0 0 60px rgba(0,0,0,.5) inset;
}

/* Tooltip */
.tooltip {
	display: inline-flex;
	position: relative;
	top: -6px;
	left: -22px;
	cursor: help;
}

.tooltip > span {
	position: absolute;
	bottom: 20px;
	left: -2em; /* = max-width */
	/* right: -20em; */ /* = max-width */
	width: -moz-max-content;
	width: -webkit-max-content;
	/* width: max-content; */  /* ширина подсказки может быть не более содержимого */
	max-width: 16em;  /* ширина подсказки может быть не более 20em */
	max-height: 80vh; /* необязательное ограничение по высоте подсказки, 1vh — это 1% от ширины окна */
	overflow: auto;
	visibility: hidden;
	margin: 0 auto; /* поднята на .4em над текстом, наведя или нажав на который появится пояснение */
	padding: .6rem;
	border: 1px solid #2c3e50;
	font-size: 90%;
	background: #fff;
	line-height: normal;
	cursor: auto;
}

.tooltip:hover > span,
.tooltip:hover:before,
.tooltip:hover:after,
.tooltip:focus > span,
.tooltip:focus:before,
.tooltip:focus:after {
	visibility: visible;
	transition: 0s .4s;
}

.tooltip:focus {
	outline: none;
}

.popup img {
	width: 25%;
	height: 25%;
	display: block;
	margin: 0 auto 1.5rem;
}

.popup em {
	font-size: 90%;
	color: #7f8c8d;
	font-style: normal;
}

@media only screen and (min-width: 1024px) {
	h1, h2 {
		font-size: 250%;
	}
	
	/* Header */
	.header {
		width: 100%;
		display: flex;
		align-items: center;
		-webkit-align-items: center;
	}
	
	.header div {
		width: 33.3%;
		box-sizing: border-box;
		-webkit-border-sizing: border-box;
		-moz-box-sizing: border-box;
	}
	
	.header .phone span {
		display: none;
	}
	
	.header .info {
		text-align: right;
	}
	
	/* Section */
	.flex {
		display: flex;
		padding: 2rem 0;
		justify-content: space-between;
		-webkit-justify-content: space-between;
		flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
	}
	
	.flex div {
		box-sizing: border-box;
		-webkit-border-sizing: border-box;
		-moz-box-sizing: border-box;
	}
	
	.calc .img {
		display: inline-block;
		position: relative;
		top: 3px;
		left: 0;
		width: 442px;
		height: 600px;
	}
	
	.calc {
		padding: 1.5rem 0;
		align-items: center;
		-webkit-align-items: center;
	}
	
	.calc div {
		width: 50%;
	}
	
	.calc p {
		width: auto;
		min-width: 80px;
	}
	
	.calc .total p {
		display: inline-block;
		width: auto;
	}
	
	.calc .total img {
		display: inline-block;
		width: 22px;
		height: 22px;
		position: relative;
		top: 7px;
		margin-right: .8rem;
	}
	
	.info-block div {
		width: 48%;
		padding-top: 15px;
	}

	.info-block div:first-child {
		padding-bottom: 0;
		margin-bottom: 0;
		border-bottom: none;
	}
	
	.info-block img {
		width: auto;
		margin: 1rem;
	}
	
	
	
}
.nav_container, .nav_sub_container {
    justify-content: center;
    -webkit-justify-content: center;
    padding-left: 0;
}
.nav_container, .nav_sub_container {
    /* overflow-x: scroll; */
    height: 40px;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    background: rgba(34, 47, 62,1.0);
    padding-left: .5em;
}
.nav_list, .nav_list_sub {
    position: relative;
    display: inline-flex;
    flex-wrap: nowrap;
    transition-property: left;
    transition-duration: .3s;
    transition-timing-function: ease;
}
.nav_list a, .nav_list_sub a {
    margin-right: 1.5em;
}
.nav_list a {
    word-wrap: break-word;
    display: flex;
    white-space: nowrap;
    align-items: center;
    -webkit-align-items: center;
    font-size: .8em;
    padding: .2em .6em .2em .3em;
    margin-right: .5em;
    text-decoration: none;
    background: rgba(255,255,255,1);
    border-radius: 2em;
}
a:visited {
    color: rgba(0,0,0,1);
}
.nav_list a span {
    background: rgba(183, 21, 64,1.0);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 100%;
    margin-right: .4em;
}
.nav_list a:nth-of-type(2) span {
    background: rgba(48,57,82,1);
}
.nav_list svg {
    display: block;
    width: auto;
    height: 16px;
    fill: #fff;
}

@media only screen and (min-width: 1024px) {
    .product_container {
        padding: 0;
    }
    .content-inner {
        max-width: 1200px;
    }
    .product_list {
        display: flex;
        flex-wrap: wrap;
    }
    .product_list > div {
        width: 48%;
        margin: 1%;
        padding: 1em 2em;
        background: rgba(0,0,0,.02);
        border: 1px solid rgba(0,0,0,.1);
        border-bottom: none;
    }
    .product_list .info div:nth-child(2n+1) {
        width: 60%;
    }
    .product_list .info div:nth-child(2n) {
        width: 40%;
        text-align: left;
    }
    .product_list > div:last-child {
        border-bottom: 1px solid rgba(0,0,0,.1);
    }
    .product_container h1:first-child {
        margin: 2em 0;
    }
}

.product_list {
        position: relative;
    }
.product_list > div {
    padding-bottom: 2em;
    margin-bottom: 2em;
    border-bottom: 1px solid rgba(0,0,0,.1);
}
.product_container {
    padding: 0 .5em;
}
.content-inner {
    padding: .5em;
    margin: 0 auto;
}
.product_list img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}
.product_list h1 {
    font-size: 1.5em;
}
.product_list .info {
    display: flex;
    flex-wrap: wrap;
    margin: 1em 0;
}
.product_list .info div:nth-child(2n+1) {
    width: 70%;
}
.product_list .info div {
    border-bottom: 1px solid rgba(0,0,0,.1);
    padding: .3em 0;
}
.product_list .info div:nth-child(2n) {
    width: 30%;
    text-align: right;
}
.price {
    width: 100%;
    display: flex;
    align-items: center;
    -webkit-align-items: center;
    padding: .5em 0;
    color: rgba(44,62,80,1);
}
.price > div:nth-child(1) {
    font-size: 2.6em;
    line-height: 1em;
    font-weight: 700;
    margin-right: .5em;
}
.product_list .order a {
    background: rgba(255, 211, 42,1.0);
}
.order a {
    padding: .5em 1em;
    color: rgba(44,62,80,1);
    border-radius: 2em;
    background: rgba(255,255,255,1);
    text-decoration: none;
}
a:link {
    color: rgba(0,0,0,1);
    transition: .5s;
}
.order a:active {
    background: rgba(44,62,80,.6);
}
.order a:hover {
    color: rgba(255,255,255,1);
    background: rgba(46, 204,113,1);
}
.product_list > div:last-child {
    /* border-bottom: none; */
}
.product_container h1:first-child {
    font-size: 1.5em;
    text-align: center;
}
.product_container .sec_description h1 {
    margin: 1em auto;
}
.product_container .sec_description p {
    text-align: left;
}
@media only screen and (min-width: 1024px) {
    .product_container .sec_description p {
    margin-left: 1.5em;
    margin-right: 1.5em;
    }
}
.product_container .sec_description {
    margin-bottom: 1.5em;
}
