@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&display=swap');

body {
   font-family: 'Inter', sans-serif;
   font-style: normal;
   font-weight: 400;
   font-size: 16px;
   line-height: 19px;
   color: #333333;
   background-color: #FFFFFF;
}

input:focus {
   outline: none !important;
}

ul {
   padding-left: 18px;
}

ol {
   padding-left: 18px;
}

a {
   color: inherit;
}

*,
*:before,
*:after {
   padding: 0;
   margin: 0;
   border: 0;
   box-sizing: border-box;
}

html,
body {
   overflow-x: hidden;
   overflow-y: initial;
}

html {
   overflow-x: initial;
}

h6 {
   font-weight: 400;
   font-size: 23px;
   line-height: 28px;
}

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

.header_top {
   background-color: #999999;
   padding-top: 8px;
   padding-bottom: 8px;
}

.header_top_link {
   font-weight: 500;
   font-size: 14px;
   line-height: 17px;
   letter-spacing: 0.15px;
   color: #FFFFFF;
   text-decoration: none;
   display: flex;
   align-items: center;
   gap: 15px;
   transition: 0.3s;
}

.header_top_inner>.header_top_link:first-child:hover {
   color: #FFFFFF;
}

.header_top_link:hover {
   transition: 0.3s;
   color: #FED8C2;
}

.header_top_link:focus {
   transition: 0.3s;
   color: #FD8B49;
}

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

.header_top_part {
   display: flex;
}

.header_top_link:first-child {
   margin-right: 30px;
}

.header_top_link:nth-child(2) {
   margin-right: 40px;
}

.header_wrp {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-top: 20px;
   position: relative;
}

.header_link {
   font-weight: 500;
   font-size: 16px;
   line-height: 19px;
   color: #333333;
   text-decoration: none;
   transition: 0.3s;
}

.header_link:hover {
   color: #0951BD;
   transition: 0.3s;
}

.header_link:focus {
   color:
      #3786FD;
   transition: 0.3s;
}

.links_group {
   display: flex;
   gap: 40px;
}




.banner_title {
   font-weight: 300;
   font-size: 93px;
   line-height: 113px;
   letter-spacing: -1.5px;
   margin-bottom: 60px;
}

.btn {
   background-color: #3786FD;
   box-shadow: 1px 1px 8px rgba(0, 36, 107, 0.25);
   border-radius: 50px;
   width: 225px;
   height: 50px;
   font-weight: 500;
   font-size: 14px;
   line-height: 17px;
   color: #FFFFFF;
   display: flex;
   justify-content: center;
   align-items: center;
   text-decoration: none;
   flex-shrink: 0;
   transition: 0.3s;
}

.btn:hover {
   background-color: #69A4FD;
   transition: 0.3s;
}

.btn:focus {
   box-shadow: 1px 1px 8px rgba(9, 9, 9, 0.25);
   transition: 0.3s;
   color: #3786FD;
   background-color: #fff;
}

.banner_subtitle {
   font-weight: 400;
   font-size: 23px;
   line-height: 28px;
   margin-bottom: 70px;
}

.section_link {
   font-weight: 500;
   font-size: 14px;
   line-height: 17px;
   color: #3786FD;
   text-decoration: none;
   transition: 0.3s;
}

.section_link:hover {
   color: #0951BD;
   transition: 0.3s;
}

.section_link:focus {
   color: #333333;
   transition: 0.3s;
}

.banner_bottom {
   display: flex;
   align-items: center;
   gap: 50px;
}

.banner {
   display: flex;
   align-items: center;
   gap: 24px;
}

.banner_slider_wrp {
   min-width: 0;
}

.banner_slider {
   height: 600px;
   background-image: url('../../img/banner_slider_bg.png');
   background-repeat: no-repeat;
   background-position: center left;
   width: 1000px;
   position: relative;
}

.banner_desc {
   max-width: 487px;
   flex-shrink: 0;
}

.banner_slider_txt span:first-child {
   font-weight: 400;
   font-size: 16px;
   line-height: 19px;
   letter-spacing: 0.15px;
   color: #9BC3FE;
}

.banner_slider_txt:first-child {
   margin-bottom: 15px;
}

.banner_slider_txt:nth-child(2) {
   margin-bottom: 25px;
}

.banner_slider_txt:first-child span:last-child {
   font-weight: 400;
   font-size: 23px;
   line-height: 28px;
   color: #FFFFFF;
}

.banner_slider_txt:nth-child(2) span:last-child {
   font-weight: 500;
   font-size: 16px;
   line-height: 19px;
   color: #FFFFFF;
}

.banner_slide_inner {
   display: flex;
   flex-direction: column;
   justify-content: center;
   padding-left: 94px;
   height: 100%;
}

