/****************Base*styles********************/
*{
	box-sizing: border-box;
}


html{
	overflow-x: hidden;
}

body,html{
    font-size: 16px;
    line-height: 22px;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    color: #000;
		overflow-x: hidden;
}

html.hidden{
	overflow: hidden;
}

a{
	cursor: pointer;
	outline: none;
}

a:hover{
	text-decoration: none;
}

ul{
	padding: 0 0 0 20px;
	margin: 0;
}

body,html,div,section{
	padding: 0;
	margin: 0;
}

button,input{
    outline: none;
}

body, input, button, label{
	font-family: 'Montserrat', sans-serif;
}

section{
    position: relative;
}

.center{
	text-align: center;
}

a{
	text-decoration: none;
}

a:hover{
	text-decoration: underline;
}

p{
	margin: 0 0 20px 0;
	font-size: 18px;
	font-weight: 300;
}

button{
	border:none;
}

h1,h2,h3,h4,h5,h6{
	margin: 0 0 20px 0;
}

.container{
	width: 1300px;
	margin: 0 auto;
}

.header{
	padding-top: 20px;
	padding-bottom: 20px;
	margin-bottom: 40px;
	background-image: url(../images/header-bg.png);
	background-size: contain;
	background-position: right;
	background-repeat: no-repeat;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
}

.header a{
	color: #fff;
}

.header .container{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header-items{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	transition: 0.3s ease;
}

.header-bg{
	right: 0;
	top: 0;
	position: absolute;
	width: 1000px;
	z-index: 1;
}

.logo img{
	width: 200px;
}

.header-items a img{
	width: 30px;
	margin-right: 10px;
}

.header-items.fixed{
	position: fixed;
	z-index: 200;
	top: -16px;
	right: 0;
	height: auto;
	transform:  translateY(0);
	padding-right: calc((100vw - 1300px) / 2);
	background-image: url(../images/header-bg.png);
	background-size: contain;
	background-position: right;
	background-repeat: no-repeat;
	padding-top: 30px;
	padding-bottom: 30px;
	padding-left: 100px;
}

.header-items a{
	display: flex;
	align-items: center;
	margin-left: 30px;
	position: relative;
	z-index: 2;
}

.header-items a:hover{
	text-decoration: none;
}

#main{
	background-image: url(../images/main_bg.png);
	background-position:  center;
	padding-bottom: 100px;
	background-size: cover;
}

.relative{
	position: relative;
}

#stone{
	position: absolute;
	right: -29%;
	top: -40px;
	width: 830px;
}

.main-info-block h1{
	font-size: 50px;
	text-transform: uppercase;
	line-height: 100%;
	font-weight: 400;
}

.describe-text{
	position: relative;
	padding-right: 60%;
	margin-bottom: 50px;
}

#img-cert{
	position: absolute;
	right: 39%;
	top: -52%;
	width: 240px;
}

.advantages-title{
	color: #fff;
	background-color: #61667f;
	font-size: 30px;
	padding: 12px 25px;
	display: inline-block;
	border-radius: 100px;
	font-weight: 500;
	margin-bottom: 30px;
}

.advantages{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	width: 70%;
}

.advantage img{
	width: 50px;
}

.advantage{
	display: flex;
	align-items: flex-start;
}

.advantage img{
	margin-right: 20px;
}

#about{
	padding-top: 60px;
	padding-bottom: 60px;
	background-image: url(../images/second-bg.png);
	background-position: 5% 5%;
	background-size: cover;
}

.title{
	color: #fff;
	font-size: 40px;
	line-height: 120%;
	margin-bottom: 30px;
}

.huato-text{
	color: #fff;
	position: relative;
	padding-right: 20%;
	margin-bottom: 40px;
}

#igly{
	width: 220px;
	position: absolute;
	right: 0;
	top: -120px;
}

.choise-diametr{
	display: flex;
	justify-content: space-between;
	margin-bottom: 40px;
}

.choise-diametr a{
	width: 20%;
	display: block;
}

.choise-diametr img{
	width: 100%;
}

.buy-block{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 20px;
}

.buy-item > img{
	width: 100%;
}

