/*
Theme Name: К-Эксперт P3D-1 M3D.2 C1 P3D-3B P3D-3C P3D-3D P3D-3E P3D-3F P3D-3G-R1-W1 P3F
Theme URI: https://www.tehobsledovanie.ru/
Author: Инженерный Центр К-Эксперт
Author URI: https://www.tehobsledovanie.ru/
Description: Тема для сайта инженерного центра К-Эксперт. Техническое обследование зданий и сооружений.
Version: 1.5.1-p3d1-m3d-2-c1-p3d3b-p3d3c-p3d3d-p3d3e-p3d3f-p3d3g-r1-w1-p3f
License: GPL v2 or later
Text Domain: k-expert
*/

/* Здесь полностью скопировать содержимое style.css из Joomla */
/* Все пути к изображениям заменить на: url('images/...') */

/* Например: */
@charset "utf-8";

html, body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    margin: 0;
    padding: 0;
    height: 100%;
    background: url('images/background.jpg');
    color: #414f5f;
}

h1, h2 {
    color: #414f5f;
    font-size: 18px;
    font-weight: normal;
    width: 100%;
    float: left;
    margin: 10px 0;
}

.mailtofooter {color: #fff;}
.mailtofooter:hover {color: #fff; text-decoration: underline;}


.pricetablenew {width: 100%;     border-collapse: collapse;  border-radius: 3px 0px 0px 3px;}
.pricetablenew span {font-weight: 600;}
.pricetablenew td {padding-top: 12px; padding-bottom: 12px; padding-left: 20px; padding-right: 15px;}
.pricetablenew .headertr {background-color: #2769AD; color: #fff;}
.headertr td {padding-top: 18px; padding-bottom: 18px;}
.pricetablenew .greytr {background-color: #F3F3F3;}
.pricetablenew td.pust {padding-top: 0px; padding-bottom: 0px; padding-left: 20px; padding-right: 15px; line-height: 0%; height: 4px;}


h1 {
    border-bottom: 1px solid #2769ad;
    padding-bottom: 7px;
}

.politica {color: #acacac; font-size: 12px; position: relative; top: 0px; left: -3px; text-decoration: none; border: 0px solid #acacac; padding: 3px; border-radius: 0px; text-decoration: underline;}
.politica:hover {color: #f0f0f0; font-size: 12px; position: relative; top: 0	px; left: -3px; text-decoration: none; border: 0px solid #f0f0f0; padding: 3px; border-radius: 0px; text-decoration: none;}

.politicamob {display: none;}

.apolmob {color: #acacac; font-size: 12px; position: relative; top: 5px; text-decoration: none; border: 1px solid #acacac; padding: 3px; border-radius: 3px;}
.apolmob:hover {color: #f0f0f0; font-size: 12px; position: relative; top: 5px; text-decoration: none; border: 1px solid #f0f0f0; padding: 3px; border-radius: 3px;}

.politicamob a{color: #acacac; font-size: 12px; position: relative; top: 5px; text-decoration: underline; border: 0px solid #acacac; padding: 2px; border-radius: 0px;}
.politicamob a:hover{color: #f0f0f0; font-size: 12px; position: relative; top: 5px; text-decoration: none; border: 0px solid #f0f0f0; padding: 2px; border-radius: 0px;}



h3, h4, h5 {
    font-size: 16px;
    font-weight: normal;
    color: #414f5f;
    width: 100%;
    margin: 6px 0;
    float: left;
}

a {
    color: #2c6fb3;
    text-decoration: underline;
}

a:hover {
    text-decoration: none;
}

img {
    border: none;
}

.prezentatlink {color: #fff; text-decoration: underline;}
.prezentatlink:hover {color: #fff; text-decoration: none;}

.container {
    max-width: 1100px;
    width: 100%;
    margin: 0 auto;
    position: relative;
}

.sepp {margin-top: 10px;}

.container_bg {
    width: 100%;
    float: left;
    background: url(images/cont.png) repeat-x #fff;
    border-radius: 8px 8px 0 0;
    -moz-border-radius: 8px 8px 0 0;
    -webkit-border-radius: 8px 8px 0 0;
    -khtml-border-radius: 8px 8px 0 0;
    -webkit-box-shadow: 0 0 5px #999;
    -moz-box-shadow: 0 0 5px #999;
    box-shadow: 0 0 5px #999;
    margin-top: 10px;
}

@font-face {
    font-family: 'ArialNarrowR';
    src: url('font/arialn-webfont.woff') format('woff'), url('font/arialn-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'arialnarrowB';
    src: url('font/arialnb-webfont.woff') format('woff'), url('font/arialnb-webfont.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.pricetable {width: 98%; margin: 0 auto;}
.pricetable th {text-align: left; border: 1px solid #d0d0d0;}
.pricetable td {border: 1px solid #d0d0d0;}
.pricetable tr:hover {background: #f0f0f0;}


.pricetable2 {width: 100%; margin: 0 auto;}
.pricetable2 th {text-align: left; border: 1px solid #66af1f;}
	
.pricetable2 td {border: 2px solid #66af1f; padding-top: 6px; padding-bottom: 6px;}
.pricetable2 tr:hover {background: #f0f0f0;}




input[type="submit"],
input[type="button"] {
    cursor: pointer;
    width: 120px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    -webkit-box-shadow: 0 2px 3px #a4a4a4;
    -moz-box-shadow: 0 2px 3px #a4a4a4;
    box-shadow: 0 2px 3px #a4a4a4;
    border: none;
    background: #3779bc;
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    text-shadow: 0 -1px 0 #4c83bd;
    padding: 6px 0;
}

input[type="submit"]:hover,
input[type="button"]:hover {
    background: url(../images/submit.png) repeat-x;
}

input[type="reset"] {
    cursor: pointer;
    width: 120px;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    -webkit-box-shadow: 0 2px 3px #a4a4a4;
    -moz-box-shadow: 0 2px 3px #a4a4a4;
    box-shadow: 0 2px 3px #a4a4a4;
    border: none;
    background: #c7cdd7;
    color: #345d89;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    text-shadow: 0 1px 0 #fff;
    padding: 6px 0;
}

input[type="reset"]:hover {
    background: url(../images/reset.png) repeat-x;
}

input[type="text"], input[type="email"], input[type="tel"], select {
    border: 1px solid #3779bc;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    -webkit-box-shadow: inset 2px 2px 2px #b3b5b8;
    -moz-box-shadow: inset 2px 2px 2px #b3b5b8;
    box-shadow: inset 2px 2px 2px #b3b5b8;
    width: 240px;
    padding: 8px 10px 7px;
    color: #71808f;
    font-size: 12px;
    font-family: Arial, Helvetica, sans-serif;
    font-style: italic;
    margin: 8px 0;
    box-sizing: content-box;
}

textarea {
    border: 1px solid #3779bc;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    -webkit-box-shadow: inset 2px 2px 2px #b3b5b8;
    -moz-box-shadow: inset 2px 2px 2px #b3b5b8;
    box-shadow: inset 2px 2px 2px #b3b5b8;
    padding: 8px 10px 7px;
    color: #71808f;
    font-size: 12px;
    font-family: Arial, Helvetica, sans-serif;
    font-style: italic;
    margin: 8px 0;
}

label {
    color: #414f5f;
    display: inline-block;
}

.line_form {
    width: 100%;
    float: left;
    margin-bottom: 6px;
}

blockquote {
    width: calc(100% - 32px - 6px);
    padding: 13px 16px;
    border: 1px solid #69ad27;
    border-left-width: 5px;
#   line-height: 1.5em;
    color: #414f5f;
    font-size: 14px;
    margin: 6px 0;
    float: left;
    border-radius: 2px;
    -moz-border-radius: 2px;
    -webkit-border-radius: 2px;
    -khtml-border-radius: 2px;
}

/*------------------------header-----------------------*/

#header {
    width: 100%;
    height: 246px;
    position: relative;
    float: left;
    z-index: 15;
}

#header .bg_header {
    width: 1105px;
    height: 197px;
    position: absolute;
    top: 25px;
    left: 0px;
    background: url(images/header3.png) no-repeat;
    z-index: 1;
}

#header .logotip {
    position: absolute;
    top: 65px;
    left: 33px;
    z-index: 2;
}

#header .drawing {
    position: absolute;
    top: 32px;
    left: 330px;
    width: 247px;
    height: 122px;
    background: url(images/drawing.png) no-repeat;
    z-index: 2;
}

nav.icon {
    position: absolute;
    top: 0;
    right: 30px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

nav.icon img {
    padding-left: 10px;
}

#header .tel {
    position: absolute;
    top: 60px;
    right: 74px;
  line-height: 2.9rem;
    color: #fff;
    font-size: 30px;
    font-family: 'ArialNarrowR';
    z-index: 2;
}

#header .tel b {
    font-family: 'arialnarrowB';
}

#header .tel a {
    color: #fff;
    text-decoration: none;
}

#header .phoneiconc {position: relative; left: -5px; top: -6px;}
#header .adressiconc {position: relative; top: -11px; left: 826px; z-index: 5; background: url(images/iconcadress.jpg) no-repeat; width: 28px; height: 28px;}
#header .headerblockinfo {width: 220px; height: 120px; z-index: 6; position: relative; border: 0px; top: 45px; left: 580px;  }
#header .headerblockinfo p {color: #fff; text-transform: uppercase; font-size: 12px;  }

#header .address {
	width: 220px;

    position: absolute;
    top: 105px;
    right: 18px;
    color: #fff;
    z-index: 2;
}

nav.menu {
    position: absolute;
    top: 175px;
    left: 25px;
    z-index: 2;
}

.mailheaderlink {font-size: 13px; position: relative; top: -19px; left: 28px; font-size: 14px; font-family: arial; text-decoration: underline; color: #fff;}
.mailheaderlink:hover {font-size: 13px; position: relative; top: -19px; left: 28px; font-size: 14px; font-family: arial; text-decoration: none; color: #fff;}

nav.menu ul {
    margin: 0;
    padding: 0;
}

nav.menu ul li {
    margin: 0;
    padding: 11px 10px 0 10px;
    float: left;
    background: url(images/nav_r.png) no-repeat;
    list-style: none;
    font-size: 12px;
    text-transform: uppercase;
    text-shadow: 0 1px 0 #fff;
    position: relative;
}

nav.menu ul li:first-child {
    background: none;
}

nav.menu ul li a {
    color: #42586f;
    text-decoration: none;
    display: inline-block;
    padding-bottom: 11px;
}

nav.menu ul li a:hover {
    border-bottom: 2px solid #ff0000;
}

nav.menu ul li ul {
    opacity: 0;
    z-index: -2;
    position: absolute;
    top: 25px;
    left: 0;
    width: 200px;
    height: auto;
    padding: 5px;
    background: #fff;
    transition: all 0.2s ease;
    display: none;
    box-shadow: 1px 1px 3px rgba(0,0,0, 0.2);
}

nav.menu > ul > li.dropdown:hover > ul {
    opacity: 1;
    z-index: 2;
    top: 33px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
}

nav.menu ul li li {
    background: none;
}

nav.menu ul li ul li a:hover {
    padding-bottom: 9px;
}

nav.menu ul li ul li ul {
    display: none;
}

nav.menu ul li ul li:hover ul {
    display: block;
    position: absolute;
    left: 100%;
    top: 0;
    z-index: 2;
    opacity: 1;
}

#header .search_box {
    position: absolute;
    top: 176px;
    right: 28px;
    width: 304px;
    height: 36px;
    z-index: 2;
    background: url(images/search_box.png) no-repeat;
}

#header .search_box input[type="search"] {
    width: 245px;
    color: #71808f;
    font-size: 12px;
    font-family: Arial, Helvetica, sans-serif;
    font-style: italic;
    background: none;
    border: none;
    position: relative;
    top: 10px;
    left: 9px;
    float: left;
    margin: 0;
    padding: 0;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
}

#header .search_box button {
    width: 27px;
    height: 36px;

    background: none;
    position: absolute;
    right: 0;
    top: 0;
    box-shadow: none;
    border: none;
}

/*------------------------wrapper----------------------*/

#wrapper {
    padding: 0 20px;
    float: left;
    width: calc(100% - 40px);
}

/*------------------------#leftColomn------------------*/

#leftColomn {
    width: 300px;
    float: left;
}


#leftColomn a.make_order {
    float: left;
    background: url(images/icon_make_order.png) no-repeat 237px 17px #008736;
    width: 92%;
    height: 47px;
	border: 2px solid #fff;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    -khtml-border-radius: 4px;
    -webkit-box-shadow: 0 2px 5px #666666;
    -moz-box-shadow: 0 2px 5px #666666;
    box-shadow: 0 2px 5px #666666;
    color: #fff;
    font-size: 24px;
    text-transform: uppercase;
    text-decoration: none;
    text-shadow: 0 1px 0 #1f466f;
    padding: 23px 0 0 15px;
    margin-bottom: 20px;
}

#leftColomn a.make_order:hover {
    float: left;
    background: url(images/icon_make_order.png) no-repeat 237px 17px #2769ad;
    width: 92%;
    height: 47px;
	border: 2px solid #fff;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    -khtml-border-radius: 4px;
    -webkit-box-shadow: 0 2px 5px #666666;
    -moz-box-shadow: 0 2px 5px #666666;
    box-shadow: 0 2px 5px #666666;
    color: #fff;
    font-size: 24px;
    text-transform: uppercase;
    text-decoration: none;
    text-shadow: 0 1px 0 #1f466f;
    padding: 23px 0 0 15px;
    margin-bottom: 20px;
}

#leftColomn aside {
    float: left;
    width: 298px;
    border: 1px solid #2769ad;
    margin-bottom: 20px;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    -khtml-border-radius: 4px;
}

#leftColomn aside header {
    border-radius: 2px 2px 0 0;
    -moz-border-radius: 2px 2px 0 0;
    -webkit-border-radius: 2px 2px 0 0;
    -khtml-border-radius: 2px 2px 0 0;
    -webkit-box-shadow: 0 2px 3px #999;
    -moz-box-shadow: 0 2px 3px #999;
    box-shadow: 0 2px 3px #999;
    background: #2769ad;
    color: #fff;
    text-transform: uppercase;
    font-family: 'arialnarrowB';
    padding: 9px 8px;
    width: 282px;
    float: left;
    position: relative;
}

#leftColomn aside nav {
    float: left;
    width: 100%;
    margin-top: 7px;
}

#leftColomn aside nav ul {
    margin: 0;
    padding: 0;
}

#leftColomn aside nav ul li {
    margin: 0;
    padding: 0;
    list-style: none;
}

#leftColomn aside nav > ul > li {
    border-top: 1px solid #2769ad;
}

#leftColomn aside nav > ul > li:first-child {
    border: none;
	
}

#leftColomn aside nav > ul > li > a {
    color: #2769ad;
    text-decoration: none;
    padding: 12px 20px 12px 10px;
    width: 268px;
    display: inline-block;
    font-weight: bold;
    background: url(images/aside_li.gif) no-repeat 277px 19px;
}

#leftColomn aside nav > ul > li > a.bgnone {
    background: none !important;
}