.banner_slider_link {
   font-weight: 500;
   font-size: 14px;
   line-height: 17px;
   color: #FFFFFF;
   text-decoration: none;
   transition: 0.3s;
}

.banner_slider_link:hover {
   color: #FED8C2;
   transition: 0.3s;
}

.banner_slider_link:focus {
   color: #FD8B49;
   transition: 0.3s;
}

.banner_wrp {
   overflow: hidden;
}

.banner_slider_txt {
   display: flex;
   flex-direction: column;
   gap: 5px;
}

.banner_slide {
   display: flex;
}

.banner_slide_img {
   position: relative;
   right: 65px;
}

.banner_pag {
   bottom: 169px;
   left: -290px;
   width: 100%;
   color: #69A4FD;

}

.banner_pag>span:first-child {
   font-weight: 300;
   font-size: 28px;
   line-height: 34px;
}

.banner_pag>span:last-child {
   font-weight: 200;
   font-size: 16px;
   line-height: 19px;
   position: relative;
   top: 18px;
   left: -12px;
}

.banner_pag>span:nth-child(2) {
   font-size: 30px;
   position: relative;
   bottom: -10px;
   left: -5px;
}

.arr_group {
   position: absolute;
   width: 140px;
   top: 0;
   left: 0;
   top: 185px;
   left: 174px;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
   content: '';
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
   content: '';
}

.banner_arr {
   width: 50px;
   height: 5px;
}

.banner_wrp {
   margin-bottom: 73px;
}

.section_title {
   margin-bottom: 50px;
   font-weight: 400;
   font-size: 47px;
   line-height: 57px;
}

.coop {
   margin-bottom: 98px;
}

.coop_row {
   display: flex;
   justify-content: space-between;
   gap: 30px;
}

.coop_item {
   display: flex;
   gap: 23px;
   align-items: center;
   width: 270px;
   box-shadow: 0px 0px 9px rgba(162, 162, 162, 0.25);
   border-radius: 10px;
   padding: 22px 30px 20px 15px;
}

.section_header>.section_title {
   margin-bottom: 0;
}

