/* --------------- Fonts --------------- */

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,300;0,400;0,700;1,300;1,400;1,700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital@0;1&display=swap');


/* --------------- reset.css --------------- */

html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
em,
img,
strong,
sub,
sup,
b,
u,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
table,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
   margin: 0;
   padding: 0;
   border: 0;
   outline: 0;
   vertical-align: baseline;
   background: transparent;
   font-size: 100%;
}

a {
   margin: 0;
   padding: 0;
   font-size: 100%;
   vertical-align: baseline;
   background: transparent;
   outline: none;
}

table {
   border-collapse: collapse;
   border-spacing: 0;
}

td,
td img {
   vertical-align: top;
}

input,
select,
button,
textarea {
   margin: 0;
   font-size: 100%;
   outline: none;
}

input[type="text"],
input[type="password"],
textarea {
   padding: 0;
}

input[type="checkbox"] {
   vertical-align: bottom;
}

input[type="radio"] {
   vertical-align: text-bottom;
}

sub {
   vertical-align: sub;
   font-size: smaller;
}

sup {
   vertical-align: super;
   font-size: smaller;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
   display: block;
}

ul li {
   list-style: none;
}


/* --------------- Basic settings --------------- */

/* html{
    height: 100%; width: 100%; } */

body {
   color: #707070;
   font-size: 1em;
   text-align: left;
   font-weight: 400;
   font-family: 'Roboto', sans-serif;
}

a,
a:visited {
   color: #2e2e2e;
   text-decoration: none;
   font-family: 'Montserrat', sans-serif;
}

/*
a:hover{
	color: #fff; text-decoration: none; }

a:focus, a:active{
	color: #fff; text-decoration: none; }
*/

h1,
h2,
h3,
h4,
h5,
h6 {
   font-weight: normal;
}

img {
   max-width: 100%;
}

.clr {
   clear: both;
}

.clearfix:after {
   clear: both;
   content: "";
   display: table;
}


/* --------------- General --------------- */

.anim {
   -webkit-transition: ease-out 0.15s;
   -moz-transition: ease-out 0.15s;
   -o-transition: ease-out 0.15s;
   transition: ease-out 0.15s;
}

.block_p {
   padding: 80px 0;
}

.fon {
   background: #f7f7f7;
}

.conteiner {
   max-width: 1170px;
   margin: 0 auto;
   padding: 0 20px;
   box-sizing: border-box;
}

.title {
   font-family: 'Montserrat', sans-serif;
   font-size: 2em;
   font-weight: 700;
   max-width: 80%;
   margin: 0 auto 20px;
   color: #2e2e2e;
}

.title-2 {
   font-family: 'Montserrat', sans-serif;
   font-size: 1.6em;
   font-weight: 700;
   max-width: 65%;
   margin: 0 auto 40px;
   color: #2e2e2e;
}

.title-3 {
   font-family: 'Montserrat', sans-serif;
   font-size: 1em;
   font-weight: 700;
   margin-bottom: 10px;
   color: #2e2e2e;
}

.title-3 strong {
   color: rgb(214, 190, 146);
}

.title-4 {
   font-family: 'Montserrat', sans-serif;
   font-size: 0.95em;
   font-weight: 700;
   margin-bottom: 10px;
   color: #2e2e2e;
}

.title-4 strong {
   color: rgb(214, 190, 146);
}

.text {
   font-size: 0.875em;
   line-height: 1.7;
}

.fl-l {
   float: left;
}

.fl-r {
   float: right;
}

.d-ib {
   display: inline-block;
}

.ta-c {
   text-align: center;
}

.br-r {
   border-radius: 6px;
}

.pd {
   padding: 20px 40px;
}

.d-b {
   display: block;
}

.tr {
   transition: .3s;
}

.m-b17 {
   margin-bottom: 17px;
}

.w100 {
   width: 100%;
}

.button {
   padding: 20px 0 19px;
   background: rgb(214, 190, 146);
   width: 100%;
}

.button:hover {
   background: rgb(191, 170, 130);
}

/* --------------- Home --------------- */