#leftColomn aside nav > ul > li > a:hover {
    background: url(images/aside_li_hover.gif) no-repeat 277px 19px #2769ad;
    color: #fff;
    -webkit-box-shadow: 0 2px 3px #999;
    -moz-box-shadow: 0 2px 3px #999;
    box-shadow: 0 2px 3px #999;
}

#leftColomn aside nav > ul > li > a.bgnone:hover {
    background: url(images/aside_li.gif) no-repeat 277px 19px #2769ad!important;
}

#leftColomn aside nav ul li.active a:hover
{
    background: url(images/aside_li_active.gif) no-repeat 277px 19px #fff;
    color: #2769ad;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
/*    padding-bottom: 3px;*/
}


#leftColomn aside nav ul li.active a {
    background: url(images/aside_li_active.gif) no-repeat 277px 19px #fff;
    color: #2769ad;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
/*    padding-bottom: 3px;*/
}

#leftColomn aside nav ul li.active a:hover {
    /*color: #fff;*/
}


#leftColomn aside nav ul li.active {
/*    padding-bottom: 3px;*/
background-color: #e0e0e0;
 
}

#leftColomn aside nav ul li ul {
    margin: 3px 10px 0;
}

#leftColomn aside nav ul li ul li {
    padding: 6px 0 3px;
    background: url(images/aside_li_bg.gif) repeat-x;
    line-height: 1.3em;
}

#leftColomn aside nav ul li ul li:first-child {
    background: none;
}

#leftColomn aside nav ul li ul li a {
    color: #2c6fb3 !important; 
    text-decoration: none;
    background: url(images/aside_li_li.gif) no-repeat 0 4px !important;
    padding-left: 13px;
    width: 265px;
    display: inline-block;
}

#leftColomn aside nav ul li ul li a:hover, #leftColomn aside nav ul li ul li.active>a {
    background: url(images/aside_li_li_hover.gif) no-repeat 0 4px !important;
}

form.call_back {
    width: 262px;
    float: left;
    padding: 10px 0 10px 17px;
}

form.call_back textarea {
    width: 240px;
    height: 60px;
}

form.call_back input[type="submit"] {
    float: left;
}

form.call_back input[type="reset"] {
    float: right;
}

aside .news a.more {
    position: absolute;
    color: #fff;
    font-size: 12px;
    top: -27px;
    right: 10px;
    text-transform: none;
    font-family: Arial, Helvetica, sans-serif;
}

aside .news {
    float: left;
    padding: 0 10px 10px;
    width: 278px;
    position: relative;
}

aside .news section {
    background: url(images/aside_li_bg.gif) repeat-x;
    padding: 5px 0;
    width: 278px;
    float: left;
    padding: 17px 0 7px;
}

aside .news section:first-child {
    background: none;
}

aside .news section .date {
    width: 30px;
    height: 56px;
    background: url(images/date.png) no-repeat;
    padding: 0 10px 0 2px;
    color: #fff;
    font-size: 12px;
    text-align: center;
    margin-left: -3px;
    float: left;
}

aside .news section .date span {
    width: 100%;
    font-size: 18px;
    padding: 6px 0 0;
    display: inline-block;
}

aside .news section .name {
    width: 200px;
    float: left;
    margin: 6px 0 0 5px;
    font-size: 14px;
    font-style: italic;
    font-weight: bold;
    line-height: 1.35em;
}

aside .news section .name a {
    color: #787878;
    text-decoration: none;
}

aside .news section .name a:hover {
    text-decoration: underline;
}

aside .news section .text {
    width: 100%;
    float: left;
    color: #787878;
    font-style: italic;
    line-height: 1.5em;
    padding: 10px 0 5px;
}

aside .news section .more {
    text-align: right;
    width: 100%;
    float: left;
}

/*------------------------content----------------------*/

#content {
    width: calc(100% - 330px);
    float: right;
}

#content p {
    line-height: 1.45em;
	text-align: justify;
    margin: 6px 0;
}

.breadcrumbs {
    width: 100%;
    float: left;
    font-style: italic;
    font-size: 12px;
    color: #2c6fb3;
}

.breadcrumbs img {
    padding: 0 11px;
    display: inline-block;
}

.question {
    width: 100%;
    float: left;
    font-weight: bold;
    padding: 4px 0 3px;
}

.question a:hover {
    color: #cc0000;
}

.question a strong {
    float: left;
}

.question a span {
    width: 9px;
    height: 5px;
    background: url(images/aside_li.gif) no-repeat;
    display: inline-block;
    position: relative;
    top: 6px;
    margin-left: 4px;
    float: left;
}

.question a:hover span {
    background: url(images/question_hover.gif) no-repeat;
}

.answer {
    width: 100%;
    float: left;
    display: none;
}

.img_box {
    width: 220px;
    float: left;
    margin-left: 10px;
    max-width: 100%;
}

.img_box img {
    position: relative;
    z-index: 12;
    width: 200px;
    background: #fff;
    padding: 10px;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    -khtml-border-radius: 4px;
    -webkit-box-shadow: 0 2px 5px #C7C5C5;
    -moz-box-shadow: 0 2px 5px #C7C5C5;
    box-shadow: 0 2px 5px #C7C5C5;
    display: inline-block;
    max-width: 100%;
    height: auto;
}

.img_box span {
    padding: 12px 9px 9px;
    background: #ebeff1;
    color: #939393;
    font-style: italic;
    font-size: 12px;
    display: inline-block;
    margin-top: -7px;
    width: 202px;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    -khtml-border-radius: 4px;
    max-width: 100%;
}

.gallery_news .img_box {
    width: 365px;
}

.gallery_news .img_box img {
    width: 345px;
}

.gallery_news .img_box span {
    width: 347px;
}

#content ul {
    list-style-type: disc;
	text-align: justify;
	line-height: 1.3em;
	padding-left: 13px;
	margin: 3px 0 6px;
}

#content li {
    margin: 3px 0;
}

a.button {
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    -webkit-box-shadow: 0 2px 3px #a4a4a4;
    -moz-box-shadow: 0 2px 3px #a4a4a4;
    box-shadow: 0 2px 3px #a4a4a4;
    background: #3779bc;
    color: #fff;
    text-shadow: 0 -1px 0 #4c83bd;
    padding: 2px 20px 7px;
    display: inline-block;
    margin-right: 16px;
    text-decoration: none;
}

a.button:hover {
    background: url(images/submit.png) repeat-x #578bc4;
}

a.button img {
    display: inline-block;
    position: relative;
    top: 7px;
}

/*------------------------footer-----------------------*/

footer {
    width: 100%;
    float: left;
    height: 123px;
    margin-top: 65px;
    background: url(images/footer.png) no-repeat top center;
    position: relative;
}

footer .logotip {
    position: absolute;
    top: 28px;
    left: 40px;
}

footer .contacts {
    color: #fff;
    font-size: 12px;
    position: absolute;
    top: 20px;
    left: 325px;
    line-height: 1.4em;
}

footer .contacts img {
    display: inline-block;
    position: relative;
    top: 5px;
    padding-right: 7px;
}

footer nav.footer {
    position: absolute;
    top: 22px;
    left: 673px;
    font-size: 12px;
    width: 330px;
}

footer nav.footer a {
    color: #fff;
}

footer nav.footer ul {
    margin: 0;
    padding: 0;
}

footer nav.footer ul li {
    margin: 0;
    padding: 0 25px 7px 0;
    float: left;
    width: 140px;
    list-style: none;
}

footer .develop {
    position: absolute;
    top: 22px;
  /*  background: url(images/icon_up.png) no-repeat; */
    padding-left: 20px;
    left: 920px;
    color: #fff;
    font-size: 12px;
    z-index: 2;
}

footer .develop a {
    color: #fff;
    text-decoration: none;
}
footer .develop a:hover {
    text-decoration: underline;
}
footer .develop .for_mobile {
	display: none;
}
footer .develop .for_desktop {
	display: block;
	margin-top:  15px;
}

/*------------------------contacts---------------------*/

.company_contact {
    width: 100%;
    float: left;
}

.company_contact .title {
    font-size: 12px;
}

.company_contact p {
    margin: 7px 0 !important;
}

.company_contact section {
    width: 692px;
    padding: 0 0 10px 38px;
    float: left;
    line-height: 1.4em;
    background-position: 11px 0;
    background-repeat: no-repeat;
    max-width: calc(100% - 38px);
}

.company_contact section span {
    font-size: 12px;
}

.company_contact section.address {
    background-image: url(images/icon_marker.png);
}

.company_contact section.tel {
    background-image: url(images/icon_tel_01.png);
}

.company_contact section.mail {
    background-image: url(images/icon_mail.png);
}
.company_contact section.rekv {
    background-image: url(images/icon_rekv.png);
}
.map {
    padding: 10px;
    width: 600px;
    float: left;
    position: relative;
    -webkit-box-shadow: 0 0 5px #C7C5C5;
    -moz-box-shadow: 0 0 5px #C7C5C5;
    box-shadow: 0 0 5px #C7C5C5;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    margin-bottom: 30px;
}

.map img {
    float: left;
    z-index: 1;
}

.map a.button {
    position: absolute;
    top: 21px;
    right: 23px;
    margin: 0;
    padding: 8px 20px;
}

/*------------------------our works--------------------*/

.our_works {
    width: 750px;
    float: left;
    margin: 25px 0 10px -20px;
}

.our_works section {
    width: 230px;
    margin: 0 0 20px 20px;
    float: left;
    height: 330px;
}

.our_works section .img {
    float: left;
    padding: 1px;
    border: 10px solid #fff;
    background: #2769ad;
    -webkit-box-shadow: 0 0 5px #C7C5C5;
    -moz-box-shadow: 0 0 5px #C7C5C5;
    box-shadow: 0 0 5px #C7C5C5;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    width: 208px;
    height: 148px;
    overflow: hidden;
    margin-bottom: 17px;
}

.our_works section .img a {
    display: table-cell;
    width: 208px;
    height: 148px;
    position: relative;
    vertical-align: middle;
    text-align: center;
}

.our_works section .name {
    font-size: 14px;
    font-weight: bold;
    color: #414f5f;
    margin-bottom: 11px;
}

.our_works section .text {
    font-size: 12px;
    line-height: 1.7em;
    margin-bottom: 12px;
}

.our_works section .more {
    font-size: 12px;
}

/*------------------------news-------------------------*/

.news_box {
    float: left;
    width: 100%;
}

.news_box section {
    background: url(images/aside_li_bg.gif) repeat-x;
    float: left;
    width: 100%;
    padding-top: 19px;
}

.news_box section:first-child {
    background: none;
    padding-top: 12px;
}

.news_box .img_box {
    margin-left: 0;
    margin-right: 15px;
    margin-bottom: 10px;
    width: 175px;
}

.news_box .img_box a {
    display: block;
}

.news_box .img_box img {
    max-width: calc(100% - 20px);
}

.news_box .date {
    width: 80px;
    float: left;
    margin-right: 20px;
    -webkit-box-shadow: 0 2px 5px #C7C5C5;
    -moz-box-shadow: 0 2px 5px #C7C5C5;
    box-shadow: 0 2px 5px #C7C5C5;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -khtml-border-radius: 3px;
    position: relative;
    background: #2769ad;
    color: #fff;
    font-size: 13px;
    height: 50px;
    margin-bottom: 30px;
}

.news_box .date span {
    width: 80px;
    height: 50px;
    display: table-cell;
    vertical-align: middle;
    text-align: center;
    position: relative;
}

.news_box .date:before {
    position: absolute;
    top: 18px;
    right: -7px;
    width: 8px;
    height: 15px;
    content: url(images/date_before.png);
}

.news_box .name {
    font-size: 14px;
    font-weight: bold;
}

.news_box .name a {
    text-decoration: none;
}

.news_box .name a:hover {
    text-decoration: underline;
}

#content .news_box .text p {
    margin: 0;
}

.pagination {
    width: 100%;
    float: left;
    height: 40px;
    background: #c0c8d3;
    border-radius: 3px;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    -khtml-border-radius: 3px;
/*    font-size: 18px;*/
    margin: 20px 0;
}

.pagination .counter {
    display: none;
}

.pagination ul {
    margin: 0 !important;
    padding: 0 !important;
}

.pagination ul li {
    margin: 0;
    padding: 0;
    float: left;
    list-style: none;
    background: url(images/pagination_r.png) no-repeat;
}

.pagination-start, .pagination-end {
    display: none;
}

.pagination ul li.pagination-prev {
    background: none;
}

.pagination ul li a, .pagination li span {
    width: 40px;
    float: left;
    text-align: center;
    padding: 9px 0;
    color: #fff;
}

.pagination ul li img {
    margin-bottom: -11px;
    position: relative;
    top: -4px;
}

.pagination ul li span {
    cursor: text;
    color: #2769ad;
    text-decoration: none;
    font-weight: bold;
}

@media (max-width: 991px) {
    .pagination ul li a {
        width: 30px;
    }
}

@media (max-width: 575px) {
    .pagination ul li {
        background: none;
    }
    .pagination ul li a, .pagination li span {
        width: 23px;
    }
}

@media (max-width: 450px) {
    .pagination ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
        -ms-flex-align: center;
                align-items: center;
    }
}


/*------------------------page our work----------------*/

.gallery_work, .gallery_news {
    width: 750px;
    float: left;
    margin-left: -20px;
    margin-bottom: 20px;
 	max-width: 100%;
}

.gallery_work section {
    width: 230px;
    float: left;
    margin-left: 20px;
    max-width: 100%;
}

.gallery_work section .img {
    float: left;
    position: relative;
    padding: 10px;
    border-radius: 4px;
    -moz-border-radius: 4px;
    -webkit-border-radius: 4px;
    -khtml-border-radius: 4px;
    -webkit-box-shadow: 0 2px 5px #C7C5C5;
    -moz-box-shadow: 0 2px 5px #C7C5C5;
    box-shadow: 0 2px 5px #C7C5C5;
    background: 10px;
    position: relative;
    z-index: 2;
    background: #fff;
}