.section_header {
   margin-bottom: 50px;
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.video_btn {
   text-decoration: none;
   color: #69A4FD;
   align-items: center;
   display: flex;
   gap: 10px;
   transition: 0.3s;
}

.video_btn:hover {
   color: #0951BD;
   transition: 0.3s;
}

.video_btn:focus {
   color: #333333;
   transition: 0.3s;
}

.video_btn span {
   font-weight: 500;
   font-size: 16px;
   line-height: 19px;
}

.catalog_card {
   width: 370px;
   padding: 26px 30px;
   height: 465px;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   box-shadow: 0px 0px 9px rgba(162, 162, 162, 0.25);
   border-radius: 10px;
}

.catalog_card_top {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding-bottom: 20px;
}

.catalog_title {
   font-weight: 400;
   font-size: 23px;
   line-height: 28px;
   color: #333333;
   text-decoration: none;
   -webkit-line-clamp: 2;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   overflow: hidden;
}

.catalog_price {
   font-weight: 400;
   font-size: 16px;
   line-height: 19px;
   letter-spacing: 0.15px;
   color: #999999;
}

.catalog_link {
   font-weight: 500;
   font-size: 14px;
   line-height: 17px;
   color: #69A4FD;
   text-decoration: none;
}

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

.catalog_img {
   width: 310px;
   height: 282px;
   object-fit: cover;
   display: block;
   margin-bottom: 20px;
}

.catalog_slide {
   width: auto;
}

.catalog_slider {
   padding-top: 10px;
   overflow: visible;
}

.catalog {
   margin-bottom: 100px;
}

.card__front,
.card__back {
   width: 270px;
   height: 345px;
   position: relative;
   display: flex;
   flex-direction: column;
   justify-content: flex-end;
   background-repeat: no-repeat;
   background-size: cover;
   box-shadow: 0px 0px 9px rgba(162, 162, 162, 0.25);
   border-radius: 10px;
}

.card__back {
   background-color: #3786FD;
   justify-content: space-between;
   padding: 60px 54px 40px 30px;
}

.gradient {
   position: absolute;
   top: 0;
   right: 0;
   width: 100%;
   height: 100%;
   background: linear-gradient(94.98deg, #FFFFFF 19.41%, rgba(255, 255, 255, 0) 86.85%), linear-gradient(0deg, rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8));
}

.card_title {
   font-weight: 400;
   font-size: 33px;
   line-height: 40px;
   color: #333333;
   position: relative;
   bottom: 24px;
   left: 37px;
   writing-mode: vertical-rl;
   transform: scale(-1, -1);
   z-index: 3;
}

.card__back_title {
   font-weight: 400;
   font-size: 23px;
   line-height: 28px;
   color: #FFFFFF;
   margin-bottom: 30px;
}

.card__back_txt {
   color: #FFFFFF;
}

.card_back_link {
   font-weight: 500;
   font-size: 14px;
   line-height: 17px;
   text-decoration: none;
   color: #FFFFFF;
}

.card {
   position: relative;
   overflow: hidden;
}

.card__front {
   z-index: 1;
   position: relative;
   backface-visibility: hidden;
   transition: transform .9s cubic-bezier(.2, .85, .4, 1.275);
}

.card__back {
   z-index: 0;
   position: absolute;
   top: 0;
   backface-visibility: hidden;
   transform: rotateY(-180deg);
   transition: transform .9s cubic-bezier(.2, .85, .4, 1.275);
}

.card:hover .card__back {
   transform: rotateY(0deg);
   z-index: 2;
}

.card:hover .card__front {
   transform: rotateY(180deg);
   z-index: -1;
}

.services {
   margin-bottom: 50px;
}

.services_row {
   display: flex;
   justify-content: space-between;
   gap: 30px;
   flex-wrap: wrap;
}

.partners_item img {
   width: 210px;
   height: 100px;
   object-fit: cover;
}

.safety {
   min-height: 470px;
   background-image: url('../../img/bg1.png');
   background-repeat: no-repeat;
   margin-bottom: 120px;
   background-position: center center;
}

.safety_title {
   font-weight: 300;
   font-size: 58px;
   line-height: 70px;
   letter-spacing: -0.5px;
   color: #FFFFFF;
   margin-bottom: 30px;
}

.safety_inner {
   height: 100%;
   padding-top: 133px;
   padding-bottom: 64px;
}

.safety_subtitle {
   font-weight: 400;
   font-size: 23px;
   line-height: 28px;
   color: #FFFFFF;
   margin-bottom: 30px;
}

.safety_link {
   font-weight: 500;
   font-size: 14px;
   line-height: 17px;
   color: #FC620C;
   text-decoration: none;
   transition: 0.3s;
}

.safety_link:hover {
   color: #FD8B49;
   transition: 0.3s;
}

.safety_link:focus {
   color: #EB5757;
   transition: 0.3s;
}

.partners_row {
   display: flex;
   gap: 30px;
   justify-content: space-between;
   flex-wrap: wrap;
}

.partners {
   margin-bottom: 100px;
}

.our_works {
   margin-bottom: 130px;
}

.our_works_part {
   width: 570px;
}

.our_works_row {
   display: flex;
   justify-content: space-between;
   gap: 30px;
}

.our_works_part.photos {
   display: grid;
   grid-template-columns: repeat(2, 270px);
   grid-template-rows: repeat(2, 255px);
   gap: 30px;
}

/* Place "Больше работ в портфолио" card in the left-bottom slot for 2x2 layout. */
.our_works_part.photos .photo_card_link {
   grid-column: 1;
   grid-row: 2;
}

/* Put the third work card into the right-bottom slot. */
.our_works_part.photos .card:nth-of-type(3) {
   grid-column: 2;
   grid-row: 2;
}

.photo_card_link {
   background-color: #333333;
   border-radius: 10px;
   text-decoration: none;
   color: #FFFFFF;
   padding: 70px 59px 42px 40px;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
}

.photo_card_link span:first-child {
   font-weight: 400;
   font-size: 23px;
   line-height: 28px;
}

.photo_card_link span:last-child {
   font-weight: 500;
   font-size: 14px;
   line-height: 17px;
}

.photo_card {
   border-radius: 10px;
   position: relative;
   width: 100%;
   height: 100%;
   display: block;
   overflow: hidden;
}

.our_works_grid>.photo_card img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.photo_icon {
   position: absolute;
   top: 20px;
   right: 20px;
}

.form {
   background-image: url('../../img/form_bg.png');
   background-repeat: no-repeat;
   background-position: top center;
   padding-bottom: 100px;
}

.input_row {
   display: flex;
   gap: 30px;
   margin-bottom: 20px;
   justify-content: space-between;
}

.form_block {
   background-color: #FFFFFF;
   box-shadow: 0px 0px 9px rgba(162, 162, 162, 0.25);
   border-radius: 10px;
   padding: 50px 42px 49px 42px;
   width: 570px;
}

.form_title {
   font-weight: 400;
   font-size: 33px;
   line-height: 40px;
   margin-bottom: 15px;
   text-align: center;
}

.form_subtitle {
   font-weight: 400;
   font-size: 16px;
   line-height: 19px;
   text-align: center;
   letter-spacing: 0.5px;
   margin-bottom: 30px;
   text-align: center;
}

.form_input {
   background-color: transparent;
   border: 1px solid #CCCCCC;
   border-radius: 5px;
   height: 50px;
   width: 228px;
   padding-left: 10px;
   padding-right: 10px;
}

.form_input::placeholder {
   font-family: 'Inter', sans-serif;
   text-align: center;
   font-weight: 400;
   font-size: 16px;
   line-height: 19px;
   text-align: center;
   letter-spacing: 0.15px;
   color: #999999;
}

.form_input.message {
   width: 100%;
   height: 88px;
   padding-left: 30px;
   padding-top: 15px;
}

.form_input.message::placeholder {
   text-align: left;
}

.form_txt {
   font-weight: 400;
   font-size: 12px;
   line-height: 15px;
   letter-spacing: 0.4px;
   color: #CCCCCC;
}

.form_bottom {
   display: flex;
   align-items: center;
   margin-top: 24px;
}

.header-fixed {
   position: fixed;
   width: 100%;
   top: 0;
   right: 0;
   left: 0;
   transition: .3s;
   z-index: 99;
   background-color: #ffffffb0;
   padding-bottom: 5px;
}

.header.header-fixed>.header_wrp {
   margin-top: 10px;
}

.padding {
   padding-top: 112px;
}

.item_title {
   font-weight: 400;
   font-size: 23px;
   line-height: 28px;
   color: #FFFFFF;
   margin-bottom: 20px;
}

.item_link {
   font-weight: 500;
   font-size: 14px;
   line-height: 17px;
   color: #FFFFFF;
   text-decoration: none;
}

.form_inner {
   display: flex;
   gap: 40px;
}

.item_block {
   display: flex;
   flex-direction: column;
   padding-top: 110px;
}

.blog_title {
   font-weight: 400;
   font-size: 23px;
   line-height: 28px;
   -webkit-line-clamp: 3;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   overflow: hidden;
}

.blog_txt {
   font-weight: 400;
   font-size: 16px;
   line-height: 19px;
   letter-spacing: 0.5px;
   margin-bottom: 30px;
   -webkit-line-clamp: 3;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   overflow: hidden;
}

.blog_link {
   font-weight: 500;
   font-size: 14px;
   line-height: 17px;
   color: #69A4FD;
   text-decoration: none;
}

.blog_card {
   width: 570px;
   height: 275px;
   box-shadow: 0px 0px 9px rgba(162, 162, 162, 0.25);
   border-radius: 10px;
   padding: 30px 40px;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
}

.blog_slider {
   padding-top: 15px;
   padding-bottom: 15px;
   overflow: visible;
}

.blog_slide {
   width: auto;
}

.blog {
   margin-bottom: 110px;
}

.map {
   height: 340px;
}

#btn {
   cursor: pointer;
}

ymaps canvas {
   -webkit-filter: grayscale(100%);
   filter: grayscale(100%);
   border-radius: 10px;
}

.geography {
   margin-bottom: 100px;
}

.about_us {
   display: flex;
   align-items: center;
   margin-bottom: 94px;
}

.seo_block {
   margin-bottom: 120px;
}

.contacts_block {
   background-color: #333333;
   padding: 43px 51px 41px 46px;
   border-radius: 10px;
}

.contacts_title {
   font-weight: 400;
   font-size: 47px;
   line-height: 57px;
   color: #FFFFFF;
   margin-bottom: 40px;
   display: block;
}

.contacts_row {
   text-decoration: none;
   display: flex;
   gap: 10px;
   margin-bottom: 14px;
   align-items: center;
}

.contacts_row * {
   font-weight: 500;
   font-size: 16px;
   line-height: 19px;
   color: #FFFFFF;
}

.contacts_link {
   font-weight: 500;
   font-size: 14px;
   line-height: 17px;
   color: #FFFFFF;
   text-decoration: none;
   padding-left: 30px;
   padding-top: 10px;
   display: block;
}

.map1 {
   width: 673px;
   height: 100%;
   border-radius: 10px;
   position: absolute;
   top: 0;
   right: 0;
}

.contacts {
   position: relative;
   margin-bottom: 100px;
}

.footer {
   background-color: #333333;
   padding-top: 67px;
   padding-bottom: 40px;
}

.social_link {
   text-decoration: none;
}

.social_block {
   display: flex;
   gap: 20px;
   padding-top: 20px;
}

.footer_row {
   display: flex;
   justify-content: space-between;
   gap: 15px;
   align-items: stretch;
}

.footer_row:last-child {
   align-items: center;
}

.footer_col {
   display: flex;
   flex-direction: column;
   height: 100%;
}

.footer_link_lg {
   font-weight: 400;
   font-size: 23px;
   line-height: 28px;
   color: #FFFFFF;
   text-decoration: none;
}

.footer_link {
   font-weight: 400;
   font-size: 16px;
   line-height: 19px;
   letter-spacing: 0.5px;
   color: #FFFFFF;
   text-decoration: none;
}

.footer_link:not(:last-child) {
   margin-bottom: 10px;
}

.footer_link_lg:not(:last-child) {
   margin-bottom: 20px;
}

.footer_col:last-child {
   padding-right: 60px;
}

.footer_col:nth-child(4) {
   padding-right: 24px;
}

.footer_txt {
   font-weight: 400;
   font-size: 10px;
   line-height: 12px;
   letter-spacing: 1.5px;
   color: #FFFFFF;
   text-decoration: none;
}

.footer_row:first-child {
   margin-bottom: 70px;
}

.mobile_col {
   display: none;
}

.menu-burger__header {
   display: none;
}

.breadcrumbs {
   margin-top: 50px;
   margin-bottom: 50px;
}

.breadcrumbs a {
   text-decoration: none;
   font-weight: 400;
   font-size: 16px;
   line-height: 19px;
   letter-spacing: 0.5px;
   color: #333333;
   position: relative;
   padding-left: 20px;

}

.breadcrumbs a:first-child {
   padding-left: 0;
}

.breadcrumbs a:last-child {
   color: #0951BD;
}

.breadcrumbs a:not(:first-child)::before {
   content: '-';
   position: absolute;
   top: 0;
   left: 5px;
}

.catalog_grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, 370px);
   gap: 30px;
   justify-content: center;
}