.top__header {
   background: #f7f7f7;
   padding: 15px 0;
}


.header__contact {
   max-width: 1170px;
}

.header__contact__item {
   float: left;
   width: 25%;
   font-size: 12px;
   color: #323232;
   position: relative;
   padding: 0 0 0 45px;
   box-sizing: border-box;
}

.header__contact__img {
   height: 30px;
   position: absolute;
   left: 0;
}


.home {
   background: url(../img/bg.jpg) center center;
   background-size: cover;
   position: relative;
   overflow: hidden;
}

.header {
   padding: 30px 0 26px;
}

.header__logo {
   box-sizing: border-box;
}

.logo {
   height: 70px;
   padding: 0 25px 0 0;
}

.logo__description {
   font-size: 0.75em;
   line-height: 1.7;
   position: relative;
   top: 2px;
   padding: 0 1px 0 0;
   vertical-align: top;
}

.messenger_icon {
   height: 24px;
   padding: 0 9px;
}

.messenger_text {
   font-size: 0.75em;
}

.header__messenger {
   margin: 0 30px 0 0;
   vertical-align: top;
}

.header__call {
   display: inline-block;
}

.header_phone_link {
   font-size: 1.4em;
   margin-bottom: 2px;
   display: inline-block;
}

.header_phone_link:hover {
   color: rgb(214, 190, 146);
}

.header_phone_time {
   font-size: 0.75em;
}

.home__content {
   padding: 40px 0 40px;
}

.overhead {
   margin-bottom: 10px;
}

.description {
   font-size: 1.125em;
   max-width: 80%;
   margin: 0 auto;
}

.home__content__item {
   padding: 40px 0 30px 0;
   max-width: 70%;
   margin: 0 auto;
}

.home__content__list {
   width: 49%;
   box-sizing: border-box;
   font-size: 0.95em;
   padding: 0 3px;
}

.home__content__btn-a {
   padding: 20px 40px 19px;
   box-sizing: border-box;
   background: rgb(214, 190, 146);
   width: 100%;
}

.home__content__btn-a:hover {
   background: rgb(191, 170, 130);
}

.home__content__btn-b {
   padding: 19px 40px 18px;
   box-sizing: border-box;
   border: 1px solid rgb(214, 190, 146);
   width: 100%;
}

.home__content__btn-b:hover {
   background: rgb(214, 190, 146);
}

.bottom_head {
   max-width: 70%;
   margin: 0 auto;
   font-size: 0.85em;
   line-height: 1.5;
}

.bottom_head_link {
   font-size: 18px;
   text-decoration: underline;
}

.bottom_head_link:hover {
   color: rgb(191, 170, 130);
}

/* --------------- Numbers --------------- */

.numbers__item__list {
   width: 25%;
   box-sizing: border-box;
   padding: 0 12px;
   text-align: left;
}

.number_icon {
   height: 80px;
   margin-bottom: 10px;
}

/* --------------- Stones --------------- */

.stones_wrap {
   background: #fff;
   padding: 80px 0;
   box-sizing: border-box;
   border-radius: 8px;
}

.stones-sorts {
   margin: 0 auto;
   display: block;
   width: 100%;
   box-sizing: border-box;
   padding: 20px 0 0 0;
}

.stones-sorts__item {
   width: 20%;
   display: inline-block;
   text-align: center;
   font-size: 16px;
   margin-bottom: 1px;
}

.stones-sorts__img {
   height: 100px;
   width: 100px;
   background: #999;
   display: inline-block;
   margin-bottom: 8px;
   border-radius: 100%;
   box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);
}

.stones-sorts__img--gabroo {
   background: url(../img/stone-1.jpg) center center;
   background-size: cover;
   position: relative;
   overflow: hidden;
}

.stones-sorts__img--dimovsky {
   background: url(../img/stone-2.jpg) center center;
   background-size: cover;
   position: relative;
   overflow: hidden;
}

.stones-sorts__img--pokostovsky {
   background: url(../img/stone-3.jpg) center center;
   background-size: cover;
   position: relative;
   overflow: hidden;
}