.gallery_work section .img img {
    width: 200px;
    float: left;
    max-width: 100%;
  	height: auto;
}

.gallery_work section .text {
    border-radius: 0 0 4px 4px;
    -moz-border-radius: 0 0 4px 4px;
    -webkit-border-radius: 0 0 4px 4px;
    -khtml-border-radius: 0 0 4px 4px;
    position: relative;
    margin-top: -5px;
    background: #ebeff1;
    padding: 10px 10px 7px 10px;
    color: #939393;
    font-size: 12px;
    font-style: italic;
    float: left;
    width: 200px;
}

nav.menu a.openmenu {
	display: none;
}

/*------------------------news page--------------------*/

.date_news {
    float: left;
    width: 100%;
    color: #9c9c9c;
    font-size: 13px;
    margin-top: 13px;
}

.bg_fix {
    width: 100%;
    height: 100%;
    display: none;
    float: left;
    background: url(images/bg_fix.png);
    position: fixed;
    z-index: 100;
}

.pp_overlay {
    background: #000;
    display: none;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 9500;
}

.pp_pic_holder {
    width: 820px;
    position: absolute;
    display: none;
    z-index: 10000;
}

.pp_pic_holder a.pp_close {
    width: 30px;
    height: 30px;
    background: url(images/close.png) repeat;
    display: block;
    position: absolute;
    top: 4px;
    right: 4px;
    z-index: 3;
    text-indent: -9999px;
}

.pp_pic_holder #fullResImage {
    padding: 10px 10px 7px;
    width: 800px;
    background: #fff;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    position: relative;
    z-index: 2;
}

.pp_pic_holder .pp_details {
    border-radius: 0 0 5px 5px;
    -moz-border-radius: 0 0 5px 5px;
    -webkit-border-radius: 0 0 5px 5px;
    -khtml-border-radius: 0 0 5px 5px;
    float: left;
    background: #ebeff1;
    padding: 17px 10px;
    width: 798px;
    margin-top: -7px;
    color: #939393;
    font-style: italic;
    font-size: 12px;
    position: relative;
    z-index: 1;
}

.pp_pic_holder .pp_details p {
    margin: 0;
}

.popup {
    width: 600px;
    position: absolute;
    top: 15%;
    left: 50%;
    margin-left: -300px;
    background: #e4e7e9;
    border-radius: 5px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    -khtml-border-radius: 5px;
    -webkit-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    display: none;
    z-index: 101;
}

.popup .close {
    width: 30px;
    height: 30px;
    position: absolute;
    top: 11px;
    right: 9px;
    background: url(images/close_01.gif);
}

.popup .title {
    width: 580px;
    margin: 0 10px;
    border-bottom: 1px solid #0165cc;
    color: #0165cc;
    font-size: 20px;
    font-style: italic;
    font-family: Georgia, "Times New Roman", Times, serif;
    padding: 14px 0;
}

.popup form {
    width: 560px;
    padding: 17px 20px;
}

.popup label {
    width: 100%;
    float: left;
    text-shadow: 0 1px 0 #fff;
}

.popup input[type="text"] {
    border: 1px solid #666666;
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -khtml-border-radius: 0;
    margin-top: 3px;
    width: 260px;
    font-size: 14px;
    font-style: normal;
}

.popup select {
    width: 280px;
    border: 1px solid #666666;
    padding: 6px 6px 6px 0;
    color: #71808F;
    font-size: 14px;
    margin: 3px 0 8px;
}

.popup textarea {
    border: 1px solid #666666;
    border-radius: 0;
    -moz-border-radius: 0;
    -webkit-border-radius: 0;
    -khtml-border-radius: 0;
    margin-top: 3px;
    width: 260px;
    font-size: 14px;
    font-style: normal;
    width: 540px;
    height: 55px;
}

.popup input[type="file"] {
    margin-bottom: 8px;
}

.popup input[type="submit"] {
    margin-right: 5px;
    margin-bottom: 20px;
}

/*------------------------END--------------------------*/

.custom p {
    margin: 0;
}

aside div.chronoform {
    display: none !important;
}

.ccms_form_element {
    float: left;
    width: 100%;
    border: none;
    padding: 0;
    margin-bottom: 6px;
}

.ccms_form_element label {
    font-weight: normal;
    line-height: 1em;
    margin: 0;
}

.leftform p {
    margin: 10px;
    float: left;
}

.bottom_button {
    float: left;
}

.bottom_button p {
    margin: 0;
}

#xmap ul.level_0 {
    float: left;
    width: 100%;
}

#map {
  position: relative;
}

#map #info-block {
    background: #fff;
    border-bottom: 3px solid #2769ad;
    display: none;
    max-height: 500px;
    left: 0px;
    padding: 30px 30px 20px;
    position: absolute;
    top: 0px;
    max-width: 500px;
    z-index: 10;
      -moz-box-shadow: 0 2px 10px #7d7d7d;
    -webkit-box-shadow: 0 2px 10px #7d7d7d;
    box-shadow: 0 2px 10px #7d7d7d;
}

#map #info-block .text {
    font-size: 14px;
}

#map .over {
    background: #fff;
    display: none;
    filter: Alpha(Opacity=2);
    height: 100%;
    left: 0px;
    opacity: 0.02;
    position: absolute;
    top: 0px;
    width: 100%;
    z-index: 5;
}

#map #info-block .close {
    background: url(images/close_01.gif) no-repeat;
    display: block;
    height: 24px;
    position: absolute;
    right: 0px;
    top: 0px;
    width: 24px;
  background-size: contain;
}

	.visible-xs {display: none;}
	.visible-sm {display: none;}

#leftColomn .leftmodule.callback {
	text-align: center;
}

#leftColomn .leftmodule.callback header {
	font-family: 'ArialNarrowR';
	text-align: center;
	width: 242px;
	padding: 9px 28px;
	line-height: 1.4em;
}

#leftColomn .leftmodule.callback header:before {
	content: '';
	display: block;
	margin: 3px auto 9px;
	background: url(images/sidebar_header_phone.png) no-repeat;
	width: 20px;
	height: 32px;
}

#leftColomn .leftmodule.callback .custom {
	float: left;
	width: 100%;
}

#leftColomn .leftmodule.callback .phone {
  font-size: 30px;
  font-family: "Arial";
  color: rgb(39, 105, 173);
	padding: 30px 0 20px;
}

#leftColomn .leftmodule.callback .phone span {
	font-weight: bold;
}

#leftColomn .leftmodule.callback .email {
	padding-bottom: 10px;
}

#leftColomn .leftmodule.callback .email a {
  font-size: 16px;
  font-family: "Arial";
  color: rgb(39, 105, 173);
  line-height: 1.25;
}

#leftColomn .leftmodule.callback .button a {
	border-radius: 3px;
    background-image: -moz-linear-gradient( 90deg, rgb(77,122,171) 0%, rgb(54,95,139) 100%);
    background-image: -webkit-linear-gradient( 90deg, rgb(77,122,171) 0%, rgb(54,95,139) 100%);
    background-image: -ms-linear-gradient( 90deg, rgb(77,122,171) 0%, rgb(54,95,139) 100%);
    box-shadow: 0px 2px 4px 0px rgba(0, 0, 0, 0.3);
    width: 160px;
    height: 18px;
    font-size: 14px;
    font-family: "Arial";
    color: rgb(255, 255, 255);
    text-decoration: none;
    padding: 5px 11px 17px;
    margin-top: 5px;
    margin-bottom: 20px;
    display: inline-block;
}

#leftColomn .leftmodule.callback .button a:before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background: url(images/sidebar_button_phone.png) no-repeat;
	margin-right: 10px;
	position: relative;
	top: 6px;
}

#tags {
    float: left;
    width: 100%;
}

#tags ul {
    margin: 10px 0;
    padding: 0;
}

#tags ul li {
    margin: 10px 20px 10px 0;
    display: inline-block;
    list-style: none;
}

#tags ul li.parent {
    width: 100%;
    margin:  10px 0;
}

#tags ul li ul {
    margin: 5px 0 10px;
    width:  100%;
}

#tags ul li ul li {
    margin:  0 15px 0 0;
}

.tag-category fieldset {
    display: none;
}

.tag-category .list-striped {
    list-style: none !important;
    width: 100%;
}

ul.tags.inline {
    list-style: none !important;
    padding-left: 0 !important;
}

ul.tags.inline li {
    padding-left: 18px;
    background: url(images/icon_marker.png) no-repeat left 2px;
    background-size: 14px;
    margin-left: -4px !important;
}

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

.politica {display: none;}
.politicamob {display: block;}

.politicamob a{color: #acacac; font-size: 12px; position: relative; top: 5px; text-decoration: underline; border: 0px solid #acacac; padding: 2px; border-radius: 0px;}
.politicamob a:hover{color: #f0f0f0; font-size: 12px; position: relative; top: 5px; text-decoration: none; border: 0px solid #f0f0f0; padding: 2px; border-radius: 0px;}

    .sepp {margin-top: 10px;}
	
	#header .drawing {
		left: calc(50% - 123px);
	}
	#header .adressiconc {display: none;}
	#header .headerblockinfo {display: none;}
	#header .bg_header {
		background-size: cover;
    	border-radius: 0px 8px 12px;
    	width: calc(100% - 25px);
	}
	footer {
		background: #2769ad;
    	padding-bottom: 80px;
    	height: auto;
	}
	footer .logotip {
		position: relative;
    	margin-top: 28px;
    	margin-left: 40px;
    	float: left;
    	left: auto;
    	top: auto;
	}
	footer .contacts {
		position: relative;
    	margin-top: 28px;
    	margin-left: 40px;
    	float: left;
    	left: auto;
    	top: auto;
	}
	footer nav.footer {
		position: relative;
    	float: left;
    	left: auto;
    	top: auto;
    	margin-left: 40px;
    	margin-top: 10px;
    	width: auto;
	}
	footer nav.footer ul li {
		width: auto;
	}
	.our_works {
		width: 100%;
	}
	#map svg {
		max-width: 100%;
		height: auto;
	}
	.company_contact>section {
		max-width: calc(100% - 38px);
	}
	.company_contact .map {
		max-width: 100%;
	}
	.company_contact .map img {
		max-width: 100%;
	}
	footer .develop {
        top: auto;
        bottom: 20px;
        left: 23px;
    }
    footer .develop .for_desktop {
        display: none;
    }
    footer .develop .for_mobile {
        display: inline;
        margin-left: 15px;
        margin-top: -1px;
    }
	.visible-xs {display: none;}
	.visible-sm {display: none;}
}

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

.politica  {display: none;} 
.politicamob {display: block;}


.politicamob a{color: #acacac; font-size: 12px; position: relative; top: 5px; text-decoration: underline; border: 0px solid #acacac; padding: 2px; border-radius: 0px;}
.politicamob a:hover{color: #f0f0f0; font-size: 12px; position: relative; top: 5px; text-decoration: none; border: 0px solid #f0f0f0; padding: 2px; border-radius: 0px;}


	#header .drawing {
		display: none;
	}
	#header .headerblockinfo {display: none;}
	.table_wrap {
	    width: 100%;
	 
	}
	#header .adressiconc {display: none;}
	.hidden-sm {display: none;}
	.visible-sm {display: inline;}

}

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

.politica  {display: none;} 
.politicamob {}

    .sepp {margin-top: 10px;}
	#content, #leftColomn {
		width: 100%;
		float: left;
	}
	#header .adressiconc {display: none;}
		#header .headerblockinfo {display: none;}
	#leftColomn {
		margin-top: 30px;
	}
	#leftColomn>*, #leftColomn aside {
		width: 100%;
	}
	#leftColomn aside header {
		width: calc(100% - 16px);
	}
	#leftColomn .leftmodule.callback header {
		width: calc(100% - 56px);
	}
	#leftColomn aside nav > ul > li > a {
		width: calc(100% - 30px);
	}
	aside .news {
		width: calc(100% - 20px);
	}
	aside .news section {
		width: 100%;
	}
	nav.menu {
		left: 0;
		top: 0;
		z-index: 5000;
	}
	nav.menu a.openmenu {
        display: block;
        position: absolute;
        left: 10px;
        top: 0;
        background: url(images/menu.png) no-repeat;
        width: auto;
        height: 25px;
        padding-left: 27px;
        line-height: 26px;
        text-decoration: none;
        text-transform: uppercase;
        color: #39779e;
	}
	nav.menu ul {
		display: none;
	    position: absolute;
	    top: 32px;
	    background: #2769ad;
	    z-index: 5000;
	    text-align: left;
	    width: 300px;
    }
    nav.menu ul li {
    	width: 100%;
        box-sizing: border-box;
    	background: none !important;
    	color: #fff;
    	text-shadow: none;
    }
    nav.menu ul li a {
    	color: #ccc;
    }
    nav.menu ul li.parent {
        display: flex;
        flex-wrap: wrap;
        padding-block: 5px;
        align-items: center;
        justify-content: space-between;
    }
    nav.menu ul li.parent>a:first-child {
        flex: 0 0 calc(100% - 25px);
        width: calc(100% - 25px);
        order: 1;
        padding: 0;
    }
    nav.menu .toggle {
        width: 25px;
        height: 25px;
        flex: 0 0 25px;
        order: 2;
        padding-bottom: 0;
        background: url(images/arrow-down-white.svg) no-repeat center / contain;
        border: none !important;
    }
    nav.menu .active>.toggle {
        transform: scaleY(-1);
    }
    nav.menu ul li.dropdown:hover ul {
        display: none;
    }
    nav.menu ul li.dropdown ul {
        box-shadow: none;
        display: none;
        order: 3;
        top: 0 !important;
        position: relative;
        margin-left: -10px;
        width: calc(100% + 10px);
        margin-right: -10px;
        opacity: 1;
    }
	.hidden-xs {display: none;}
	.visible-sm {display: inline;}
    nav.menu ul li ul li a {
        color: #42586f;
    }
    nav.menu ul li ul li .toggle {
        background-image: url(images/arrow-down-blue.svg);
    }
    nav.menu ul li ul li:hover ul {
        position: relative;
        left: 0;
    }
    .news_box .img_box {
        width: 130px;
    }
}
@media screen and (max-width: 570px) {

.politica  {display: none;}
.politicamob {display: inline-block; position: relative; top: 4px;}

.politicamob a{color: #acacac; font-size: 12px; position: relative; top: 5px; text-decoration: underline; border: 0px solid #acacac; padding: 2px; border-radius: 0px;}
.politicamob a:hover{color: #f0f0f0; font-size: 12px; position: relative; top: 5px; text-decoration: none; border: 0px solid #f0f0f0; padding: 2px; border-radius: 0px;}


    .sepp {margin-top: 10px;}
	#header {
		text-align: center;
		margin-bottom: 20px;
        padding-bottom: 12px;
        height: auto;
	}
	#header .adressiconc {display: none;}
		#header .headerblockinfo {display: none;}
	#header .bg_header {
		background: #2769ad;
    	width: 100%;
    	left: 0;
    	border-radius: 0;
    	height: calc(100% - 20px);
	}
	#header .logotip {
	    position: relative;
	    float: left;
	    left: 0;
	    margin-top: 30px;
	    top: auto;
	    text-align: center;
	    width: 100%;
	}
	#header .logotip img {
		max-width: 100%;
		height: auto;
	}
	#header .tel {
	    position: relative;
	    float: left;
	    top: auto;
	    left: auto;
	    width: 100%;
	    right: auto;
	    text-align: center;}

	#header .pochta {
	    position: relative;
	    left: auto;
	    right: auto;
	    text-align: center;
	    float: left;
	    width: 90%;
	    padding: 0 5%;
	    margin-bottom: 5px;
		
    }
	
	
	#header .address {
	    position: relative;
	    left: auto;
	    right: auto;
	    text-align: center;
	    float: left;
	    width: 90%;
	    padding: 0 5%;
	    margin-bottom: 5px;
		
    }
	#header .search_box {
	    position: relative;
	    top: auto;
	    left: auto;
	    display: inline-block;
	    right: auto;		
	}
	.gallery_work, .gallery_news {
		width: calc(100% + 40px);
		text-align: center;
        max-width: calc(100% + 40px);
	}
	.img_box {
		display: block;
		float: none !important;
		margin: 0 auto;
		max-width: 100%;
	}
	.img_box span {
		max-width: calc(100% - 21px);
	}
	.img_box img {
		max-width: calc(100% - 20px);
		height: auto;
	}
	.our_works {
		text-align: center;
	}
	.our_works section {
		display: inline-block;
		float: none;
	}
	.popup {
	    left: 0;
	    margin-left: 0;
	    width: 100%;
	}
	.popup .title {
	    width: calc(100% - 50px);
	}
	.popup form {
	    width: calc(100% - 40px);
	}
	.popup textarea {
	    max-width: calc(100% - 20px);
	}
	.hidden-xs {display: none;}
	.visible-sm {display: inline;}

    .jg_element_cat {
        width: 100% !important;
    }
    .pricetablenew td {
        padding: 10px 5px;
    }
    .pricetablenew td .button {
        margin-right: 0;
        padding: 3px 7px; 
    }
    .news_box .img_box {
        float: left !important;
    }
}
@media (max-width: 450px) {
    .news_box .img_box {
        float: none !important;
        width: 100%;
        margin: 0 0 10px;
    }
}