/* .page {
   margin-bottom: 30px;
} */

.footer_col>.logo_link {
   margin-bottom: 30px;
   position: relative;
   bottom: 20px;
}

.our_works_grid {
   display: grid;
   grid-template-columns: repeat(auto-fill, 270px);
   gap: 30px;
   margin-bottom: 30px;
}

.our_works_grid>.photo_card {
   height: 255px;
}

.video {
   width: 570px;
   height: 541px;
}

.video_grid {
   display: flex;
   gap: 30px;
   flex-wrap: wrap;
}

.blog_row {
   display: flex;
   gap: 30px;
   flex-wrap: wrap;
}

.video {
   height: 541px;
}

.product_header .section_title {
   margin-bottom: 0;
}

.product_header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 50px;
}

.product_header_inner {
   display: flex;
   align-items: center;
   gap: 47px;
}

.product_btn {
   width: 153px;
}

.product_price {
   font-weight: 400;
   font-size: 47px;
   line-height: 57px;
   color: #3786FD;
}

.product_img {
   width: 471px;
   height: 523px;
   object-fit: cover;
}

.product_img {
   box-shadow: 0px 0px 9px rgba(162, 162, 162, 0.25);
   border-radius: 10px;
}

.product_block {
   display: flex;
   gap: 30px;
}