.btn-buy{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 30px;
	cursor: pointer;
	background: rgb(64,82,112);
	background: linear-gradient(90deg, rgba(64,82,112,1) 50%, rgba(211,228,247,1) 100%);
	border-radius: 50px;
	margin-bottom: 20px;
}

.btn-buy > div{
	display: flex;
}

.size img, .diametr img{
	width: 30px;
	margin-right: 10px;
}

.size, .diametr{
	color: #fed64f;
	align-items: center;
	display: flex;
	margin-right: 10px;
}

.price-item{
	display: grid;
	grid-template-columns: 1fr 110px;
	padding: 0 20px;
	gap: 20px;
}

.price-item .price{
	font-size: 20px;
	font-weight: 600;
	text-align: right;
}

#loyaty{
	padding-top: 100px;
	padding-bottom: 60px;
	background-color: #252525;
	background-image: url(../images/loyalty.png);
	background-size: cover;
	background-position: 50% 15%;
}

#loyaty .container{
	position: relative;
}

.loyalty img{
	width: 500px;
	margin-bottom: 20px;
}

.loyaty-title{
	font-size: 40px;
	line-height: 120%;
	color: #6d6d6d;
	margin-bottom: 40px;
}

.loyaty-title span{
	font-size: 50px;
	text-transform: uppercase;
}

#card{
	position: absolute;
	right: 0;
	top: 0;
	width: 600px;
}

.shadow{
	position: absolute;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100%;
	z-index: -9999;
	opacity: 0;
	transition: 0.1s ease;
	background-color: #0000007e;
	overflow-y: scroll;
}

.shadow.opn{
	opacity: 1;
	z-index: 20;
}

.shadow-cert{
	position: absolute;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100%;
	z-index: -9999;
	opacity: 0;
	transition: 0.1s ease;
	background-color: #0000007e;
	overflow-y: scroll;
}

.shadow-cert.opn{
	opacity: 1;
	z-index: 20;
}

.popup{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-30%);
	background-color: #fff;
	z-index: 30;
	border-radius: 20px;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 0px 20px 50px 20px;
	width: 1000px;
	max-height: 90%;
	transition: 0.3s ease;
}
.popup-cert{
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translateX(-50%) translateY(-30%);
	background-color: #fff;
	z-index: 30;
	border-radius: 20px;
	overflow-x: hidden;
	overflow-y: auto;
	padding: 0px 20px 50px 20px;
	width: 60vw;
	height: 80vh;
	transition: 0.3s ease;
}
.popup.opn{
	transform: translateX(-50%) translateY(-50%);
}
.popup-cert.opn{
	transform: translateX(-50%) translateY(-50%);
}
.popup-title{
	color: #fff;
	text-align: center;
	font-size: 30px;
	margin-bottom: 50px;
	background-image: url(../images/pop-head.png);
	background-position: 130% -48px;
	background-repeat: no-repeat;
	background-size: 800px;
	padding-top: 30px;
	margin-right: -20px;
	margin-left: -20px;
	padding-bottom: 40px;
}
.popup-title-cert{
	color: #fff;
	text-align: center;
	font-size: 25px;
	margin-bottom: 50px;
	background-image: url(../images/pop-head.png);
	background-position: 160% -48px;
	background-repeat: no-repeat;
	background-size: 1000px;
	padding-top: 30px;
	margin-right: -20px;
	margin-left: -20px;
	padding-bottom: 40px;
}
.closebasket{
	position: absolute;
	right: 20px;
	top: 27px;
	cursor: pointer;
}
.close-cert{
	position: absolute;
	right: 20px;
	top: 27px;
	cursor: pointer;
}
.basket{
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: 30px;
}
#img-cert-popup{
	position: absolute;
	width: 50vw;
	left: 10%;
}
.personal-data{
	padding: 30px 20px;
	box-shadow: 0px 4px 20px 0px rgba(0, 0, 0, 0.08);
	border-radius: 6px;
}

.pop-title{
	font-size: 20px;
	margin-bottom: 15px;
}

.itog{
	display: flex;
	justify-content: space-between;
}