.pretty-slider .owl-nav {
  display: none;
}
.pretty-slider .owl-controls .owl-dots .owl-dot span {
  margin: 0;
  width: 26px;
  height: 26px;
  background: url(images/dot_inactive.png) no-repeat center !important;
  -webkit-transition: all 0.2s ease;
          transition: all 0.2s ease;
}
.pretty-slider .owl-controls .owl-dots .owl-dot.active span {
  background: url(images/dot_active.png) no-repeat center !important;
}
.pretty-slider .owl-item {
  /*margin: 0 !important;*/
}
.pretty-slider .owl-item .item .lgx-logo-img {
  position: relative;
  padding: 0 !important;
}
.pretty-slider .owl-item .item .lgx-logo-img a img {
  width: 100%;
  max-width: 100% !important;
  max-height: 10000px !important;
  height: auto;
}
.pretty-slider .owl-item .item .lgx-logo-img .logo-company-name {
  position: absolute;
  height: 44px;
  width: 100%;
  left: 0;
  bottom: 0;
  background: rgba(28, 93, 149, 0.7);
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
}
.pretty-slider .owl-item .item .lgx-logo-img .logo-company-name .lgx-logo-title {
  font-size: 20px;
  color: #fff  !important;
  line-height: 1;
}

.scroll-up {
    display: block;
    position: fixed;
    right: 15px;
    bottom: 15px;
    background: url(images/up-arrow.svg) no-repeat center rgba(255, 255 ,255, 100);
    background-size: 20px auto;
    width: 30px;
    height: 30px;
    z-index: -100;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: scale(0.5) translateY(25px);
    transform: scale(0.5) translateY(25px);
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    border-radius: 4px;
}

.scroll-up.visible {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    z-index: 100;
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
}

.whatsapp-but {
    display: block;
    position: fixed;
    right: 10px;
    bottom: 65px;
    background: url(images/whatsapp.svg) no-repeat center rgba(255, 255 ,255, 100);
    background-size: 27px auto;
    width: 40px;
    height: 40px;
    z-index: -100;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -webkit-transform: scale(0.5) translateY(25px);
    transform: scale(0.5) translateY(25px);
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    border-radius: 4px;
}

.whatsapp-but {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    z-index: 100;
    -webkit-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0);
}

@media (max-width: 767px) {
    .scroll-up {
        right: auto;
        left: 10px;
        bottom: 10px;
        padding: 5px;
    }
    .whatsapp-but {
        bottom: 10px;
        right: 10px;
        padding: 5px;
    }
}

form.letter {
    display: block;
    width: 100%;
    margin: 20px 0 30px;
}

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

form.letter input[type="text"], form.letter select, form.letter textarea {
    display: block;
    width: calc(100% - 20px);
    max-width: 500px;
    margin-bottom: 15px;
}

form.letter textarea {
    height: 140px;
}

.print-icon {
    float: right;
    margin-top: -40px;
}

.print-icon a {
    display: block;
    width: 25px;
    height: 25px;
    background: url(images/print.svg) no-repeat center;
    background-size: contain;
    text-indent: -99999px;
}

.newsflash {
    padding-top: 2em;
}

.newsflash .title {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 3px;
}

.gallery_work.two_columns .img_box {
    width: calc(50% - 10px);
}

.gallery_work.two_columns .img_box img {
    width: calc(100% - 20px);
}

.gallery_work.two_columns .img_box span {
    width: calc(100% - 18px);
}

.flex-tags {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    margin: 0 !important;
    padding: 15px 0 0 !important;
    list-style: none;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    box-sizing: border-box;
}

.flex-tags li {
    width: 48%;
    margin: 0 0 15px !important;
    box-sizing: border-box;
    text-align: left;
}

.flex-tags li img {
    max-width: 100%;
    height: auto;
    display: block;
    background: #fff;
    padding: 10px;
    border-radius: 4px;
    box-shadow: 0 2px 5px #C7C5C5;
    box-sizing: border-box;
}

@media (max-width: 575px) {
    .flex-tags li {
        width: 100%;
        margin: 0 0 10px !important;
    }
}

aside .news section .newshead {
    width: 100%;
    margin: 0;
}

aside .news section .newshead .picture {
    border: none;
    padding: 0;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    text-align: left;
    overflow: visible;
}

aside .news section .newshead .picture img {
    top: auto !important;
    display: block;
} 



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

.make_order:after {
    content: "";
    display: block;
    width: 30px;
    height: 300px;
    margin-left: 60px;
    background: #fff;
    background: -moz-linear-gradient(top, rgba(255,255,255,0.7) 0%, rgba(255,255,255,1) 50%, rgba(255,255,255,0.7) 100%);
    background: -webkit-linear-gradient(top, rgba(255,255,255,0.7) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0.7) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,0.7) 0%,rgba(255,255,255,1) 50%,rgba(255,255,255,0.7) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b3ffffff', endColorstr='#b3ffffff',GradientType=0 );
    position: absolute;
    left: -40px;
    top: -150px;
    z-index: 1;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: all 0.1s;
    transition: all 0.1s;
    -webkit-animation-name: slideme;
    animation-name: slideme;
    -webkit-animation-duration: 3s;
    animation-duration: 3s;
    -webkit-animation-delay: 0.05s;
    animation-delay: 0.05s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
}
 
@-webkit-keyframes slideme {
    0% { left: -30px; margin-left: 0px; }
    30% { left: 110%; margin-left: 80px; }
    100% { left: 110%; margin-left: 80px; } 
}

.lgx-logo-tooltip124 {
    border-radius: 5px; /* делаем круглый край */
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5); /* добавляем тень */
}

/* P3D-1: compact native search results; shared shell remains P3D-2. */
.search-results-header h1 span {
    font-weight: bold;
}

.search-result-card {
    border-bottom: 1px solid #d8e0e8;
    margin: 0 0 18px;
    padding: 0 0 14px;
}

.search-result-card h2 {
    margin: 0 0 7px;
}

.search-result-card h2 a {
    color: #2769ad;
    text-decoration: underline;
}

.search-result-excerpt p {
    margin: 0;
}

.search-results-page .navigation.pagination {
    margin: 20px 0;
}

/* P3D-1 remediation: nested dropdowns align with their parent row on desktop. */
@media screen and (min-width: 751px) {
    nav.menu > ul > li > ul > li.dropdown:hover > ul {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        position: absolute;
        left: 100%;
        top: 0;
        z-index: 2;
        opacity: 1;
    }
}

/* P3D M1: left menu only; all other presentation remains exact P3D-1. */

#leftColomn aside .left-services-nav {
    float: left;
    width: 100%;
    margin-top: 7px;
}

#leftColomn aside .left-services-nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#leftColomn aside .left-services-nav > ul > li {
    position: relative;
    border-top: 1px solid #8faac4;
}

#leftColomn aside .left-services-nav > ul > li:first-child {
    border-top: 0;
}

#leftColomn aside .left-services-nav > ul > li > a {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 43px;
    padding: 12px 48px 12px 10px;
    color: #2769ad;
    font-weight: bold;
    line-height: 1.3;
    text-decoration: none;
    background: #fff !important;
}

#leftColomn aside .left-services-nav > ul > li.menu-item-has-children > a {
    width: calc(100% - 47px);
    padding-right: 10px;
}

#leftColomn aside .left-services-nav > ul > li > a:hover,
#leftColomn aside .left-services-nav > ul > li > a:focus-visible,
#leftColomn aside .left-services-nav > ul > li.active > a,
#leftColomn aside .left-services-nav > ul > li.current-menu-ancestor > a,
#leftColomn aside .left-services-nav > ul > li.current-menu-item > a {
    color: #fff !important;
    background: #2769ad !important;
}

.left-services-nav .left-menu-toggle {
    position: absolute;
    top: 6px;
    right: 7px;
    z-index: 2;
    display: block;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #9eb6ce;
    border-radius: 4px;
    background: #eef4fa;
    box-shadow: inset 0 1px 0 #fff;
    cursor: pointer;
}

.left-services-nav .left-menu-toggle::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 9px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #2769ad;
    border-bottom: 2px solid #2769ad;
    transform: rotate(-45deg);
    transition: transform 0.15s ease;
}

.left-services-nav .left-menu-toggle:hover,
.left-services-nav .left-menu-toggle:focus-visible {
    border-color: #2769ad;
    outline: 2px solid #d6e4f1;
    outline-offset: 1px;
}

.left-services-nav .left-menu-toggle[aria-expanded='true']::before {
    transform: rotate(45deg);
}

#leftColomn aside .left-services-nav > ul > li > ul.sub-menu {
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 30;
    display: none;
    box-sizing: border-box;
    width: min(410px, calc(100vw - 360px));
    margin: 0;
    padding: 6px 10px;
    background: #fff;
    border: 1px solid #2769ad;
    border-radius: 0 4px 4px 0;
    box-shadow: 0 4px 12px rgba(35, 65, 95, 0.22);
}

#leftColomn aside .left-services-nav > ul > li:hover > ul.sub-menu,
#leftColomn aside .left-services-nav > ul > li.is-expanded > ul.sub-menu {
    display: block;
}

#leftColomn aside .left-services-nav > ul > li > ul.sub-menu > li {
    margin: 0;
    padding: 0;
    background: none;
}

#leftColomn aside .left-services-nav > ul > li > ul.sub-menu > li + li {
    border-top: 1px solid #c6d5e3;
}

#leftColomn aside .left-services-nav > ul > li > ul.sub-menu > li > a {
    box-sizing: border-box;
    display: block;
    width: auto;
    padding: 9px 10px 9px 15px;
    color: #2769ad !important;
    line-height: 1.3;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    background: none !important;
}

#leftColomn aside .left-services-nav > ul > li > ul.sub-menu > li > a:hover,
#leftColomn aside .left-services-nav > ul > li > ul.sub-menu > li > a:focus-visible,
#leftColomn aside .left-services-nav > ul > li > ul.sub-menu > li.active > a {
    color: #fff !important;
    background: #2769ad !important;
}

@media screen and (max-width: 750px) {
    .left-services-nav .left-menu-toggle::before {
        transform: rotate(45deg);
    }

    .left-services-nav .left-menu-toggle[aria-expanded='true']::before {
        transform: rotate(225deg);
    }

    #leftColomn aside .left-services-nav > ul > li:hover > ul.sub-menu {
        display: none;
    }

    #leftColomn aside .left-services-nav > ul > li.is-expanded > ul.sub-menu {
        position: static;
        display: block;
        width: auto;
        margin: 0;
        padding: 4px 8px 8px 18px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: #f3f6f9;
    }
}

/* P3D M1.1: desktop indicator, current branch and mobile accordion only. */

#leftColomn aside .left-services-nav > ul > li > ul.sub-menu > li.current-menu-item > a,
#leftColomn aside .left-services-nav > ul > li > ul.sub-menu > li.current_page_item > a {
    color: #fff !important;
    background: #2769ad !important;
}

@media screen and (min-width: 751px) {
    .left-services-nav .left-menu-toggle {
        display: none;
    }

    #leftColomn aside .left-services-nav > ul > li.menu-item-has-children::after {
        content: '';
        position: absolute;
        top: 17px;
        right: 17px;
        z-index: 2;
        width: 8px;
        height: 8px;
        border-right: 2px solid #2769ad;
        border-bottom: 2px solid #2769ad;
        pointer-events: none;
        transform: rotate(-45deg);
    }

    #leftColomn aside .left-services-nav > ul > li.current-menu-ancestor::after,
    #leftColomn aside .left-services-nav > ul > li.current-menu-item::after,
    #leftColomn aside .left-services-nav > ul > li.current_page_ancestor::after,
    #leftColomn aside .left-services-nav > ul > li.current_page_item::after {
        transform: rotate(45deg);
    }

    #leftColomn aside .left-services-nav > ul > li.current-menu-ancestor > ul.sub-menu,
    #leftColomn aside .left-services-nav > ul > li.current-menu-item > ul.sub-menu,
    #leftColomn aside .left-services-nav > ul > li.current_page_ancestor > ul.sub-menu,
    #leftColomn aside .left-services-nav > ul > li.current_page_item > ul.sub-menu {
        position: static;
        display: block;
        width: 100%;
        padding: 4px 8px 8px 18px;
        border: 0;
        border-top: 1px solid #8faac4;
        border-radius: 0;
        box-shadow: none;
        background: #f3f6f9;
    }
}

