@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1320px;
    }
}





a, div, input, textarea, button {-webkit-transition: all 0.3s; transition: all 0.3s;}

a.logo {width: 120px; height: auto; display: block; min-width: 30px; margin-right: 30px;}
a.logo img {max-width: 100%; height: auto}

.top_nav {display: flex; align-items: center; padding: 10px 0}

.top_phone {color: #ccc; }
.top_phone:hover {color: #fff;}
.top_phone small {font-weight: 600}

.top_contacts {margin-left: auto; display: flex; align-items: center; }
.top_contacts img {width: 24px; height: auto; }
.top_contacts a {margin-left: 20px; font-size: 24px; font-weight: 600}
.top_contacts svg {font-size: 32px;}
.top_contacts img {
    filter: none;
    -webkit-filter: grayscale(100%);
    -moz-filter:    grayscale(100%);
    -ms-filter:     grayscale(100%);
    -o-filter:      grayscale(100%);
    cursor: pointer;
}

.top_contacts img:hover {
    filter: none;
    -webkit-filter: grayscale(10%);
    -moz-filter:    grayscale(10%);
    -ms-filter:     grayscale(10%);
    -o-filter:      grayscale(10%);
    cursor: pointer;
}

.top_phonecall {font-size: 14px;  margin: 0px 30px;}
.top_phonecall svg {font-size: 20px; transform: scale(-1, 1)}
.top_phonecall a {font-size: 20px;}
.call_time {display: flex; align-items: center; margin-bottom: 5px; margin-left: 20px; }
.call_time span {width: 10px; height: 10px; border-radius: 50%; margin-right: 5px; background: #00ff00}


.topmodal {background: red; border-radius: 5px; color: #fff; padding: 10px 30px; border: 2px solid red; font-weight: bold;}
.topmodal:hover {background: transparent; color: red;}
#menu-item-4861,#menu-item-4862,#menu-item-4862,#menu-item-4863 {display: none;}

.galleryblock li {margin-bottom: 30px;}

.top_banner {min-height: 700px; padding-top: 200px; background-size: cover; background-position: center center; background-repeat: no-repeat; position: relative;}

.top_banner.inside {min-height: 300px; padding-top: 60px;}

.top_banner.inside h1 {position: relative; z-index: 2; color: #fff; text-align: center; margin-bottom: 30px;}

.top_banner.inside .rounder {position: relative; z-index: 10}
.top_mask {position: absolute; left: 0px; top: 0px; width: 100%; height: 100%;
background: rgb(0,0,0);
background: -moz-linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.3981748949579832) 50%, rgba(0,0,0,1) 100%);
background: -webkit-linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.3981748949579832) 50%, rgba(0,0,0,1) 100%);
background: linear-gradient(180deg, rgba(0,0,0,1) 0%, rgba(0,0,0,0.3981748949579832) 50%, rgba(0,0,0,1) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);
}
.top_banner .container {position: relative; z-index: 2}
.banner_text {margin-bottom: 50px;}
h1, .h1 {font-size: 40px; line-height: 50px; font-weight: 700}
h2, .h2 {font-size:  56px; line-height: 66px; text-align: center; margin-bottom: 30px;}

.rounder {display: inline-flex; height: 52px; align-items: center; justify-content: center; color: #fff; background: transparent; border: 2px solid #fff; padding: 0px 20px; text-transform: uppercase; border-radius: 0px;}
.rounder:hover {border: 2px solid #808080; color: #808080; text-decoration: none}
.rounder img {margin-right: 10px;}
.marque_wrapper {padding: 50px 0 0 0 }
.marque {padding-top: 0px;   height: 100px; overflow: hidden}
.marque a {font-size:76px; line-height: 91px; white-space: nowrap; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; text-transform: uppercase}
.marque a:hover {color: #808080; text-decoration: none}


.social_l {display: flex; align-items: center; justify-content: center; margin-bottom: 20px;}
.social_l a {padding: 10px ; margin: 3px; border: 1px solid red; border-radius: 5px; display: block; text-align: center; text-decoration: none; flex: 1}
.social_l a svg {font-size: 30px; display: block; margin: 0px auto 10px auto}
.social_l a.soc_viber {color: #7360f2; border-color: #7360f2}
.social_l a.soc_tele {color: #0088cc; border-color: #0088cc}





.footer_social a {width: 36px; height: 36px; background: #808080; color: #000; display: inline-flex; align-items: center; justify-content: center; margin-right: 10px; border-radius: 4px;}
.footer_social a .fa, .footer_social a .fa-brands {font-size: 26px;}
.footer_social a:hover {color: #fff; text-decoration: none}
.footer_social a svg {min-width: 26px; height: 26px; color: #fff}

a.f_menu {font-size: 15px; color:#ffffff8c }
.copy {color:#ffffff8c; font-size: 12px; }
.footer a:hover {color: #fff; text-decoration: none}
.products {padding: 50px 0}
.products h2 {text-align: center; text-transform: uppercase; margin-bottom: 40px;}

.product_image {height: 188px; background-repeat: no-repeat; background-size: cover; background-position: center center; display: flex; align-items: flex-end; justify-content: flex-end;   position: relative; margin-bottom: 30px;}
.prod_mask {position: absolute; left: 0px; top: 0px; height: 100%; width: 100%; background: #000; opacity: 0.6}

a.product_title {display: inline-flex; font-size: 16px; line-height: 20px; padding: 10px 0px; align-items: center; text-transform: uppercase; position: relative; z-index: 2}
a.product_title img {margin-right: 10px;}

.product_li {padding: 0px 0px 40px 60px; position: relative; }
.product_li ul {display: block; padding: 0px; margin: 0px}
.product_li ul li {display: block; padding: 0px 0px 10px 15px; position: relative}

.product_li ul li:after{position: absolute; left: 0px; top: 0px; content: '-'; }


 
.art ul {display: block; padding: 0px; margin: 0px}
.art ul li {display: block; padding: 0px 0px 10px 15px; position: relative}
.art ul li:after{position: absolute; left: 0px; top: 0px; content: '-'; }


.pl_label {width: 36px; height: 36px; position: absolute; left: 0px; top: 0px; display: flex; align-items: center; justify-content: center; border-radius: 4px;
}

.pl_label i {font-size: 30px; color: #fff; font-weight: bold;}
.li_plus .pl_label{background: #8c0909;}
.li_minus .pl_label {background: #808080;}

.li_minus {color: #808080}

.product_desc {margin-bottom: 30px;}
.button_wrapper {position: absolute; left: 0px; bottom: 0px; width: 100%; }
.product_block {position: relative; height: 100%; padding: 0px 0px 60px 0px;}
.product_block .rounder {width: 80%}

.gift_image {height: 406px; position: relative
}
.gift_image img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 406px;
    object-fit: cover;
    filter: grayscale(1);
}

.gift_info .rounder {height: 38px; border: 1px solid #fff; font-size: 16px; text-transform: none}

.gift_info {
    font-style: normal;
    font-weight: 400;
    font-size: 22px;
    line-height: 140%;
}

.my_form {display: block; color: #808080}
.my_form label {display: block; width: 100%; margin-bottom: 20px; }
.my_form label input[type="text"], .my_form label textarea {min-height: 40px; border: none; border-bottom: 1px solid #808080; display: block; background: transparent; padding: 5px 0px; border-radius: 0px; 
}
.my_form label input[type="checkbox"]{width: 14px; height: 14px; margin-right: 10px;}
.my_form label.f_button {display: flex; justify-content: center}
.my_form label.f_button .rounder {border-color: red; background: red}

.c_c_line {font-size: 16px;  margin-bottom: 30px; display: flex; flex-wrap: wrap; align-items: flex-start}
.c_c_line span {width: 50%; min-width: 50%;}
 .c_c_line span.maps {display: flex; align-items: center}
 .c_c_line span.maps img {margin-top: -3px; margin-left: 3px;}
 
 
.review_slider .item {height: 690px; }

.why_block {font-size: 20px; line-height: 24px; margin-bottom: 50px; text-align: center; position: relative; }
.why_block img {height: 56px; width: auto; margin-bottom: 5px; display: block;}
.why_block svg {opacity: 0.7; font-size: 30px; display: block; width: 50px !important; height: 50px !important; margin: 0px auto 20px auto;}
.why_10, .why_11 {display: none}
.drop {font-size: 18px; line-height: 160%; text-align: left; background: #000; color: #fff; display: none}
.drop ul {margin-left: 20px;}
.drop h2 {font-size: 24px;}
#door_title {font-size: 30px; line-height: 40px; text-align: center; font-weight: 700}

a.show_why:hover {color: red; cursor: pointer}
.who_image {height: 226px; position: relative; overflow: hidden;
}
.who_image img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 406px;
    object-fit: cover;
    filter: grayscale(1);
}


.who_title {font-size: 20px; color: #fff; padding: 20px 0}
.al_right {text-align: right}

section {padding: 50px 0}
.who_slider {position: relative; padding-top: 50px;}
.who_slider .owl-nav {position: absolute; left: 0px; top: -10px; width: 100px;    display: flex; align-items: center;  justify-content: flex-end ; width: 100%; margin: 0px -15;x}
.who_slider .owl-nav .owl-prev {padding: 0px 15px}
.who_slider .owl-nav .owl-next {padding: 0px 15px}

.who_slider owl-nav .owl-next img {margin-left: 30px;}

.owl-prev {margin-left: 30px; transition: rotate(1890 deg)} 


.service_item_image_wrapper {padding: 90px 0 0px 0; position: relative;    margin-bottom: 30px;}
.back_text {font-size: 76px; font-weight: 900; line-height: 91px; white-space: nowrap; color: #808080; position: absolute; left:auto; top: 0px; right: 0px; opacity: 0.4}
.service_image {height: 265px; position: relative;}
.service_image img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 406px;
    object-fit: cover;
    filter: grayscale(1);
}
.service_mask {position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; background: #000; opacity: 0.6}
.service_item_image_wrapper .service_image{overflow: hidden}
.service_item_image_wrapper .button_wrapper{display: flex; justify-content: flex-end}
.service_item_image_wrapper .button_wrapper .rounder {border: transparent; padding: 10px 0px; font-size: 30px;}

.row_2 {padding-left: 160px;}
.service_item {margin-bottom: 60px;}
.rel {position: relative;}
.service_item .number {
    font: 22px "Nunito Sans";
    position: absolute;
    top: 50px;
    right: 0;
    width: fit-content;
    left: auto;
    color: #fff;
    border-bottom: 10px solid red;
    z-index: 1;
}

.service_right {padding: 70px 0 0 0; font-size: 16px; line-height: 140%;}

.places_line {padding: 30px 0px}
.center {text-align: center; }
.upper {text-transform: uppercase}
.breads {position: relative; z-index: 10}

.my_table {border-collapse: collapse; width: 100%}
.my_table td, .my_table th {border: 1px solid #808080; padding: 5px; vertical-align: top}
.my_table th {font-weight: bold;}

pre{color: #fff}

.post_mail_block {background-size: cover; background-repeat: no-repeat; background-position: center center; height: 300px; position: relative; margin-bottom: 30px; border: 1px solid #808080; }
.post_mail_block .button_wrapper {justify-content: flex-end; display: flex; padding: 20px;}

.post_main_mask {display: block; left: 0px; top: 0px; height: 100%; width: 100%; background: #000; opacity: 0.7; position: absolute}
.post_main_description {position: relative; z-index: 2; padding: 30px 20px;}  

.faqs_image {height: 160px; overflow: hidden; border: 1px solid #fff; margin-bottom: 20px;}
.faqs_image img {max-width: 100%; height: auto;}


.faq_block {padding: 0px 0px 50px 0px; height: 100%;}
.faq_block h3 {font-size: 20px; line-height: 24px; text-align: center; }

.map {width: 100%; height: 400px}
.map iframe {width: 100%; height: 100%; border: transparent;}


.contact_page .footer_social {padding: 30px 0px; display: flex; align-items: center; justify-content: center; color: #808080}
 .footer_social svg path {fill:#fff}
.contact_row_wrapper {max-width: 800px; margin: 30px auto}

.cont_int_block { text-align: center; font-size: 18px; line-height: 26px; font-weight: 700; height: 100% }

.cont_int_icon {width: 40px; height: 40px; margin: 0px auto 30px auto; display: flex; align-items: center; justify-content: center}
.cont_int_icon .fa {font-size: 30px;}
.cont_maps_links {padding: 40px 0px; text-align: center;}
.cont_maps_links .c_c_line span {width: 100%; min-width: 100%; justify-content: center}
.cont_maps_links .c_c_line {margin-bottom: 10px; align-items: center; justify-content: center;}


.preim_block {position: relative;   height: 100%;  padding: 40px 10px 30px 40px; font-size: 16px; line-height: 28px; }
.preim_block .preim_number {position: absolute; font-size: 100px; font-weight: 900; line-height: 60px; left: 0px; top: 20px; opacity: 0.3;}
.preim_body {position: relative; z-index: 2; }

.term_block {border: 1px solid #fff; text-align: center}
.term_block img {max-width: 80%; height: auto; margin-bottom: 20px;}


.preims_after {padding: 0px 0px 0px 30px; border-left: 5px solid #ffffff57; font-size: 16px; line-height: 28px; margin-left: 30px; margin-bottom: 30px;}

.preims_block {padding: 50px 0}
.preims_before {margin-bottom: 30px;}


.dost.preim_block {
    position: relative;
    height: 100%;
    padding: 40px 10px 30px 0px;  
    font-size: 15px;
    line-height: 24px;  
}


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

article ul {display: block; margin: 0px 0px 0px 15px}
article ol {display: block; margin: 0px 0px 0px 15px; }
article ul li, article ol li {margin-bottom: 10px;}

.galleryblock li {display: block}
.galleryblock li img {max-width: 100%; height: auto;}

.work_taxes label {width: 100%; display: block; margin-bottom: 20px;}
.work_taxes select {display: block; width: 100%; height: 40px;}

.gallery_slider {display: flex; flex-wrap: wrap; position: relative; padding-top: 50px; }
.gallery_item {  height: 300px; min-width: 200px;  margin: 2px; border: 1px solid #dddddd80;}

  
.gal_img {width: 100%; height: 100%; }
.gallery_item img {height: 200px; width: 200px; object-fit:cover}

.gallery_item.nokey img {height: 100%; width: 100%; object-fit:cover}

.gallery_capt {height: 50px; text-align: left; padding: 5px;}

.gallery_slider .owl-nav {position: absolute; top: 0px; display: flex; align-items: center; justify-content: flex-end; width: 100%}
.gallery_slider .owl-nav .owl-next {margin-left: 20px;}

.mw_row>div {margin-bottom: 30px;}
.mw_block {height: 200px; border: 1px solid #dddddd80; position: relative}
.mv_image {position: absolute; left: 0px; top: 0px; width: 100%; height: 100%; overflow: hidden}
.mv_image img {width: 100%; height: 100%; object-fit:cover}
.last_works {padding: 50px 0}
.overs {position: absolute; bottom: 0px; width: 100%; padding: 20px; z-index: 2}
.overs h2 {font-size: 18px; line-height: 24px; font-weight:400;  margin: 0px; padding: 0px; text-align: center;}

.term_row {display: flex; flex-wrap: wrap; justify-content: center;}
.term_row a {display: block; width: 150px; margin: 5px; min-width: 150px; height: 150px; border: 1px solid #fff; display: flex; align-items: center; justify-content: center}
.term_row a img {max-width: 80%; height: auto;}
.term_row a:hover {opacity: 0.7}

.gmask {background: rgb(0,0,0); position: absolute; left: 0px; width: 100%; height: 100%; top: 0px; opacity: 0.6;
background: -moz-linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 27%, rgba(255,255,255,0.017222514005602263) 100%);
background: -webkit-linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 27%, rgba(255,255,255,0.017222514005602263) 100%);
background: linear-gradient(0deg, rgba(0,0,0,1) 0%, rgba(0,0,0,1) 27%, rgba(255,255,255,0.017222514005602263) 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#ffffff",GradientType=1); -webkit-transition: all 0.3s; transition: all 0.3s;}
.gmask:hover {opacity: 0}

.model_select button {padding: 5px 20px; border: 1px solid #fff; background: transparent; color: #fff; border-radius: 0px}

.term_desc {padding: 50px 0}


.hidden_seo {opacity: 0; height: 0; overflow: hidden}
.hidden_seo.active {height: auto; opacity: 1}

.mobile {display: none !important}

.galleryblock>div {margin-bottom: 30px;}

.team_row {margin: 0px -15; display: flex; flex-wrap: wrap}
.team_row>div {width: 20%; min-width: 20%; padding: 15px;}

.teams_row {margin: 0px -15; display: flex; flex-wrap: wrap}
.teams_row>div {width: 25%; min-width: 25%; padding: 15px;}


.price_table {width: 100%; border-collapse: collapse; }
.price_table td {border: 1px solid #dddddd33; padding: 10px 10px;}
.price_table .title_line {color: #ffd900; font-size: 20px; line-height: 20px;}
.price_table .title_line span {display: block; font-size: 14px; line-height: 14px; color: #ddd}
.price_table .cost_line {color: red; font-size: 20px; line-height: 20px;}
.price_table .cost_line span {display:block; color: #ddd; font-size: 12px; margin-left: 5px; position: relative; position: relative}


.price_table td.ccent{text-align: center}

.check_lines span {width: 20px; height: 20px;border: 1px solid #dddddd33; display: block; margin: 0px auto; position: relative}
.check_lines span.active:after {content: '√'; position: absolute; left: 0px; top: 0px;width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #fff} 


.why_icon {width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; background: #4a4747;
	justify-content: center; margin: 0px 0 20px 0; color:  #ffd900; font-size: 30px;}
	
.why_title {font-size: 20px; line-height: 30px; margin-bottom: 20px; font-weight: 600}

.why_bloc {margin-bottom: 30px; padding-bottom: 30px;}
.why_container {max-width: 900px; margin: 0px auto}

.padh3 h3 {margin-top: 40px }


.cases_block {display: block;  height: 100%}
.cases_thumb {display: block; overflow: hidden; height: 200px; border-radius: 20px; position: relative; margin-bottom: 10px;}
.cases_thumb img {display: block; left: 0px; top: 0px; width: 100%; height: 100%; object-fit: cover; -webkit-transition: all 0.6s; transition: all 0.6s; position: absolute;}
.cases_thumb:hover img{transform: scale(1.1)}

.cases_block .redlink {display: block; margin-top: 10px; font-weight: 600; color: red;}

.mb30 {margin-bottom: 30px;}
a.moreases {border: 2px solid red; background: red; color: #fff; display: inline-block; padding: 10px 30px; border-radius: 5px; font-weight: bold
}

.cases_table {width: 100%; font-size: 20px; margin-bottom: 30px; }
.cases_table td {padding: 5px 10px 5px 0}

.gallery_case_image {height: 250px; display: block; border-radius: 20px; overflow: hidden; position: relative}
.gallery_case_image img {display: block; left: 0px; top: 0px; width: 100%; height: 100%; object-fit: cover; -webkit-transition: all 0.6s; transition: all 0.6s;}
.gallery_case_image:hover img{transform: scale(1.1)}

.shorts {border: 1px solid #fff; display: block; height: 100%; overflow: hidden; display: flex; align-items: center; justify-content: center}
.shorts svg {position: relative; z-index: 3; opacity: 0.4; -webkit-transition: all 0.3s; transition: all 0.3s;}
.shorts:hover svg {opacity: 1}
.shorts img {position: absolute; left: 0px; top: 0px; height: 100%; width: 100%; object-fit: cover}

.review_slider .item {
    height: 390px;
}


a.up {width: 50px; height: 50px; position: fixed; right: 10px; bottom: 130px; background: red; display: flex; align-items: center; justify-content: center; z-index: 1005; opacity: 0;}
a.up.active {opacity: 1;}
a.up svg {width: 30px; height: 30px; transform: rotate(-90deg)}
a.up svg path {fill:#fff}

.politable table {width: 100%; border-collapse: collapse; }
.politable table td {border: 1px solid #ddd; padding: 5px 10px;}

a.tiktok svg path {fill:#000}
a.tiktok:hover svg path {fill:#fff}

.footer_social svg path {fill:#000}
.footer_social a:hover svg path {fill:#FFF}

.soc_regial img {margin-bottom: 20px; height: 42px; width: auto;}
.soc_regial {padding: 20px; border-radius: 10px; background: #f9f9f9; color: #000; text-align: center;}
.soc_header {display: flex; align-items: center; justify-content: center; color: #333; margin-bottom: 20px;}
.soc_header .num {font-size: 40px; font-weight: bold; color: #666; margin-right: 20px; }

a.soc_lin {display: flex; align-items: center; justify-content: center; font-weight: bold; border-radius: 5px; height: 50px; background: orange; border: 2px solid orange; color: #ffff;}
a.soc_lin:hover {background: transparent; color: #000}

.soc_regial .stars {color: orange}

.soc_wrapper {padding: 50px 0}

.item_rev_soc img {border-radius: 10px;}

.desctop small {opacity: 1 !important}

.cont_int_block a small {opacity: 1 !important}