.product_imgs {
   flex-shrink: 0;
   display: flex;
   flex-direction: column;
   gap: 30px;
}

.photo_card_product {
   display: block;
}

.photo_card_product img:first-child {
   width: 470px;
   height: 523px;
   object-fit: cover;
   display: block;
   border-radius: 10px;
}

.photo_slider_wrp {
   width: 470px;

}

.photo_slider {
   padding-bottom: 50px;
}

.swiper-pagination-bullet {
   width: 15px;
   height: 15px;
}

.video_wrp {
   border-radius: 10px;
   overflow: hidden;
}

.page_img {
   border-radius: 10px;
   width: 470px;
   height: 400px;
   object-fit: cover;
   flex-shrink: 0;
}

.about_us_img {
   width: 452px;
   height: 615px;
   object-fit: cover;
}

.page_block {
   display: flex;
   gap: 30px;
}

.modal {
   width: 570px;
   box-shadow: 0px 0px 9px rgba(162, 162, 162, 0.25);
   border-radius: 10px;
   padding: 50px 40px;
}

.modal_title {
   font-weight: 400;
   font-size: 33px;
   line-height: 40px;
   margin-bottom: 20px;
}

.modal_subtitle {
   font-weight: 400;
   font-size: 16px;
   line-height: 19px;
   letter-spacing: 0.5px;
   margin-bottom: 30px;
}

.form_block .wpcf7-form p,
.modal .wpcf7-form p {
   margin-bottom: 16px;
}

.form_block .wpcf7-form-control-wrap,
.modal .wpcf7-form-control-wrap {
   display: block;
}

.form_block .wpcf7 input[type="text"],
.form_block .wpcf7 input[type="email"],
.form_block .wpcf7 input[type="tel"],
.form_block .wpcf7 textarea,
.modal .wpcf7 input[type="text"],
.modal .wpcf7 input[type="email"],
.modal .wpcf7 input[type="tel"],
.modal .wpcf7 textarea {
   width: 100%;
   border: 1px solid #cccccc;
   border-radius: 5px;
   padding: 12px 14px;
   margin-top: 6px;
}