@media screen and (max-width: 750px) {
    #leftColomn aside .left-services-nav > ul > li.current-menu-ancestor:not(.is-collapsed) > ul.sub-menu,
    #leftColomn aside .left-services-nav > ul > li.current-menu-item:not(.is-collapsed) > ul.sub-menu,
    #leftColomn aside .left-services-nav > ul > li.current_page_ancestor:not(.is-collapsed) > ul.sub-menu,
    #leftColomn aside .left-services-nav > ul > li.current_page_item:not(.is-collapsed) > ul.sub-menu {
        position: static;
        display: block;
        width: auto;
        margin: 0;
        padding: 4px 8px 8px 18px;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        background: #f3f6f9;
    }
}

/* P3D M2: full three-level «Дополнительно» tree; accepted M1.1 services stay unchanged. */

#leftColomn aside .left-extra-nav {
    float: left;
    width: 100%;
    margin-top: 7px;
}

#leftColomn aside .left-extra-nav ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

#leftColomn aside .left-extra-nav li {
    position: relative;
}

#leftColomn aside .left-extra-nav > ul > li {
    border-top: 1px solid #8faac4;
}

#leftColomn aside .left-extra-nav > ul > li:first-child {
    border-top: 0;
}

#leftColomn aside .left-extra-nav li > a {
    box-sizing: border-box;
    display: block;
    width: 100%;
    color: #2769ad !important;
    line-height: 1.3;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    background: none !important;
}

#leftColomn aside .left-extra-nav > ul > li > a {
    min-height: 43px;
    padding: 12px 48px 12px 10px;
    font-weight: bold;
    background: #fff !important;
}

#leftColomn aside .left-extra-nav li.menu-item-has-children > a {
    width: calc(100% - 47px);
    padding-right: 10px;
}

#leftColomn aside .left-extra-nav ul.sub-menu > li {
    margin: 0;
    padding: 0;
    background: none;
}

#leftColomn aside .left-extra-nav ul.sub-menu > li + li {
    border-top: 1px solid #c6d5e3;
}

#leftColomn aside .left-extra-nav ul.sub-menu > li > a {
    padding: 9px 10px 9px 15px;
}

#leftColomn aside .left-extra-nav li > a:hover,
#leftColomn aside .left-extra-nav li > a:focus-visible,
#leftColomn aside .left-extra-nav li.active > a,
#leftColomn aside .left-extra-nav li.current-menu-ancestor > a,
#leftColomn aside .left-extra-nav li.current-menu-item > a,
#leftColomn aside .left-extra-nav li.current_page_ancestor > a,
#leftColomn aside .left-extra-nav li.current_page_item > a {
    color: #fff !important;
    background: #2769ad !important;
}

.left-extra-nav .left-menu-toggle {
    position: absolute;
    top: 6px;
    right: 7px;
    z-index: 42;
    display: block;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #9eb6ce;
    border-radius: 4px;
    background: #eef4fa;
    box-shadow: inset 0 1px 0 #fff;
    cursor: pointer;
}

.left-extra-nav .left-menu-toggle::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 9px;
    width: 8px;
    height: 8px;
    border-right: 2px solid #2769ad;
    border-bottom: 2px solid #2769ad;
    transform: rotate(-45deg);
    transition: transform 0.15s ease;
}

.left-extra-nav .left-menu-toggle:hover,
.left-extra-nav .left-menu-toggle:focus-visible {
    border-color: #2769ad;
    outline: 2px solid #d6e4f1;
    outline-offset: 1px;
}

.left-extra-nav .left-menu-toggle[aria-expanded='true']::before {
    transform: rotate(45deg);
}

#leftColomn aside .left-extra-nav ul.sub-menu {
    position: absolute;
    top: 0;
    left: 100%;
    z-index: 40;
    display: none;
    box-sizing: border-box;
    width: min(400px, calc(100vw - 360px));
    margin: 0;
    padding: 6px 10px;
    border: 1px solid #2769ad;
    border-radius: 0 4px 4px 0;
    background: #fff;
    box-shadow: 0 4px 12px rgba(35, 65, 95, 0.22);
}

#leftColomn aside .left-extra-nav ul.sub-menu ul.sub-menu {
    z-index: 41;
    width: min(360px, calc(100vw - 760px));
}

@media screen and (min-width: 751px) {
    .left-extra-nav .left-menu-toggle {
        display: none;
    }

    #leftColomn aside .left-extra-nav li.menu-item-has-children::after {
        content: '';
        position: absolute;
        top: 17px;
        right: 17px;
        z-index: 2;
        width: 8px;
        height: 8px;
        border-right: 2px solid #2769ad;
        border-bottom: 2px solid #2769ad;
        pointer-events: none;
        transform: rotate(-45deg);
    }

    #leftColomn aside .left-extra-nav li.current-menu-ancestor::after,
    #leftColomn aside .left-extra-nav li.current-menu-item::after,
    #leftColomn aside .left-extra-nav li.current_page_ancestor::after,
    #leftColomn aside .left-extra-nav li.current_page_item::after {
        transform: rotate(45deg);
    }

    #leftColomn aside .left-extra-nav li:hover > ul.sub-menu,
    #leftColomn aside .left-extra-nav li.current-menu-ancestor > ul.sub-menu,
    #leftColomn aside .left-extra-nav li.current-menu-item > ul.sub-menu,
    #leftColomn aside .left-extra-nav li.current_page_ancestor > ul.sub-menu,
    #leftColomn aside .left-extra-nav li.current_page_item > ul.sub-menu {
        display: block;
    }

    #leftColomn aside .left-extra-nav > ul > li.current-menu-ancestor > ul.sub-menu,
    #leftColomn aside .left-extra-nav > ul > li.current-menu-item > ul.sub-menu,
    #leftColomn aside .left-extra-nav > ul > li.current_page_ancestor > ul.sub-menu,
    #leftColomn aside .left-extra-nav > ul > li.current_page_item > ul.sub-menu {
        position: static;
        width: 100%;
        padding: 4px 8px 8px 18px;
        border: 0;
        border-top: 1px solid #8faac4;
        border-radius: 0;
        background: #f3f6f9;
        box-shadow: none;
    }

    #leftColomn aside .left-extra-nav > ul > li > ul.sub-menu > li.current-menu-ancestor > ul.sub-menu,
    #leftColomn aside .left-extra-nav > ul > li > ul.sub-menu > li.current-menu-item > ul.sub-menu,
    #leftColomn aside .left-extra-nav > ul > li > ul.sub-menu > li.current_page_ancestor > ul.sub-menu,
    #leftColomn aside .left-extra-nav > ul > li > ul.sub-menu > li.current_page_item > ul.sub-menu {
        position: static;
        width: auto;
        padding: 4px 6px 6px 14px;
        border: 0;
        border-left: 2px solid #9eb6ce;
        border-radius: 0;
        background: #fff;
        box-shadow: none;
    }
}

@media screen and (max-width: 750px) {
    .left-extra-nav .left-menu-toggle::before {
        transform: rotate(45deg);
    }

    .left-extra-nav .left-menu-toggle[aria-expanded='true']::before {
        transform: rotate(225deg);
    }

    #leftColomn aside .left-extra-nav li:hover > ul.sub-menu {
        display: none;
    }

    #leftColomn aside .left-extra-nav li.is-expanded > ul.sub-menu,
    #leftColomn aside .left-extra-nav li.current-menu-ancestor:not(.is-collapsed) > ul.sub-menu,
    #leftColomn aside .left-extra-nav li.current-menu-item:not(.is-collapsed) > ul.sub-menu,
    #leftColomn aside .left-extra-nav li.current_page_ancestor:not(.is-collapsed) > ul.sub-menu,
    #leftColomn aside .left-extra-nav li.current_page_item:not(.is-collapsed) > ul.sub-menu {
        position: static;
        display: block;
        width: auto;
        margin: 0;
        padding: 4px 8px 8px 18px;
        border: 0;
        border-radius: 0;
        background: #f3f6f9;
        box-shadow: none;
    }

    #leftColomn aside .left-extra-nav ul.sub-menu li.is-expanded > ul.sub-menu,
    #leftColomn aside .left-extra-nav ul.sub-menu li.current-menu-ancestor:not(.is-collapsed) > ul.sub-menu,
    #leftColomn aside .left-extra-nav ul.sub-menu li.current-menu-item:not(.is-collapsed) > ul.sub-menu {
        padding-left: 14px;
        border-left: 2px solid #9eb6ce;
        background: #fff;
    }
}

/* P3D M2.2: useful article index only. */
.useful-index {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    width: 100%;
    margin: 16px 0 24px;
}

.useful-card {
    box-sizing: border-box;
    min-width: 0;
    padding: 12px;
    border: 1px solid #d8e0e8;
    border-radius: 3px;
    background: #f8fafc;
}

.useful-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    margin-bottom: 10px;
    overflow: hidden;
    background: #e9eef3;
}

.useful-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.useful-card h2 {
    margin: 0 0 8px;
    font-size: 16px;
    line-height: 1.3;
}

.useful-card h2 a {
    color: #2769ad;
    text-decoration: none;
}

.useful-card h2 a:hover,
.useful-card h2 a:focus-visible {
    text-decoration: underline;
}

#content .useful-card__excerpt {
    margin: 0 0 10px;
    text-align: left;
}

.useful-card__more {
    display: inline-block;
    font-weight: bold;
}

@media screen and (max-width: 750px) {
    .useful-index {
        grid-template-columns: minmax(0, 1fr);
        gap: 14px;
    }

    .useful-card {
        padding: 10px;
    }
}

/* P3D M3: news sidebar and archive presentation only. */
.news-sidebar {
    position: relative;
    float: left;
    box-sizing: border-box;
    width: 100%;
}

#leftColomn aside .news-sidebar {
    padding: 0;
    width: 100%;
}

#leftColomn aside .news-sidebar__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-sizing: border-box;
    width: 100%;
}

.news-sidebar__all {
    color: #fff;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: normal;
    text-transform: none;
}

.news-sidebar__items {
    clear: both;
    box-sizing: border-box;
    width: 100%;
    padding: 9px 10px 11px;
}

.news-card--sidebar {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 8px 10px;
    box-sizing: border-box;
    min-width: 0;
    padding: 10px 0 12px;
    border-top: 1px solid #d8e0e8;
}

.news-card--sidebar:first-child {
    border-top: 0;
}

.news-card--sidebar .news-card__image {
    grid-row: 1 / span 3;
    display: block;
    width: 96px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #e9eef3;
}

.news-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-card__date {
    color: #2769ad;
    font-size: 12px;
    font-weight: bold;
    line-height: 1.2;
}

.news-card__title {
    margin: 0;
    font-size: 14px;
    line-height: 1.25;
}

.news-card__title a {
    color: #2769ad;
    text-decoration: none;
}

.news-card__title a:hover,
.news-card__title a:focus-visible {
    text-decoration: underline;
}

.news-card--sidebar .news-card__excerpt {
    grid-column: 1 / -1;
    margin: 0;
    color: #666;
    font-size: 12px;
    line-height: 1.35;
    text-align: left;
}

.news-card--sidebar .news-card__more {
    grid-column: 1 / -1;
    justify-self: end;
    font-size: 12px;
}

.news-landing__categories {
    clear: both;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 14px 0 20px;
}

.news-landing__categories a {
    display: inline-block;
    padding: 7px 10px;
    border: 1px solid #9eb6ce;
    border-radius: 3px;
    color: #2769ad;
    background: #eef4fa;
    text-decoration: none;
}

.news-landing__categories a[aria-current='page'],
.news-landing__categories a:hover,
.news-landing__categories a:focus-visible {
    color: #fff;
    background: #2769ad;
}

.news-archive {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    margin: 0 0 22px;
}

.news-card--archive {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 7px 16px;
    box-sizing: border-box;
    min-width: 0;
    padding: 12px;
    border: 1px solid #d8e0e8;
    border-radius: 3px;
    background: #f8fafc;
}

.news-card--archive .news-card__image {
    grid-row: 1 / span 4;
    display: block;
    width: 180px;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    background: #e9eef3;
}

.news-card--archive .news-card__title {
    font-size: 17px;
}

#content .news-card--archive .news-card__excerpt {
    margin: 0;
    text-align: left;
}

.news-card--archive .news-card__more {
    justify-self: start;
    font-weight: bold;
}

.news-card__no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #687786;
    background: #e9eef3;
    font-size: 12px;
    text-align: center;
}

