/* --------------- 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 --------------- */

.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);
}

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

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

.catalog__items__list {
   background: #fff;
   padding: 40px 20px;
   box-sizing: border-box;
   width: 31%;
   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;
}


/* --------------- 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: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;
   }


   /* --------------- 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;
   }

}