.stones-sorts__img--vozrozhdenie {
   background: url(../img/stone-4.jpg) center center;
   background-size: cover;
   position: relative;
   overflow: hidden;
}

.stones-sorts__img--smeshanny {
   background: url(../img/stone-5.jpg) center center;
   background-size: cover;
   position: relative;
   overflow: hidden;
}

.stones-sorts__img--01 {
   background: url(../img/stone-6.jpg) center center;
   background-size: cover;
   position: relative;
   overflow: hidden;
}

.stones-sorts__img--02 {
   background: url(../img/stone-7.jpg) center center;
   background-size: cover;
   position: relative;
   overflow: hidden;
}

.stones-sorts__img--03 {
   background: url(../img/stone-8.jpg) center center;
   background-size: cover;
   position: relative;
   overflow: hidden;
}

.stones-sorts__img--04 {
   background: url(../img/stone-9.jpg) center center;
   background-size: cover;
   position: relative;
   overflow: hidden;
}

.stones-sorts__img--05 {
   background: url(../img/stone-10.jpg) center center;
   background-size: cover;
   position: relative;
   overflow: hidden;
}

/* --------------- Price --------------- */

.price__item {
   width: 100%;
}

.price__item__list {
   width: 50%;
   box-sizing: border-box;
}

.price__item__list-2 {
   width: 50%;
   box-sizing: border-box;
   padding: 10px 50px;
}

.monument-spending__li {
   margin-bottom: 25px;
}

.monument-spending__li {
   position: relative;
   padding: 0 0 0 50px;
}

.monument-spending__li span {
   padding: 7px 12px 6px;
   border: 2px solid rgb(214, 190, 146);
   border-radius: 100%;
   display: block;
   position: absolute;
   left: 0;
}

.monument-spending__li strong {
   font-family: 'Montserrat', sans-serif;
   font-weight: 700;
   color: #2e2e2e;
}

.block__text-small {
   font-size: 0.85em;
   padding: 10px 0;
}

/* --------------- Steklo --------------- */

.steklo {
   padding:
}

.steklo__title {
   font-family: 'Montserrat', sans-serif;
   font-size: 1.6em;
   font-weight: 700;
   color: #2e2e2e;
   text-align: center;
   margin-bottom: 18px;
}

.steklo__text {
   display: flex;
   flex-direction: column;
   text-align: center;
   line-height: 1.5;
}

.steklo__row {
   display: flex;
   flex-direction: row;
   justify-content: center;
   align-items: center;
   margin-top: 20px;
   margin-bottom: 60px;
}

.steklo__row-2 {
   display: flex;
   flex-direction: row;
   justify-content: center;
}

.steklo__phone-link {
   font-weight: 700;
   font-size: 1.5em;
   margin: 0 20px 0 0;
   display: inline-block;
}

.steklo__link {
   display: flex;
   padding: 10px 20px;
   background: #fff;
   border-radius: 12px;
   margin-right: 6px;
}

.steklo__icon {
   height: 24px;
}

.steklo__images {
   display: flex;
   flex-direction: row;
   flex-wrap: wrap;
   width: 100%;
}

.steklo__img {
   width: 25%;
}

.map_2 {
   border: none;
}

/* --------------- Catalog --------------- */

.catalog__items {
   max-width: 1170px;
   margin: 0 auto;
}

.catalog__items__list {
   background: #fff;
   padding: 40px 20px;
   box-sizing: border-box;
   width: 48%;
   margin: 10px;
   display: inline-block;
   border-radius: 8px;
   vertical-align: top;
}

.cost {
   color: #2e2e2e;
   font-weight: 700;
}

.catalog__items__list__img {
   display: block;
   margin: 0 auto;
   margin-bottom: 20px;
}

.catalog__items-item-inner-models {
   text-align: center;
   padding: 20px 0 0 0;
}


/* --------------- Contact --------------- */

.contact_item {
   box-sizing: border-box;
   max-width: 90%;
   margin: 0 auto;
   padding: 20px 0;
}