.news-landing__pagination ul.page-numbers {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.news-landing__pagination ul.page-numbers > li {
    margin: 0;
    padding: 0;
    list-style: none;
}

.news-landing__pagination a,
.news-landing__pagination span {
    display: inline-block;
    min-width: 22px;
    padding: 5px 7px;
    border: 1px solid #9eb6ce;
    text-align: center;
    text-decoration: none;
}

.news-landing__pagination .current {
    color: #fff;
    background: #2769ad;
}

@media screen and (max-width: 750px) {
    .news-card--sidebar {
        grid-template-columns: 112px minmax(0, 1fr);
    }

    .news-card--sidebar .news-card__image {
        width: 112px;
    }

    .news-landing__categories {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .news-card--archive {
        grid-template-columns: minmax(0, 1fr);
    }

    .news-card--archive .news-card__image {
        grid-row: auto;
        width: 100%;
        max-height: 230px;
    }
}

/* M3D-1: paired news gallery and bounded accessible lightbox only. */
.teho-m3d1-gallery {
    clear: both;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin: 20px 0 24px;
}

.teho-m3d1-gallery__item {
    min-width: 0;
    margin: 0;
}

.teho-m3d1-gallery__link {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 180px;
    padding: 6px;
    overflow: hidden;
    border: 1px solid #d7e1eb;
    border-radius: 3px;
    background: #f4f7fa;
}

.teho-m3d1-gallery__link:focus-visible {
    outline: 3px solid #f3b33d;
    outline-offset: 3px;
}

.teho-m3d1-gallery__image {
    display: block;
    width: 100%;
    height: auto;
    max-height: 320px;
    object-fit: contain;
}

.teho-m3d1-gallery__caption {
    margin-top: 8px;
    color: #3e4e5d;
    font-size: 14px;
    line-height: 1.35;
    text-align: center;
}

dialog.teho-m3d1-lightbox {
    box-sizing: border-box;
    width: min(1180px, calc(100vw - 40px));
    max-width: none;
    max-height: calc(100vh - 40px);
    padding: 52px 66px 24px;
    overflow: auto;
    border: 0;
    border-radius: 6px;
    background: #101820;
    color: #fff;
    box-shadow: 0 18px 60px rgba(0, 0, 0, .45);
}

dialog.teho-m3d1-lightbox::backdrop {
    background: rgba(5, 12, 18, .82);
}

.teho-m3d1-lightbox__title {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.teho-m3d1-lightbox__figure {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    margin: 0;
}

.teho-m3d1-lightbox__image {
    display: block;
    max-width: 100%;
    max-height: calc(100vh - 180px);
    width: auto;
    height: auto;
    object-fit: contain;
}

.teho-m3d1-lightbox__caption {
    color: #fff;
    font-size: 16px;
    line-height: 1.4;
    text-align: center;
}

.teho-m3d1-lightbox__status {
    margin: 10px 0 0;
    color: #c9d6e2;
    text-align: center;
}

.teho-m3d1-lightbox__close,
.teho-m3d1-lightbox__previous,
.teho-m3d1-lightbox__next {
    position: absolute;
    z-index: 1;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 3px;
    background: rgba(16, 24, 32, .82);
    color: #fff;
    cursor: pointer;
}

.teho-m3d1-lightbox__close:focus-visible,
.teho-m3d1-lightbox__previous:focus-visible,
.teho-m3d1-lightbox__next:focus-visible {
    outline: 3px solid #f3b33d;
    outline-offset: 2px;
}

.teho-m3d1-lightbox__close {
    top: 12px;
    right: 14px;
    width: 36px;
    height: 36px;
    font-size: 27px;
    line-height: 30px;
}

.teho-m3d1-lightbox__previous,
.teho-m3d1-lightbox__next {
    top: 50%;
    width: 42px;
    height: 52px;
    transform: translateY(-50%);
    font-size: 28px;
}

.teho-m3d1-lightbox__previous {
    left: 12px;
}

.teho-m3d1-lightbox__next {
    right: 12px;
}

@media (max-width: 640px) {
    .teho-m3d1-gallery {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .teho-m3d1-gallery__link {
        min-height: 0;
    }

    dialog.teho-m3d1-lightbox {
        width: calc(100vw - 16px);
        max-height: calc(100vh - 16px);
        padding: 54px 44px 20px;
    }

    .teho-m3d1-lightbox__image {
        max-height: calc(100vh - 190px);
    }

    .teho-m3d1-lightbox__previous {
        left: 4px;
    }

    .teho-m3d1-lightbox__next {
        right: 4px;
    }
}

/* M3D-2: hierarchical geography and accessible work-map presentation only. */
.teho-m3d2-map,
.teho-m3d2-geo-archive,
.teho-m3d2-article-geo {
    clear: both;
    box-sizing: border-box;
}

.teho-m3d2-geo-archive > h1 {
    box-sizing: border-box;
    padding-left: 16px;
}

.teho-m3d2-map__hero {
    background: linear-gradient(135deg, #edf5fb 0%, #f8fbfd 100%);
    border: 1px solid #cbdce8;
    border-radius: 10px;
    margin: 24px 0;
    overflow: hidden;
    padding: 24px;
}

.teho-m3d2-map__hero h2,
.teho-m3d2-article-geo h2 {
    color: #183f5c;
    float: none;
    margin: 4px 0 10px;
    width: auto;
}

.teho-m3d2-map__hero p,
.teho-m3d2-geo-archive__intro p {
    text-align: left;
}

.teho-m3d2-map__eyebrow {
    color: #2a6f9e;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    margin: 0;
    text-transform: uppercase;
}

.teho-m3d2-map__regions {
    display: grid;
    gap: 16px;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
    margin: 0 0 28px;
}

.teho-m3d2-map__region {
    background: #fff;
    border: 1px solid #d8e2e9;
    border-radius: 8px;
    box-shadow: 0 3px 12px rgba(26, 65, 91, .07);
    min-width: 0;
    padding: 18px;
}

.teho-m3d2-map__region h3 {
    color: #174f75;
    font-size: 19px;
    line-height: 1.25;
    margin: 0 0 12px;
}

.teho-m3d2-map__cities,
.teho-m3d2-article-geo ul,
.teho-m3d2-geo-children {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.teho-m3d2-map__cities > li,
.teho-m3d2-article-geo li,
.teho-m3d2-geo-children > li {
    background: none;
    list-style: none;
    margin: 0;
    padding: 0;
}

.teho-m3d2-map__cities a,
.teho-m3d2-article-geo a,
.teho-m3d2-geo-children a {
    background: #eef5fa;
    border-radius: 999px;
    color: #155f8d;
    display: inline-block;
    line-height: 1.25;
    padding: 6px 10px;
    text-decoration: none;
}

.teho-m3d2-map__cities a:hover,
.teho-m3d2-map__cities a:focus-visible,
.teho-m3d2-article-geo a:hover,
.teho-m3d2-article-geo a:focus-visible,
.teho-m3d2-geo-children a:hover,
.teho-m3d2-geo-children a:focus-visible {
    background: #155f8d;
    color: #fff;
    outline: 2px solid #8bbbd7;
    outline-offset: 2px;
}

.teho-m3d2-map__direct {
    color: #60717d;
    margin: 0;
}

.teho-m3d2-article-geo {
    border-top: 1px solid #d8e2e9;
    margin-top: 28px;
    padding-top: 18px;
}

.teho-m3d2-article-geo h2 {
    font-size: 20px;
}

.teho-m3d2-geo-archive__intro {
    background: #f3f7fa;
    border-left: 4px solid #287aaa;
    margin: 18px 0 22px;
    padding: 14px 16px;
}

.teho-m3d2-geo-archive__item {
    border-bottom: 1px solid #e0e7ec;
    padding: 16px 0;
}

.teho-m3d2-geo-archive__item h2 {
    float: none;
    font-size: 20px;
    margin: 0 0 6px;
    width: auto;
}

.teho-m3d2-geo-archive__date {
    color: #667987;
    font-size: 13px;
}

@media (max-width: 640px) {
    .teho-m3d2-map__hero {
        padding: 18px;
    }

    .teho-m3d2-map__region {
        padding: 15px;
    }
}

/* P3D-3B: clean corporate content and shared accessible media foundation only. */
.teho-p3d3b-content {
    clear: both;
    min-width: 0;
}

.teho-p3d3b-content::after {
    display: block;
    clear: both;
    content: "";
}

.teho-p3d3b-content img {
    max-width: 100%;
    height: auto;
}

.teho-p3d3b-content [data-teho-p3d3b-lightbox-item] {
    cursor: zoom-in;
}

.teho-p3d3b-content [data-teho-p3d3b-lightbox-item]:focus-visible {
    outline: 3px solid #f3b33d;
    outline-offset: 3px;
}

.teho-p3d3b-static-grid {
    clear: both;
    margin: 18px 0 26px;
}

.teho-p3d3b-static-grid__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 14px;
    align-items: stretch;
}

.teho-p3d3b-static-grid__card {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    padding: 8px;
    border: 1px solid #d7e1eb;
    border-radius: 3px;
    background: #fff;
}

.teho-p3d3b-static-grid__link {
    display: flex;
    width: 100%;
    min-height: 92px;
    align-items: center;
    justify-content: center;
}

.teho-p3d3b-static-grid__link img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 130px;
    object-fit: contain;
}

.teho-p3d3b-certificate-image {
    display: block;
    width: min(100%, 820px);
    margin: 14px auto;
}

.teho-p3d3b-table-scroll {
    clear: both;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.teho-p3d3b-table-scroll > table {
    min-width: 680px;
}

@media (max-width: 640px) {
    .teho-p3d3b-content .img_box {
        margin-right: auto;
        margin-left: auto;
    }
}

/* P3D-3C: coherent works landing and detail galleries only. */
.teho-p3d3c-content {
    clear: both;
    min-width: 0;
}

.teho-p3d3c-content .our_works {
    display: grid;
    float: none;
    width: 100%;
    margin: 25px 0 10px;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 20px;
}

.teho-p3d3c-content .our_works > section {
    display: flex;
    float: none;
    width: auto;
    min-width: 0;
    height: auto;
    margin: 0;
    flex-direction: column;
}

.teho-p3d3c-content .our_works > section .img {
    float: none;
    width: auto;
    height: 148px;
    margin-bottom: 14px;
}

.teho-p3d3c-content .our_works > section .img a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.teho-p3d3c-content .our_works > section .img img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.teho-p3d3c-content .our_works > section .readmore {
    margin-top: auto;
}

.teho-p3d3c-content .gallery_work {
    display: grid;
    clear: both;
    float: none;
    width: 100%;
    max-width: 100%;
    margin: 14px 0 22px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.teho-p3d3c-content .gallery_work .img_box,
.teho-p3d3c-content .gallery_work.two_columns .img_box {
    display: flex;
    float: none !important;
    width: auto;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    flex-direction: column;
}

.teho-p3d3c-content .gallery_work .img_box > a {
    display: block;
    min-width: 0;
}

.teho-p3d3c-content .gallery_work .img_box img,
.teho-p3d3c-content .gallery_work.two_columns .img_box img {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: auto;
}

.teho-p3d3c-content .gallery_work .img_box span,
.teho-p3d3c-content .gallery_work.two_columns .img_box span {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    flex: 1 1 auto;
}

@media (max-width: 640px) {
    .teho-p3d3c-content .our_works {
        grid-template-columns: 1fr;
    }

    .teho-p3d3c-content .gallery_work {
        grid-template-columns: 1fr;
    }
}


/* P3D-3D: coherent reviews landing and review-document detail owners only. */
.teho-p3d3d-content {
    clear: both;
    min-width: 0;
}

.teho-p3d3d-content .category-desc {
    margin-bottom: 22px;
}

.teho-p3d3d-content .teho-p3d3d-client-logos {
    margin-top: 16px;
    margin-bottom: 30px;
}

.teho-p3d3d-content .teho-p3d3d-client-logos .teho-p3d3b-static-grid__items {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.teho-p3d3d-content .teho-p3d3d-client-logos .teho-p3d3b-static-grid__link {
    min-height: 78px;
}

.teho-p3d3d-content .teho-p3d3d-review-heading {
    clear: both;
    margin: 30px 0 8px;
    text-align: left;
}

.teho-p3d3d-content .our_works {
    display: grid;
    float: none;
    width: 100%;
    margin: 20px 0 12px;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 18px;
}

.teho-p3d3d-content .our_works > .teho-p3d3d-review-card {
    display: flex;
    box-sizing: border-box;
    float: none;
    width: auto;
    min-width: 0;
    height: auto;
    margin: 0;
    padding: 18px;
    border: 1px solid #d7e1eb;
    border-radius: 4px;
    flex-direction: column;
    background: #fff;
}

.teho-p3d3d-content .teho-p3d3d-review-card .img {
    float: none;
    width: auto;
    height: 112px;
    margin: 0 0 14px;
}

.teho-p3d3d-content .teho-p3d3d-review-card .img a {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
}

.teho-p3d3d-content .teho-p3d3d-review-card .img img {
    display: block;
    width: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.teho-p3d3d-content .teho-p3d3d-review-card .name {
    margin-bottom: 8px;
    font-weight: 700;
}

.teho-p3d3d-content .teho-p3d3d-review-card .text {
    min-width: 0;
}

.teho-p3d3d-content .teho-p3d3d-review-card .readmore {
    margin-top: auto;
    padding-top: 12px;
}

.teho-p3d3d-content .teho-p3d3d-review-card .item-separator,
.teho-p3d3d-content .our_works > .cat-children {
    display: none;
}

.teho-p3d3d-content .teho-p3d3d-review-document {
    display: block;
    clear: both;
    box-sizing: border-box;
    float: none;
    width: min(100%, 760px);
    max-width: 100%;
    margin: 20px auto 26px;
    padding: 14px;
    border: 1px solid #d7e1eb;
    border-radius: 4px;
    background: #f7f9fb;
}

.teho-p3d3d-content .teho-p3d3d-review-document .img_box,
.teho-p3d3d-content .teho-p3d3d-review-document.two_columns .img_box {
    display: block;
    float: none !important;
    width: auto;
    min-width: 0;
    max-width: 100%;
    margin: 0;
}

.teho-p3d3d-content .teho-p3d3d-review-document .img_box > a {
    display: block;
    min-width: 0;
}

.teho-p3d3d-content .teho-p3d3d-review-document .img_box img,
.teho-p3d3d-content .teho-p3d3d-review-document.two_columns .img_box img {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

@media (max-width: 860px) {
    .teho-p3d3d-content .teho-p3d3d-client-logos .teho-p3d3b-static-grid__items {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .teho-p3d3d-content .teho-p3d3d-client-logos .teho-p3d3b-static-grid__items {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .teho-p3d3d-content .our_works {
        grid-template-columns: 1fr;
    }

    .teho-p3d3d-content .our_works > .teho-p3d3d-review-card {
        padding: 16px;
    }

    .teho-p3d3d-content .teho-p3d3d-review-document {
        padding: 8px;
    }
}

/* P3D-3E: clean contacts, requisites, office panorama and direct channels only. */
.teho-p3d3e-content {
    clear: both;
    min-width: 0;
}

#content .teho-p3d3e-content p,
.teho-p3d3e-content .teho-p3d3e-contact-card,
.teho-p3d3e-content .teho-p3d3e-requisites {
    text-align: left;
}

.teho-p3d3e-content .teho-p3d3e-company {
    display: block;
    clear: both;
    box-sizing: border-box;
    float: none;
    width: auto;
    min-width: 0;
    max-width: 100%;
    margin: 0 0 28px;
    padding: 22px;
    border: 1px solid #d7e1eb;
    border-radius: 5px;
    background: #f7f9fb;
}

.teho-p3d3e-content .teho-p3d3e-company__heading,
.teho-p3d3e-content .teho-p3d3e-office-heading {
    margin: 0 0 16px;
    color: #174b77;
    font-size: 22px;
    line-height: 1.25;
}

.teho-p3d3e-content .teho-p3d3e-contact-grid {
    display: grid;
    clear: both;
    box-sizing: border-box;
    float: none;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 0;
    margin: 18px 0;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 14px;
}

.teho-p3d3e-content .teho-p3d3e-company .teho-p3d3e-contact-card {
    box-sizing: border-box;
    float: none;
    width: auto;
    min-width: 0;
    max-width: none;
    padding: 15px;
    border: 1px solid #e1e8ef;
    border-radius: 4px;
    background-image: none;
    background: #fff;
    overflow-wrap: anywhere;
    line-height: 1.45;
}

.teho-p3d3e-content .teho-p3d3e-company .teho-p3d3e-contact-card span {
    font-size: inherit;
}

.teho-p3d3e-content .teho-p3d3e-contact-card > span:first-child,
.teho-p3d3e-content .teho-p3d3e-requisites > span:first-child {
    display: inline-block;
    margin-bottom: 6px;
    color: #174b77;
    font-weight: 700;
}

.teho-p3d3e-content .teho-p3d3e-company .teho-p3d3e-requisites {
    display: block;
    clear: both;
    box-sizing: border-box;
    float: none;
    width: auto;
    min-width: 0;
    max-width: 100%;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #d7e1eb;
    background-image: none;
    overflow-wrap: anywhere;
}

.teho-p3d3e-content .teho-p3d3e-requisites a,
.teho-p3d3e-content .teho-p3d3e-presentation a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
}

.teho-p3d3e-content .teho-p3d3e-requisites img,
.teho-p3d3e-content .teho-p3d3e-presentation img {
    width: 30px;
    height: auto;
}

.teho-p3d3e-content .teho-p3d3e-office {
    display: grid;
    clear: both;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0 0 24px;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    gap: 18px;
    align-items: stretch;
}

.teho-p3d3e-content .teho-p3d3e-office-photo {
    float: none;
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 10px;
    border: 1px solid #d7e1eb;
    border-radius: 4px;
    background: #fff;
}

.teho-p3d3e-content .teho-p3d3e-office-photo a,
.teho-p3d3e-content .teho-p3d3e-office-photo img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
}

.teho-p3d3e-content .teho-p3d3e-office-photo img {
    min-height: 300px;
    object-fit: cover;
}

.teho-p3d3e-content .teho-p3d3e-map {
    min-width: 0;
    min-height: 360px;
    overflow: hidden;
    border: 1px solid #d7e1eb;
    border-radius: 4px;
    background: #eef3f7;
}

.teho-p3d3e-content .teho-p3d3e-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 360px;
    border: 0;
}

.teho-p3d3e-content .teho-p3d3e-direct-channels {
    display: flex;
    clear: both;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0;
    flex-wrap: wrap;
    gap: 12px;
}

.teho-p3d3e-content .teho-p3d3e-direct-channel {
    display: inline-flex;
    box-sizing: border-box;
    min-height: 42px;
    padding: 10px 18px;
    border-radius: 3px;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #2769ad;
    font-weight: 700;
    text-decoration: none;
}

.teho-p3d3e-content .teho-p3d3e-direct-channel:hover,
.teho-p3d3e-content .teho-p3d3e-direct-channel:focus-visible {
    color: #fff;
    background: #174b77;
}

@media (max-width: 760px) {
    .teho-p3d3e-content .teho-p3d3e-contact-grid,
    .teho-p3d3e-content .teho-p3d3e-office {
        grid-template-columns: 1fr;
    }

    .teho-p3d3e-content .teho-p3d3e-office-photo img {
        min-height: 0;
        height: auto;
    }
}

@media (max-width: 480px) {
    .teho-p3d3e-content .teho-p3d3e-company {
        padding: 16px;
    }

    .teho-p3d3e-content .teho-p3d3e-direct-channel {
        width: 100%;
    }
}

/* P3D-3F: uniform clickable geography owner presentation only. */
.teho-m3d2-map__region h3 a {
    border-bottom: 1px solid rgba(23, 79, 117, .28);
    color: inherit;
    text-decoration: none;
}

.teho-m3d2-map__region h3 a:hover,
.teho-m3d2-map__region h3 a:focus-visible {
    border-bottom-color: currentColor;
    color: #0f668f;
    outline: 2px solid #8bbbd7;
    outline-offset: 3px;
}

.teho-m3d2-map__cities a,
.teho-m3d2-article-geo a,
.teho-m3d2-geo-children a {
    box-sizing: border-box;
}

/* Order form only: append after the current theme styles once owner-approved. */
body.page-id-936 #content .wpcf7 {
    max-width: 600px;
    margin-top: 20px;
}

body.page-id-936 #content .wpcf7 .line_form {
    float: none;
    clear: both;
    width: auto;
    margin: 0 0 18px;
}

body.page-id-936 #content .wpcf7 .line_form p {
    margin: 0;
}

body.page-id-936 #content .wpcf7 .line_form label {
    display: block;
    line-height: 1.45;
    text-align: left;
}

body.page-id-936 #content .wpcf7 .line_form .wpcf7-form-control-wrap {
    display: block;
    margin-top: 6px;
}

body.page-id-936 #content .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 10px 12px;
    font-size: 14px;
    font-style: normal;
    line-height: 1.4;
}

body.page-id-936 #content .wpcf7 textarea {
    height: 120px;
    min-height: 120px;
    resize: vertical;
}

body.page-id-936 #content .wpcf7 input[type="file"] {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 36px;
    margin: 0;
    font-size: 14px;
}