.form_block .wpcf7 textarea,
.modal .wpcf7 textarea {
   min-height: 110px;
   resize: none;
}

.form_block .wpcf7 input.wpcf7-submit,
.modal .wpcf7 input.wpcf7-submit {
   background-color: #3786FD;
   box-shadow: 1px 1px 8px rgba(0, 36, 107, 0.25);
   border-radius: 50px;
   width: 225px;
   height: 50px;
   font-weight: 500;
   font-size: 14px;
   line-height: 17px;
   color: #FFFFFF;
   display: flex;
   justify-content: center;
   align-items: center;
   text-decoration: none;
   flex-shrink: 0;
   transition: 0.3s;
   border: none;
   cursor: pointer;
}

.modal_title_lg {
   font-weight: 400;
   font-size: 23px;
   line-height: 28px;
   color: #3786FD;
   margin-bottom: 15px;
}

.modal_thx {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   height: 252px;
   align-items: center;
   width: 424px;
}

.photo_side {
   width: 270px;
   height: 255px;
}

.card__back .photo_card {
   position: absolute;
   width: 100%;
   height: 100%;
   top: 0;
   right: 0;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   padding: 60px 54px 40px 30px;
}

.banner_slide_img {
   width: 371px;
   height: 567px;
   object-fit: contain;
}

.our_works_part .photo_card img:first-child {
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.modal_thx img {
   width: 64px;
   height: 50px;
}

.product_list_of_title{
   font-style: normal;
   font-weight: 400;
   font-size: 23px;
   line-height: 28px;
   color: #333333;
   margin-bottom: 25px;
}
.product_list_of{
   margin-bottom: 58px;
}
.product_list_of h3{
   font-style: normal;
   font-weight: 400;
   font-size: 16px;
   line-height: 19px;
   letter-spacing: 0.5px;
   color: #333333;
   margin-bottom: 20px;
}
.product_list_of ul{
   list-style-type: none;
   margin-left: 0;
   padding-left: 0;
   margin-bottom: 20px;
}
.product_list_of ul li{
   display: flex;
   align-items: center;
   justify-content: space-between;
   border-bottom:2px dotted #999999 ;
}
.product_list_of ul li p{
   font-style: normal;
   font-weight: 400;
   font-size: 16px;
   line-height: 19px;
   letter-spacing: 0.5px;
   color: #333333;
}
.product_list_of ul li p:last-child{
   font-style: normal;
   font-weight: 600;
   font-size: 16px;
   line-height: 19px;
   text-align: right;
   letter-spacing: 0.5px;
   color: #3786FD;
}
.product_list_of ul li + li{
   margin-top: 10px;
}
.product_imgs.new_wrapper{
   width: 471px;
   float: right;
   margin-left: 27px;
   margin-bottom: 27px;
}
.product_block.new_product_block{
   display: block;
}
.product_main_slider_wrapper{
   width: 100%;
   height: 523px;
   background: #FFFFFF;
   box-shadow: 0px 0px 9px rgba(162, 162, 162, 0.25);
   border-radius: 10px;
   overflow: hidden;
   position: relative;
   padding: 20px 15px;
}
.product_media_slider .swiper-slide{
   width: 100%!important;
   height: 100%!important;
}
.product_media_slider{
   width: 100%;
   height: 100%;
   overflow: hidden;
}
.produc_main_slide{
   width: 100%;
   height: 100%;
   display: block;
}
.produc_main_slide img{
   width: 100%;
   height: 100%;
   object-fit: contain;
}
.product_main_slider_wrapper .swiper-pagination{
   text-align: end;
   padding-right: 15px;
   padding-bottom: 5px;
}
.produtct_thumbs_wrapper{
   width: calc(100% + 35px);
   margin-top: 23px;
}
.product_thumb_slide{
   width: 100px;
   height: 100px;
   filter: drop-shadow(0px 0px 9px rgba(162, 162, 162, 0.25));
   border-radius: 10px;
   overflow: hidden;
   position: relative;
   cursor: pointer;
}
.product_thumb_slide:after{
   content: '';
   width: 100%;
   height: 100%;
   background: transparent;
   left: 0;
   top: 0;
   position: absolute;
}
.product_thumb_slide img{
   width: 100%;
   height: 100%;
   object-fit: cover;
}
.gallery-thumbs{
   width: 100%;
}
.gallery-thumbs .swiper-slide{
   width: auto!important;
}
.gallery-thumbs{
   padding: 50px 23px;
   margin: -50px -23px;
   overflow: hidden;
}

.contacts_and_form_section{
   background: #333333;
   padding: 38px 0;
   margin: 150px 0;
}
.contacts_and_form_section .container{
   padding-left: 46%;
   position: relative;

}
.contacts_and_form_section .form_block{
   position: absolute;
   left: 0;
   top: 50%;
   transform: translateY(-50%);
}
.contacts_and_form_section .contacts_block{
   padding: 0;
}
.scroll_icon_wrapper{
   margin-bottom: 20px;
   display: flex;
   align-items: center;
   justify-content: flex-end;
   background: white;
}
.scroll_icon_wrapper svg{
   filter: brightness(0) saturate(100%) invert(46%) sepia(63%) saturate(2682%) hue-rotate(199deg) brightness(98%) contrast(103%);
}

.text_content.kontakty p{
   margin-bottom: 5px;
}
.text_content.o-kompany p {
   margin-bottom: 5px;
}

/* CF7 consent line */
.wpcf7 .wpcf7-acceptance .wpcf7-list-item {
	margin: 12px 0 0;
	display: block;
}

.wpcf7 .wpcf7-acceptance .wpcf7-list-item label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 14px;
	line-height: 1.35;
	color: #6b6b6b;
}