.order-price{
	font-weight: 700;
	font-size: 18px;
}

.shipping-coast{
	margin-bottom: 30px;
	display: flex;
	justify-content: space-between;
}
.shipping{
	font-weight: 300;
	font-size: 10px;
	align-items: self-start;
}
.personal-data input, textarea{
	width: 100%;
	display: inline-block;
	margin-bottom: 10px;
	padding: 15px;
	border-radius: 4px;
	border: 1px solid #EDEDED;
	background: #FCFCFC;
	font-family: 'Montserrat', sans-serif;
}

textarea::placeholder{
	opacity: 0.4;
	font-family: 'Montserrat', sans-serif;
}

.personal-data input::placeholder{
	opacity: 0.4;
}

.personal-data button{
	border-radius: 100px;
	border: 1px solid #01A0E2;
	background: #01A0E2;
	color: #fff;
	text-transform: uppercase;
	padding: 17px 0;
	text-align: center;
	width: 100%;
	display: inline-block;
	cursor: pointer;
	transition: 0.3s ease;
	margin-top: 30px;
}

.personal-data button:hover{
	background-color: #019ee2a9;
}

.clear-basket{
	text-align: right;
	display: inline-block;
	margin-bottom: 20px;
	cursor: pointer;
}

.right{
	text-align-last: right;
}

.basket-item{
	display: flex;
	align-items: flex-start;
	border-top: 1px solid #F0F0F0;
	width: 100%;
	padding: 20px;
	margin-bottom: 20px;
	gap:20px;
}

.basket-item:last-child{
	border-bottom: 1px solid #F0F0F0;
}

.basket-item img{
	width: 100px;
}

.basket-item-name{
	font-size: 20px;
	margin-bottom: 5px;
}

.basket-item-describe{
	font-size: 14px;
	margin-bottom: 10px;
}

.basket-item-serial{
	font-size: 12px;
	color: #808080;
	font-weight: 300;
}

.basket-item-price{
	font-weight: 700;
	font-size: 20px;
	margin-bottom: 35px;
}

.basket-item-info{
	margin-right: 20px;
}

.basket-item-total{
	display: flex;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 10px;
	align-items: center;
}

.basket-item-delete img{
	width: 24px;
}

.decr, .incr{
	width: 36px;
	height: 36px;
	border: 1px solid #F0F0F0;
	display: flex;
  align-items: center;
  justify-content: center;
	cursor: pointer;
}

.basket-item-counter{
	display: flex;
}

.count{
	width: 48px;
	border: 1px solid #F0F0F0;
	text-align: center;
}

.item-sum{
	font-size: 14px;
	opacity: 0.5;
}

#buy-block{
	padding: 80px 0;
	background-color: #fff;
}

#buy-block .title{
	color:#405270;
	font-size: 20px;
}