body.page-id-936 #content .wpcf7 .line_form small {
    display: block;
    margin-top: 6px;
    line-height: 1.45;
}

body.page-id-936 #content .wpcf7 .consent {
    display: block;
    margin: 0 0 18px;
    line-height: 1.5;
}

body.page-id-936 #content .wpcf7 .consent .wpcf7-list-item {
    margin: 0;
}

body.page-id-936 #content .wpcf7 .consent label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    text-align: left;
}

body.page-id-936 #content .wpcf7 .consent input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 4px 0 0;
}

body.page-id-936 #content .wpcf7 .line_form p:has(> input[type="submit"]) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

body.page-id-936 #content .wpcf7 .line_form p:has(> input[type="submit"]) > br {
    display: none;
}

body.page-id-936 #content .wpcf7 :is(input[type="submit"], input[type="reset"]) {
    min-height: 42px;
    margin: 0;
}

body.page-id-936 #content .wpcf7 .wpcf7-spinner {
    order: 1;
    margin: 0;
}

@media (max-width: 600px) {
    body.page-id-936 #content .wpcf7 :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) {
        font-size: 16px;
    }
}

/* Callback form only: preview before owner approval and installation. */
body.page-id-935 #content .wpcf7 {
    max-width: 600px;
    margin-top: 20px;
}

body.page-id-935 #content .wpcf7 .line_form {
    float: none;
    clear: both;
    width: auto;
    margin: 0 0 18px;
}

body.page-id-935 #content .wpcf7 .line_form p {
    margin: 0;
}

body.page-id-935 #content .wpcf7 .line_form label {
    display: block;
    line-height: 1.45;
    text-align: left;
}

body.page-id-935 #content .wpcf7 .line_form .wpcf7-form-control-wrap {
    display: block;
    margin-top: 6px;
}

body.page-id-935 #content .wpcf7 :is(input[type="text"], input[type="tel"], textarea) {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 10px 12px;
    font-size: 14px;
    font-style: normal;
    line-height: 1.4;
}

body.page-id-935 #content .wpcf7 textarea {
    height: 120px;
    min-height: 120px;
    resize: vertical;
}

body.page-id-935 #content .wpcf7 .consent {
    display: block;
    margin: 0 0 18px;
    line-height: 1.5;
}

body.page-id-935 #content .wpcf7 .consent .wpcf7-list-item {
    margin: 0;
}

body.page-id-935 #content .wpcf7 .consent label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    text-align: left;
}

body.page-id-935 #content .wpcf7 .consent input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 4px 0 0;
}

body.page-id-935 #content .wpcf7 .line_form p:has(> input[type="submit"]) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

body.page-id-935 #content .wpcf7 .line_form p:has(> input[type="submit"]) > br {
    display: none;
}

body.page-id-935 #content .wpcf7 :is(input[type="submit"], input[type="reset"]) {
    min-height: 42px;
    margin: 0;
}

body.page-id-935 #content .wpcf7 .wpcf7-spinner {
    order: 1;
    margin: 0;
}

@media (max-width: 600px) {
    body.page-id-935 #content .wpcf7 :is(input[type="text"], input[type="tel"], textarea) {
        font-size: 16px;
    }
}

/* Director form only: preview before owner approval and installation. */
body.page-id-70 #content .wpcf7 {
    max-width: 600px;
    margin-top: 20px;
}

body.page-id-70 #content .wpcf7 .line_form {
    float: none;
    clear: both;
    width: auto;
    margin: 0 0 18px;
}

body.page-id-70 #content .wpcf7 .line_form p {
    margin: 0;
}

body.page-id-70 #content .wpcf7 .line_form label {
    display: block;
    line-height: 1.45;
    text-align: left;
}

body.page-id-70 #content .wpcf7 .line_form .wpcf7-form-control-wrap {
    display: block;
    margin-top: 6px;
}

body.page-id-70 #content .wpcf7 :is(input[type="text"], input[type="tel"], input[type="email"], textarea) {
    box-sizing: border-box;
    display: block;
    width: 100%;
    max-width: 100%;
    min-height: 42px;
    margin: 0;
    padding: 10px 12px;
    font-size: 14px;
    font-style: normal;
    line-height: 1.4;
}

body.page-id-70 #content .wpcf7 textarea {
    height: 120px;
    min-height: 120px;
    resize: vertical;
}

body.page-id-70 #content .wpcf7 .consent {
    display: block;
    margin: 0 0 18px;
    line-height: 1.5;
}

body.page-id-70 #content .wpcf7 .consent .wpcf7-list-item {
    margin: 0;
}

body.page-id-70 #content .wpcf7 .consent label {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    text-align: left;
}

body.page-id-70 #content .wpcf7 .consent input[type="checkbox"] {
    flex: 0 0 auto;
    margin: 4px 0 0;
}

body.page-id-70 #content .wpcf7 .line_form p:has(> input[type="submit"]) {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
}

body.page-id-70 #content .wpcf7 .line_form p:has(> input[type="submit"]) > br {
    display: none;
}

body.page-id-70 #content .wpcf7 :is(input[type="submit"], input[type="reset"]) {
    min-height: 42px;
    margin: 0;
}

body.page-id-70 #content .wpcf7 .wpcf7-spinner {
    order: 1;
    margin: 0;
}

@media (max-width: 600px) {
    body.page-id-70 #content .wpcf7 :is(input[type="text"], input[type="tel"], input[type="email"], textarea) {
        font-size: 16px;
    }
}

/* Header only. Keep the established brand, illustration, links and navigation. */
#header.teho-header-layout {
    box-sizing: border-box;
    height: auto;
    padding: 32px 20px 0;
    margin-bottom: 28px;
    text-align: left;
}

#header .teho-header-main {
    display: grid;
    grid-template-columns: 290px minmax(100px, 1fr) 215px 300px;
    align-items: center;
    gap: 16px;
    min-height: 140px;
    padding: 0 24px;
    background: #2769ad;
    border-radius: 4px 4px 0 0;
    box-shadow: 0 2px 5px #0003;
    color: #fff;
}

#header .teho-header-main :is(.logotip, .drawing, .headerblockinfo, .tel, .address) {
    position: static;
    float: none;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0;
    min-width: 0;
    text-align: left;
}

#header .teho-header-main .logotip a { display: block; }
#header .teho-header-main .logotip img { display: block; width: 290px; max-width: 100%; height: auto; }
#header .teho-header-main .drawing { display: block; height: 122px; background-position: center; background-size: contain; }
#header .teho-header-main .headerblockinfo,
#header .teho-header-contacts { display: grid; gap: 8px; min-width: 0; }

#header .teho-header-row {
    display: grid;
    grid-template-columns: 24px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    min-height: 26px;
    font: 14px/1.4 Arial, Helvetica, sans-serif;
}

#header .teho-header-row > img {
    position: static;
    display: block;
    width: 24px;
    height: 24px;
    object-fit: contain;
    margin: 0;
    padding: 0;
}

/* Center the visible 16px glyphs inside the legacy bitmap padding. */
#header .teho-header-row > img[src$="/images/obtatzvonokicon.jpg"] { transform: translateY(2px); }
#header .teho-header-row > img[src$="/images/timework.jpg"] { transform: translateY(-1px); }
#header .teho-header-row > img[src$="/images/prezenticon.jpg"] { transform: translateX(-1px); }
#header .teho-header-row > img[src$="/images/phoneiconc.jpg"] { transform: scale(1.037037); }
#header .teho-header-row > img[src$="/images/iconmail.jpg"] { transform: translate(-0.444444px, -0.888889px) scale(1.037037); }
#header .teho-header-row > img[src$="/images/iconcadress.jpg"] { transform: translate(0.470588px, -0.470588px) scale(1.098039); }

#header .teho-header-main .headerblockinfo a {
    position: static;
    display: inline;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-shadow: none;
    font: 12px/1.5 Arial, Helvetica, sans-serif;
    text-transform: uppercase;
    text-decoration: underline;
    color: #fff;
}

#header .teho-header-main .tel a { font: 28px/1.2 'ArialNarrowR', Arial, sans-serif; white-space: nowrap; }
#header .teho-header-main .mailheaderlink,
#header .teho-header-main .mailheaderlink:hover {
    position: static;
    font: 14px/1.4 Arial, Helvetica, sans-serif;
    white-space: nowrap;
    text-decoration: underline;
    color: #fff;
}
#header .teho-header-main .address { font: 13px/1.4 Arial, Helvetica, sans-serif; align-items: start; }
#header .teho-header-main a:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }

#header .teho-header-nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 304px;
    align-items: start;
    min-height: 42px;
    padding: 0 8px;
    border-radius: 0 0 4px 4px;
    background: linear-gradient(#f5f6f7, #bec6cd);
    box-shadow: 0 2px 5px #0003;
}
#header .teho-header-nav > nav.menu { position: relative; top: auto; left: auto; }
#header .teho-header-nav .search_box { position: relative; top: auto; right: auto; margin: 3px 0; background-size: 100% 100%; }

@media (min-width: 901px) {
    #header .teho-header-main .headerblockinfo,
    #header .teho-header-contacts { grid-template-rows: repeat(3, 34px); gap: 4px; }
    #header .teho-header-main .address { align-items: center; }
    #header .teho-header-main .address span { white-space: nowrap; }
}