.wpcf7 .wpcf7-acceptance input[type="checkbox"] {
	margin-top: 2px;
	flex: 0 0 auto;
}

.wpcf7 .wpcf7-acceptance .wpcf7-list-item-label {
	display: inline;
}

.wpcf7 .wpcf7-acceptance .wpcf7-list-item-label a {
	color: #2f7df6;
	text-decoration: underline;
}
.wpcf7 .wpcf7-submit {
	display: block;
	margin: 14px auto 0;
}


@media screen and (max-width: 1250px) {

   header {
      width: 100%;
   }
   .contacts_and_form_section{
      margin: 50px 0;
   }
   .contacts_and_form_section .container{
      padding-left: 0;
      display: flex;
      align-items: center;
      justify-content: space-between;
   }
   .contacts_and_form_section .form_block{
      position: static;
      transform: none;
   }
   .container {
      width: 90% !important;
   }

   .page_block {
      flex-direction: column;
   }

   .product_header {
      gap: 18px;
      flex-direction: column;
      align-items: start;
   }

   .product_block {
      flex-direction: column-reverse;
   }

   .links_group {
      position: absolute;
      display: flex;
      flex-direction: column;
      background-color: #fff;
      top: -5px;
      right: -10px;
      padding: 30px;
      padding-top: 80px;
      padding-bottom: 50px;
      box-shadow: 0px 0px 9px rgba(162, 162, 162, 0.25);
      border-radius: 10px;
      transform: scale(0);
      transition: all 0.4s ease;
      z-index: 10;
   }

   .header_link {
      font-size: 23px;
   }

   .links_group.open-menu {
      transform: scale(1);
      transition: all 0.4s ease;
   }

   .menu-burger__header {
      position: relative;
      width: 40px;
      height: 35px;
      display: block;
      cursor: pointer;
      z-index: 11;
   }

   .menu-burger__header span,
   .menu-burger__header:after,
   .menu-burger__header:before {
      height: 3px;
      width: 100%;
      position: absolute;
      background: #333333;
      margin: 0 auto;
   }

   .menu-burger__header span {
      top: 16px;
   }

   .menu-burger__header:after,
   .menu-burger__header:before {
      content: '';
   }

   .menu-burger__header:after {
      bottom: 5px;
   }

   .menu-burger__header:before {
      top: 5px;
   }

   .menu-burger__header.open-menu span {
      opacity: 0;
      transition: 0.5s;
   }

   .menu-burger__header.open-menu:before {
      transform: rotate(38deg);
      top: 16px;
      transition: 0.4s;
   }

   .menu-burger__header.open-menu:after {
      transform: rotate(-38deg);
      bottom: 16px;
      transition: 0.4s;
   }

   .services_row {
      flex-wrap: wrap;
      justify-content: center;
   }

   .card__front,
   .card__back {
      width: 260px;
   }

   .catalog_slider {
      overflow: hidden;
   }

   .blog_slider {
      overflow: hidden;
   }

   .banner_slider {
      display: none;
   }

   .banner {
      padding-top: 100px;
   }

   .coop_row {
      flex-wrap: wrap;
      justify-content: center;
   }

   .coop_item {
      width: 260px;
   }

   .partners_row {
      flex-wrap: wrap;
      justify-content: center;
   }

   .section_title br {
      display: none;
   }

   .our_works_row {
      flex-wrap: wrap;
   }

   .our_works_part.video {
      height: 500px;
   }

   .about_us {
      flex-wrap: wrap;
   }

   .map1 {
      width: 50%;
   }

   .footer_col:last-child {
      padding-right: 0;
   }

   .footer_col:nth-child(3) {
      padding-right: 0;
   }

   .header_top_part>.header_top_link:not(:last-child) {
      display: none;
   }
}
@media screen and (max-width: 1082px) {
   .contacts_and_form_section .container{
      flex-direction: column;
      align-items: center;
      justify-content: flex-start;
      gap: 20px;
   }
   .contacts_and_form_section .form_block{
      order: 1;
   }
}
@media screen and (max-width: 900px) {

   .our_works_grid {
      grid-template-columns: repeat(auto-fill, 264px);
      justify-content: center;
   }

   .video.works {
      width: 570px;
   }

   .catalog_card {
      max-width: 400px;
      width: 100%;
   }

   .blog_card {
      width: 550px;
   }

   .form_input {
      width: 100%;
   }

   .form_bottom {
      flex-direction: column-reverse;
      gap: 18px;
   }

   .input_row {
      flex-direction: column;
   }

   .section_header {
      flex-direction: column;
      align-items: flex-start;
      gap: 18px;
   }

   .safety {
      background-color: #333333;
      background-image: none;
   }

   .safety_inner {
      padding-top: 64px;
   }

   .safety_title {
      font-size: 55px;
   }

   .map1 {
      position: static;
      width: 100%;
      height: 360px;
   }

   .footer_link {
      display: none;
   }

   .footer_row {
      gap: 0;
   }

   .footer_col:not(:first-child) {
      display: none;
   }

   .mobile_col {
      display: flex;
      flex-direction: column;
   }

   .geography {
      display: none;
   }

   .item_block:last-child {
      display: none;
   }
   .product_block.new_product_block{
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: flex-start;
      gap: 30px;
   }
   .product_imgs.new_wrapper{
      max-width: 100%;
      margin: 0;
      overflow: hidden;
   }
   .product_main_slider_wrapper{
      height: 300px;
   }
   .product_list_of{
      margin-bottom: 30px;
   }
}