.card-item{
	border-radius: 20px;
	border: 1px solid #6587BB;
	color: #405270;
	background: #FFF;
	padding: 25px 30px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.card-item-cart{
	border-radius: 20px;
	border: 1px solid #66BB79;
	color: #405270;
	background: #FFF;
	padding: 25px 30px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
}
.cards{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	width: calc(100% - 200px);
}

.card-item-name{
	font-size: 20px;
}

.card-item-diametr{
	display: flex;
	align-items: center;
	font-size: 16px;
}

.card-item-diametr img{
	margin-right: 10px;
}

.card-item-price{
	font-size: 24px;
	font-weight: 600;
}

.card-item img{
	max-width: 260px;
}
.card-item-cart img{
	max-width: 260px;
}
.card-item-info{
		display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.cards{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	width: calc(100% - 200px);
}

@media (max-width: 1320px){
	.container{
		width: 800px;
	}

	.cards{
		gap: 10px;
	}

	.card-item img{
		max-width: 160px;
	}
	.card-item-cart img{
		max-width: 160px;
	}

	.card-item-name{
		font-size: 16px;
	}

	.card-item-diametr{
		font-size: 14px;
	}

	.card-item-price{
		font-size: 20px;
	}

	.card-item{
		padding: 10px 15px;
		border-radius: 10px;
	}
	.card-item-cart{
		padding: 10px 15px;
		border-radius: 10px;
	}

	#about{
		background-position: 0% 0%;
    background-size: 160%;
	}

	#stone{
		width: 600px;
    right: -32%;
	}

	.header {
    padding-top: 10px;
    padding-bottom: 10px;
		background-size: 50% 100%;
		background-position: top right;
	}

	.header-items a{
		font-size: 16px;
	}

	.logo img {
    width: 150px;
	}

	.main-info-block h1{
		font-size: 40px;
	}

	#img-cert {
    position: absolute;
    right: 31%;
    top: -2%;
    width: 211px;
	}

	.advantages{
		font-size: 14px;
		gap: 10px;
		width: 100%;
	}

	.title{
		font-size: 35px;
	}

	.huato-text{
		font-size: 16px;
	}

	#igly{
		width: 150px;
	}

	.size img, .diametr img{
		width: 20px;
		margin-right: 5px;
	}

	.btn-buy{
		padding: 6px 15px;
		font-size: 14px;
	}

	.price-item .price{
		font-size: 16px;
	}

	.price-item{
		gap: 10px;
		padding: 0;
		font-size: 14px;
		grid-template-columns: 1fr 75px;
	}

	.header-items.fixed{
		padding-right: calc((100vw - 800px) / 2);
		top: -19px;
	}

	.loyalty img{
		width: 350px;
	}

	#card{
		width: 400px;
	}

	#loyaty{
		padding-top: 50px;
		padding-bottom: 30px;
	}

	.popup{
		width: 90%;
	}

	.popup-title{
		background-position: calc(100% + 50px) -56px;
	}

	.basket{
		grid-template-columns: 1fr;
	}

	.basket-item{
		justify-content: space-around;
	}
}

@media (max-width: 820px){
	.container{
		padding-left: 15px;
		padding-right: 15px;
		width: 100%;
	}

	#buy-block{
		padding: 40px 0;
	}

	#stone{
		display: none;
	}

	#img-cert{
		display: none;
	}

	.describe-text{
		padding-right: 0;
	}

	.main-info-block h1{
		font-size: 30px;
	}

	.describe-text{
		font-size: 14px;
	}

	.advantages-title{
		font-size: 20px;
	}

	.advantage img{
		width: 20px;
		margin-right: 10px;
	}

	.advantages{
		font-size: 12px;
		line-height: 120%;
		font-weight: 400;
	}

	#igly{
		display: none;
	}

	.title{
		font-size: 26px;
	}

	.huato-text{
		padding-right: 0;
		font-size: 14px;
	}

	.choise-diametr{
		flex-wrap: wrap;
		gap: 20px;
	}

	.choise-diametr a{
		width: 45%;
	}

	.choise-diametr a img{
		width: 100%;
	}

	.buy-block{
		grid-template-columns: 1fr;
	}

	#about{
    background: #405270;
	}

	#card{
		display: none;
	}

	.loyaty-title{
		font-size: 30px;
	}

	.loyaty-title span{
		font-size: 40px;
	}

	.loyalty img{
		width: 100%;
		max-width: 350px;
	}

	.header-items a span{
		display: none;
	}

	.logo img{
		width: 100px;
	}

	.header{
		background: none;
	}

	.header-items a img{
		margin-right: 0;
	}

	.header-items a{
		margin-left: 15px;
	}

	.header-items.fixed{
		padding-right: 15px;
		background: none;
		padding-left: 0;
	}

	.basket-item{
		flex-wrap: wrap;
		text-align: center;
	}

	.popup-title{
		font-size: 20px;
		margin-bottom: 25px;
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.popup{
		padding: 0 5px 20px 5px;
		border-radius: 5px;
		font-size: 14px;
	}

	.basket-item-name{
		font-size: 16px;
	}

	.basket-item-info{
		margin-right: 0;
	}

	.basket-item-price{
		margin-bottom: 15px;
	}

	.closebasket img{
		width: 15px;
	}

	.closebasket {
    right: 10px;
    top: 22px;
	}
	.cards{
		width: 100%;
	}
}