@media (max-width: 1100px) {
    #header .teho-header-main { grid-template-columns: minmax(200px, 1fr) 215px 300px; gap: 20px; padding: 20px 24px; }
    #header .teho-header-main .drawing { display: none; }
    #header .teho-header-nav { grid-template-columns: 1fr; }
    #header .teho-header-nav .search_box { justify-self: end; }
}

@media (max-width: 900px) {
    #header .teho-header-main { grid-template-columns: minmax(0, 1fr) 270px; column-gap: 28px; row-gap: 18px; }
    #header .teho-header-main .logotip { grid-column: 1; grid-row: 1; }
    #header .teho-header-main .headerblockinfo { grid-column: 1; grid-row: 2; }
    #header .teho-header-contacts { grid-column: 2; grid-row: 1 / 3; }
}

@media (max-width: 750px) {
    #header .teho-header-nav { padding: 6px 0; background: #edf1f5; }
    #header .teho-header-nav > nav.menu { position: static; }
    #header .teho-header-nav .search_box { justify-self: center; max-width: 100%; }
    #header .teho-header-nav .search_box input[type="search"] { width: calc(100% - 48px); }
}

@media (max-width: 570px) {
    #header.teho-header-layout { padding: 32px 0 0; }
    #header .teho-header-main { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 24px 20px; border-radius: 0; }
    #header .teho-header-main .logotip { grid-column: 1; grid-row: 1; justify-self: center; }
    #header .teho-header-contacts { grid-column: 1; grid-row: 2; width: 100%; max-width: 320px; justify-self: center; }
    #header .teho-header-main .headerblockinfo { grid-column: 1; grid-row: 3; width: 100%; max-width: 320px; justify-self: center; }
    #header .teho-header-main .headerblockinfo a { font-size: 13px; padding: 5px 0; }
    #header .teho-header-main .tel a { font-size: 28px; }
    #header .teho-header-nav { border-radius: 0; padding: 8px 20px; }
    #header .teho-header-nav .search_box { width: 100%; }
}

/* Restore the original drawing scale in the existing desktop header. */
@media (min-width: 1101px) {
    #header .teho-header-main {
        grid-template-columns: 290px 247px minmax(192px, 200px) minmax(288px, 1fr);
        gap: 4px;
        padding: 0 8px;
    }

    #header .teho-header-main .drawing {
        width: 247px;
        height: 122px;
        align-self: start;
        background-position: center top;
        background-size: 247px 122px;
    }
}

/* Footer only: retain the four original groups, links, assets and full address. */
footer.teho-footer-layout {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 264px minmax(280px, 1fr) 256px 72px;
    align-items: center;
    gap: 18px;
    width: calc(100% - 40px);
    height: auto;
    min-height: 123px;
    margin-left: 20px;
    margin-right: 20px;
    padding: 8px 24px;
    background: #286aad;
    border-radius: 5px 5px 0 0;
    color: #fff;
}
footer.teho-footer-layout > .logotip,
footer.teho-footer-layout > .contacts,
footer.teho-footer-layout > nav.footer,
footer.teho-footer-layout > .develop {
    position: static;
    float: none;
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-size: 13px;
    line-height: 18px;
}
footer.teho-footer-layout > .logotip a,
footer.teho-footer-layout > .logotip img {
    display: block;
}
footer.teho-footer-layout > .logotip img {
    position: static !important;
    width: 264px;
    max-width: 100%;
    height: auto;
}
footer.teho-footer-layout .contacts {
    display: grid;
    gap: 4px;
}
footer.teho-footer-layout .teho-footer-contact {
    display: grid;
    grid-template-columns: 15px minmax(0, 1fr);
    align-items: start;
    column-gap: 9px;
}
footer.teho-footer-layout .teho-footer-contact > img {
    position: static;
    display: block;
    width: auto;
    max-width: 15px;
    height: auto;
    margin: 2px 0 0;
    padding: 0;
}
footer.teho-footer-layout .teho-footer-contact > span {
    min-width: 0;
}
footer.teho-footer-layout .contacts a {
    white-space: nowrap;
}
footer.teho-footer-layout .contacts a.zphone {
    font-size: 16px;
    font-weight: 700;
}
footer.teho-footer-layout nav.footer > ul {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 16px;
    margin: 0;
    padding: 0;
}
footer.teho-footer-layout nav.footer > ul > li {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    list-style: none;
}
footer.teho-footer-layout nav.footer > br,
footer.teho-footer-layout nav.footer > .politicamob {
    display: none;
}
footer.teho-footer-layout nav.footer > a.politica,
footer.teho-footer-layout nav.footer > a.politica:hover {
    position: static;
    display: block;
    margin: 6px 0 0;
    padding: 0;
    font-size: 12px;
    line-height: 16px;
    color: #e0eaf5;
}
footer.teho-footer-layout .develop {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px 12px;
}
footer.teho-footer-layout .develop a,
footer.teho-footer-layout .develop img {
    display: block;
    margin: 0 !important;
}
footer.teho-footer-layout .develop .for_mobile {
    display: none;
}
footer.teho-footer-layout .develop .for_desktop {
    display: block;
    flex-basis: 100%;
}
footer.teho-footer-layout .develop .for_desktop img {
    margin: 0 auto !important;
}
@media (max-width: 1100px) {
    footer.teho-footer-layout {
        grid-template-columns: 264px minmax(0, 1fr);
        gap: 16px 40px;
        padding: 12px 32px;
    }
    footer.teho-footer-layout .logotip { grid-column: 1; grid-row: 1; }
    footer.teho-footer-layout .contacts { grid-column: 2; grid-row: 1; }
    footer.teho-footer-layout nav.footer { grid-column: 2; grid-row: 2; }
    footer.teho-footer-layout .develop { grid-column: 1; grid-row: 2; }
    footer.teho-footer-layout .develop .for_desktop { flex-basis: auto; }
}
@media (max-width: 700px) {
    footer.teho-footer-layout {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 16px 24px 60px;
        border-radius: 0;
    }
    footer.teho-footer-layout > .logotip,
    footer.teho-footer-layout > .contacts,
    footer.teho-footer-layout > nav.footer,
    footer.teho-footer-layout > .develop {
        grid-column: auto;
        grid-row: auto;
    }
    footer.teho-footer-layout .logotip { justify-self: center; }
    footer.teho-footer-layout .contacts a.zphone { font-size: 15px; }
    footer.teho-footer-layout nav.footer > ul { gap: 4px 16px; }
    footer.teho-footer-layout .develop { justify-content: flex-start; }
    footer.teho-footer-layout .develop .for_mobile {
        display: block;
        flex-basis: auto;
        font-size: 12px;
    }
    footer.teho-footer-layout .develop .for_desktop { display: none; }
}

/* Consultation only: keep centers and balance visible vertical gaps. */
#leftColomn .leftmodule.callback .button a.button {
    margin-right: 0;
    margin-bottom: 21px;
}

#leftColomn .leftmodule.callback .phone a.zphone {
    white-space: nowrap;
}

/* Inline text boxes include different font leading: balance visible edges. */
#leftColomn .leftmodule.callback .phone {
    padding-bottom: 18px;
}

#leftColomn .leftmodule.callback .email {
    padding-bottom: 14px;
}

#leftColomn .leftmodule.callback .button a.callback {
    margin-bottom: 17px;
}

/* Contacts QA-12: sequential contact rows using the existing theme icons. */
body.page-id-70 #content .teho-contacts-layout {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

body.page-id-70 #content .teho-contacts-layout .teho-p3d3e-company__heading {
    margin-bottom: 10px;
    font-size: 18px;
}

body.page-id-70 #content .teho-contacts-layout .teho-p3d3e-contact-grid {
    display: block;
    margin: 18px 0 0;
}

body.page-id-70 #content .teho-contacts-layout .teho-p3d3e-contact-card,
body.page-id-70 #content .teho-contacts-layout .teho-p3d3e-requisites {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 0 16px;
    padding: 0 0 0 36px;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    background-position: 4px 1px;
    background-repeat: no-repeat;
    overflow-wrap: normal;
    word-break: normal;
    line-height: 1.5;
}

body.page-id-70 #content .teho-contacts-layout .address {
    background-image: url(images/icon_marker.png);
}

body.page-id-70 #content .teho-contacts-layout .tel {
    background-image: url(images/icon_tel_01.png);
}

body.page-id-70 #content .teho-contacts-layout .mail {
    background-image: url(images/icon_mail.png);
}

body.page-id-70 #content .teho-contacts-layout .teho-p3d3e-requisites {
    background-image: url(images/icon_rekv.png);
}

body.page-id-70 #content .teho-contacts-layout .teho-p3d3e-contact-card > span:first-child,
body.page-id-70 #content .teho-contacts-layout .teho-p3d3e-requisites > span:first-child {
    display: block;
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 700;
}

body.page-id-70 #content .teho-contacts-layout .teho-p3d3e-contact-card > br,
body.page-id-70 #content .teho-contacts-layout p:empty {
    display: none;
}

body.page-id-70 #content .teho-contacts-layout .tel > p {
    margin: 0 !important;
}

body.page-id-70 #content .teho-contacts-layout .mail a,
body.page-id-70 #content .teho-contacts-layout .zphone {
    white-space: nowrap;
}

body.page-id-70 #content .teho-contacts-layout .teho-p3d3e-presentation {
    margin: 20px 0 0 !important;
    padding-top: 14px;
    border-top: 1px solid #d7e1eb;
}

body.page-id-70 #content .teho-contacts-layout .teho-p3d3e-presentation a {
    display: inline;
}

body.page-id-70 #content .teho-contacts-layout .teho-p3d3e-presentation img {
    display: inline-block;
    vertical-align: middle;
}

/* QA-06: restore the original order CTA using the theme's icon and shine. */
#leftColomn > a.make_order.teho-order-cta,
#leftColomn > a.make_order.teho-order-cta:hover {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    float: none;
    width: 100%;
    height: 74px;
    padding: 0 58px 0 15px;
    margin: 0 0 20px;
    background-position: right 18px center;
    line-height: 1.2;
    white-space: nowrap;
}

#leftColomn > a.make_order.teho-order-cta:focus-visible {
    outline: 3px solid #2769ad;
    outline-offset: 3px;
}

#leftColomn > a.make_order.teho-order-cta::after {
    pointer-events: none;
}

@media (max-width: 360px) {
    #leftColomn > a.make_order.teho-order-cta,
    #leftColomn > a.make_order.teho-order-cta:hover {
        padding-right: 52px;
        background-position: right 14px center;
        font-size: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    #leftColomn > a.make_order.teho-order-cta::after {
        animation: none;
        display: none;
    }
}

/* QA-07: readable titles, dates and descriptions in the left news block. */
#leftColomn .news-card--sidebar .news-card__title {
    font-size: 16px;
    line-height: 1.3;
}

#leftColomn .news-card--sidebar .news-card__date {
    font-size: 14px;
}

#leftColomn .news-card--sidebar .news-card__excerpt {
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 360px) {
    #leftColomn .news-card--sidebar {
        grid-template-columns: 88px minmax(0, 1fr);
    }

    #leftColomn .news-card--sidebar .news-card__image {
        width: 88px;
    }
}

/* QA-07 revision: lighter news titles; keep installed dates and descriptions. */
#leftColomn .news-card--sidebar .news-card__title {
    font-size: 14px;
    font-style: italic;
}

/* QA-09: news photo frames and captions match the existing .img_box style. */
body.single-post #content .teho-m3d1-gallery__link {
    position: relative;
    z-index: 1;
    padding: 10px;
    border: 0;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 2px 5px #c7c5c5;
}

body.single-post #content .teho-m3d1-gallery__caption {
    box-sizing: border-box;
    display: block;
    width: 100%;
    margin: -7px 0 0;
    padding: 12px 9px 9px;
    border-radius: 4px;
    background: #ebeff1;
    color: #939393;
    font-size: 12px;
    font-style: italic;
    line-height: normal;
    text-align: start;
}

/* F07: nested service row on mobile only. */
#leftColomn aside .left-services-nav > ul > li > ul.sub-menu > li.menu-item-has-children {
    position: relative;
}

@media screen and (max-width: 750px) {
    #leftColomn aside .left-services-nav > ul > li > ul.sub-menu > li.menu-item-has-children > a {
        box-sizing: border-box;
        display: block;
        width: calc(100% - 47px);
        padding-right: 10px;
    }

    #leftColomn aside .left-services-nav > ul > li > ul.sub-menu > li.menu-item-has-children.is-collapsed > ul.sub-menu {
        display: none;
    }

    #leftColomn aside .left-services-nav > ul > li > ul.sub-menu > li.menu-item-has-children.is-expanded > ul.sub-menu {
        position: static;
        display: block;
        width: auto;
        margin: 0;
        padding: 4px 8px 8px 18px;
        border: 0;
        border-left: 2px solid #9eb6ce;
        border-radius: 0;
        box-shadow: none;
        background: #f3f6f9;
    }
}

/* Owner review: Moscow only. Append to the current theme stylesheet. */
#content.teho-geo-review > h1 {
    float: none;
    padding-left: 0;
}
#content.teho-geo-review .teho-f18-geo-description {
    display: flow-root;
}
#content.teho-geo-review .teho-f18-geo-description h2,
#content.teho-geo-review .teho-f18-geo-description h3 {
    float: none;
    width: auto;
    clear: both;
}
#content.teho-geo-review .teho-m3d2-geo-archive__intro {
    clear: both;
    display: flow-root;
}
#content.teho-geo-review .teho-geo-review__children-label {
    margin: 0 0 10px;
}
#content.teho-geo-review .teho-m3d2-geo-children {
    padding: 0;
    margin: 0;
}
#content.teho-geo-review .teho-geo-review__works {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    clear: both;
}
#content.teho-geo-review .teho-geo-review__work {
    min-width: 0;
}
#content.teho-geo-review .teho-geo-review__work > a {
    display: block;
}
#content.teho-geo-review .teho-geo-review__image {
    border: 1px solid #ddd;
    padding: 8px;
    box-sizing: border-box;
}
#content.teho-geo-review .teho-geo-review__image img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    margin: 0;
    padding: 0;
    border: 0;
}
#content.teho-geo-review .teho-geo-review__work h2 {
    float: none;
    width: auto;
    font-size: 14px;
    line-height: 1.4;
    margin: 6px 0 0;
    padding: 0;
    border: 0;
    color: #337ab7;
    overflow-wrap: anywhere;
}
#content.teho-geo-review .teho-geo-review__work > a:focus-visible {
    outline: 2px solid #337ab7;
    outline-offset: 3px;
}
#content.teho-geo-review > .pagination {
    clear: both;
}
@media (max-width: 640px) {
    #content.teho-geo-review .teho-geo-review__works {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }
}