.contact_item_list {
   width: 40%;
}

.contact_item_list-2 {
   width: 60%;
}

.contact_item_list_wrap {
   padding: 20px 100px 20px 0;
}

.contact_item_list_text {
   margin: 0 0 25px 0;
   padding: 0 0 0 60px;
   position: relative;
}

.contact_item_list_text strong {
   color: #2e2e2e;
   font-size: 13px;
   line-height: 1.5;
}

.contact_item_list_text span {
   color: #2e2e2e;
   line-height: 1.5;
   font-family: 'Montserrat', sans-serif;
}

.contact_item_list_icon {
   height: 42px;
   position: absolute;
   left: 0;
   top: 2px;
}

.carousel_link {
   border-radius: 6px;
   overflow: hidden;
   display: inline-block;
}


/* --------------- Footer --------------- */

.footer {
   padding: 60px 0;
   background: #fff;
}


/* --------------- Popup --------------- */

#small-dialog,
#small-dialog-2,
#small-dialog-3 {
   background: #fff;
   border-radius: 8px;
   padding: 45px 30px;
   text-align: left;
   max-width: 360px;
   margin: 40px auto;
   position: relative;
}

.popup_title {
   color: #2e2e2e;
   font-size: 1.6em;
   font-family: 'Montserrat', sans-serif;
   font-weight: 700;
   margin-bottom: 10px;
}

.popup_descripton {
   margin-bottom: 35px;
}

input.form_input {
   box-sizing: border-box;
   border-radius: 8px;
   border: 1px solid #ccc;
   display: block;
   width: 100%;
   margin-bottom: 10px;
   padding: 20px 20px 16px;
   font-size: 14px;
}

input.form_input:hover {
   border: 1px solid rgb(214, 190, 146);
}

.popup_form_btn {
   border: none;
   cursor: pointer;
   font-weight: 700;
}

/* start state */
.my-mfp-zoom-in .zoom-anim-dialog {
   opacity: 0;
   -webkit-transition: all 0.2s ease-in-out;
   -moz-transition: all 0.2s ease-in-out;
   -o-transition: all 0.2s ease-in-out;
   transition: all 0.2s ease-in-out;
   -webkit-transform: scale(0.8);
   -moz-transform: scale(0.8);
   -ms-transform: scale(0.8);
   -o-transform: scale(0.8);
   transform: scale(0.8);
}

/* animate in */
.my-mfp-zoom-in.mfp-ready .zoom-anim-dialog {
   opacity: 1;
   -webkit-transform: scale(1);
   -moz-transform: scale(1);
   -ms-transform: scale(1);
   -o-transform: scale(1);
   transform: scale(1);
}

/* animate out */
.my-mfp-zoom-in.mfp-removing .zoom-anim-dialog {
   -webkit-transform: scale(0.8);
   -moz-transform: scale(0.8);
   -ms-transform: scale(0.8);
   -o-transform: scale(0.8);
   transform: scale(0.8);
   opacity: 0;
}

/* Dark overlay, start state */
.my-mfp-zoom-in.mfp-bg {
   opacity: 0;
   -webkit-transition: opacity 0.3s ease-out;
   -moz-transition: opacity 0.3s ease-out;
   -o-transition: opacity 0.3s ease-out;
   transition: opacity 0.3s ease-out;
}

/* animate in */
.my-mfp-zoom-in.mfp-ready.mfp-bg {
   opacity: 0.8;
}

/* animate out */
.my-mfp-zoom-in.mfp-removing.mfp-bg {
   opacity: 0;
}

/* Fade-move animation for second dialog */