@media screen and (max-width: 600px) {

   .photo_card_product img:first-child {
      height: 350px;
   }

   .form_block {
      width: 100%;
      padding: 18px;
   }

   .our_works_part.photos {
      display: grid;
      grid-template-columns: repeat(1, 1fr) !important;
      grid-template-rows: none;
      gap: 30px;
   }

   .our_works_part.photos .photo_card_link,
   .our_works_part.photos .card:nth-of-type(3) {
      grid-column: auto;
      grid-row: auto;
   }

   .product_price {
      width: 100%;
      font-size: 28px;
      line-height: 28px;
   }

   .product_header_inner {
      flex-wrap: wrap;
      row-gap: 20px;
   }

   .card__front,
   .card__back {
      width: 100% !important;
   }

   .blog_card {
      width: 550px;
   }

   .banner_desc {
      flex-shrink: 1;
   }

   .banner_title {
      font-size: 50px;
      line-height: 61px;
      margin-bottom: 35px;
   }

   .banner_bottom {
      flex-wrap: wrap;
   }

   .banner_subtitle {
      font-size: 21px;
      margin-bottom: 35px;
   }

   .section_title {
      font-size: 28px;
      line-height: 35px;
   }

   .catalog_card {
      padding: 18px;
   }

   .card {
      width: 100%;
   }

   .safety_title {
      font-size: 33px;
      line-height: 35px;
   }

   .safety_subtitle {
      font-size: 18px;
   }

   .safety {
      min-height: auto;
   }

   .photo_card_link {
      gap: 8px;
   }

   .our_works_part.video {
      height: 300px;
   }

   .blog_card {
      width: 100%;
      padding: 18px;
   }

   .blog_slide {
      width: 100% !important;
   }

   .footer_row {
      flex-wrap: wrap;
      gap: 20px;
   }

   .footer_row {
      justify-content: space-evenly;
   }

   .footer_link_lg {
      text-align: center;
   }

   .footer_row:last-child {
      width: 100%;
      justify-content: space-between;
   }

   .header_top_link {
      font-size: 12px;
   }

   .header_top {
      padding-top: 3px;
      padding-bottom: 3px;
   }

   .logo_link img {
      max-width: 70%;
   }

   .modal {
      width: 100%;

   }

   .video_wrp iframe {
      width: 100% !important;
   }

   .product_img {
      height: 350px;
   }

   .modal {
      padding: 18px;
   }

   .photo_slider_wrp {
      width: 100%;
   }

   .modal_title {
      font-size: 28px;
      line-height: 30px;
   }

   .form_title {
      font-size: 29px;
      line-height: 32px;
   }

   .video {
      height: 300px;
   }

}

@media screen and (max-width: 400px) {
   .catalog_grid {
      grid-template-columns: repeat(1, 1fr);
   }
}