/* at start */
.my-mfp-slide-bottom .zoom-anim-dialog {
   opacity: 0;
   -webkit-transition: all 0.2s ease-out;
   -moz-transition: all 0.2s ease-out;
   -o-transition: all 0.2s ease-out;
   transition: all 0.2s ease-out;
   -webkit-transform: translateY(-20px) perspective(600px) rotateX(10deg);
   -moz-transform: translateY(-20px) perspective(600px) rotateX(10deg);
   -ms-transform: translateY(-20px) perspective(600px) rotateX(10deg);
   -o-transform: translateY(-20px) perspective(600px) rotateX(10deg);
   transform: translateY(-20px) perspective(600px) rotateX(10deg);
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready .zoom-anim-dialog {
   opacity: 1;
   -webkit-transform: translateY(0) perspective(600px) rotateX(0);
   -moz-transform: translateY(0) perspective(600px) rotateX(0);
   -ms-transform: translateY(0) perspective(600px) rotateX(0);
   -o-transform: translateY(0) perspective(600px) rotateX(0);
   transform: translateY(0) perspective(600px) rotateX(0);
}

/* animate out */
.my-mfp-slide-bottom.mfp-removing .zoom-anim-dialog {
   opacity: 0;
   -webkit-transform: translateY(-10px) perspective(600px) rotateX(10deg);
   -moz-transform: translateY(-10px) perspective(600px) rotateX(10deg);
   -ms-transform: translateY(-10px) perspective(600px) rotateX(10deg);
   -o-transform: translateY(-10px) perspective(600px) rotateX(10deg);
   transform: translateY(-10px) perspective(600px) rotateX(10deg);
}

/* Dark overlay, start state */
.my-mfp-slide-bottom.mfp-bg {
   opacity: 0;
   -webkit-transition: opacity 0.3s ease-out;
   -moz-transition: opacity 0.3s ease-out;
   -o-transition: opacity 0.3s ease-out;
   transition: opacity 0.3s ease-out;
}

/* animate in */
.my-mfp-slide-bottom.mfp-ready.mfp-bg {
   opacity: 0.8;
}

/* animate out */
.my-mfp-slide-bottom.mfp-removing.mfp-bg {
   opacity: 0;
}


/* --------------- Adaptive --------------- */

@media(min-width:481px) and (max-width:640px) {


   .title {
      font-size: 1.45em;
      max-width: 100%;
   }

   .title-2 {
      font-size: 1.25em;
      font-weight: 700;
      max-width: 100%;
   }

   .title-3 {
      font-size: 1em;
      font-weight: 700;
      margin-bottom: 10px;
      color: #2e2e2e;
   }

   .title-4 {
      font-size: 0.95em;
      font-weight: 700;
      margin-bottom: 10px;
      color: #2e2e2e;
   }


   /* --------------- Home --------------- */

   .header {
      padding: 20px 0;
   }

   .logo {
      height: 70px;
      padding: 0 5px 5px 0;
   }

   .logo__description {
      padding: 0 0 15px 0;
      top: 0;
      font-size: 12px;
   }

   .messenger_icon {
      padding: 0 9px;
   }

   .header__messenger {
      margin: 0 0 20px 0;
   }

   .fl-r {
      float: left;
   }

   .description {
      font-size: 1em;
      max-width: 100%;
   }

   .home__content__item {
      padding: 30px 0 20px 0;
      max-width: 100%;
      margin: 0 auto;
   }

   .home__content__list {
      width: 100%;
      margin: 0 0 10px 0;
   }

   .bottom_head {
      max-width: 100%;
   }

   .bottom_head_link {
      font-size: 16px;
      text-decoration: underline;
   }

   /* --------------- Numbers --------------- */

   .numbers__item__list {
      width: 100%;
      padding: 0 12px 45px 0;
      text-align: center;
   }

   .number_icon {
      height: 80px;
      margin-bottom: 10px;
   }

   /* --------------- Stones --------------- */

   .stones_wrap {
      padding: 80px 20px;
   }

   .stones-sorts__item {
      width: 50%;
      margin-bottom: 25px;
   }

   /* --------------- Price --------------- */

   .price__item__list,
   .price__item__list-2 {
      width: 100%;
      padding: 0 10px;
   }

   .monument-spending__li {
      margin-bottom: 20px;
   }

   /* --------------- Catalog --------------- */

   .catalog__items {
      max-width: 1170px;
      margin: 0 auto;
   }

   .catalog__items__list {
      padding: 40px 20px;
      width: 100%;
      margin: 10px 0 10px 0;
   }


   .catalog__items__list__img {
      display: block;
      margin: 0 auto;
      margin-bottom: 20px;
   }

   .catalog__items-item-inner-models {
      text-align: center;
      padding: 20px 0 0 0;
   }
   
   .steklo__text {
   display: inline-block;
}
   
   .steklo__phone-link {
   margin: 0 0 20px 0;
}
   
   .steklo__row {
   flex-direction: column;
}
   
   .steklo__img {
   width: 50%;
}

   /* --------------- Contact --------------- */

   .contact_item {
      box-sizing: border-box;
      max-width: 100%;
      margin: 0 auto;
      padding: 20px 0;
   }

   .contact_item_list {
      width: 100%;
   }

   .contact_item_list-2 {
      width: 100%;
   }

   .contact_item_list_wrap {
      padding: 0 10px 0 0;
   }

}

@media(min-width:1px) and (max-width:480px) {


   .title {
      font-size: 1.45em;
      max-width: 100%;
   }

   .title-2 {
      font-size: 1.25em;
      font-weight: 700;
      max-width: 100%;
   }

   .title-3 {
      font-size: 1em;
      font-weight: 700;
      margin-bottom: 10px;
      color: #2e2e2e;
   }

   .title-4 {
      font-size: 0.95em;
      font-weight: 700;
      margin-bottom: 10px;
      color: #2e2e2e;
   }
   
      .steklo__text {
   display: inline-block;
}
   
   .steklo__phone-link {
   margin: 0 0 20px 0;
}
   
   .steklo__row {
   flex-direction: column;
}
   
   .steklo__img {
   width: 50%;
}


   /* --------------- Home --------------- */

   .header {
      padding: 20px 0;
   }

   .logo {
      height: 70px;
      padding: 0 5px 5px 0;
   }

   .logo__description {
      padding: 0 0 15px 0;
      top: 0;
      font-size: 12px;
   }

   .messenger_icon {
      padding: 0 9px;
   }

   .header__messenger {
      margin: 0 0 20px 0;
   }

   .fl-r {
      float: left;
   }

   .description {
      font-size: 1em;
      max-width: 100%;
   }

   .home__content__item {
      padding: 30px 0 20px 0;
      max-width: 100%;
      margin: 0 auto;
   }

   .home__content__list {
      width: 100%;
      margin: 0 0 10px 0;
   }

   .bottom_head {
      max-width: 100%;
   }

   .bottom_head_link {
      font-size: 16px;
      text-decoration: underline;
   }

   /* --------------- Numbers --------------- */

   .numbers__item__list {
      width: 100%;
      padding: 0 12px 45px 0;
      text-align: center;
   }

   .number_icon {
      height: 80px;
      margin-bottom: 10px;
   }

   /* --------------- Stones --------------- */

   .stones_wrap {
      padding: 80px 20px;
   }

   .stones-sorts__item {
      width: 50%;
      margin-bottom: 25px;
   }

   /* --------------- Price --------------- */

   .price__item__list,
   .price__item__list-2 {
      width: 100%;
      padding: 0 10px;
   }

   .monument-spending__li {
      margin-bottom: 20px;
   }

   /* --------------- Catalog --------------- */

   .catalog__items {
      max-width: 1170px;
      margin: 0 auto;
   }

   .catalog__items__list {
      padding: 40px 20px;
      width: 100%;
      margin: 10px 0 10px 0;
   }


   .catalog__items__list__img {
      display: block;
      margin: 0 auto;
      margin-bottom: 20px;
   }

   .catalog__items-item-inner-models {
      text-align: center;
      padding: 20px 0 0 0;
   }

   /* --------------- Contact --------------- */

   .contact_item {
      box-sizing: border-box;
      max-width: 100%;
      margin: 0 auto;
      padding: 20px 0;
   }

   .contact_item_list {
      width: 100%;
   }

   .contact_item_list-2 {
      width: 100%;
   }

   .contact_item_list_wrap {
      padding: 0 10px 0 0;
   }

}