/*
Theme Name: SPKSTRUKTURA
Theme URI: https://xn--80atasgbccjcjc.xn--p1ai/
Author: Darwin
Author URI: https://t.me/darvv1n
Description: SPKSTRUKTURA Main theme
Requires at least: 6.7
Tested up to: 6.7
Requires PHP: 7.2
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: https://xn--80atasgbccjcjc.xn--p1ai/
*/
html, body {
	padding: 0;
	margin: 0;
}
@font-face {
	font-family: 'Montserrat';
	src: url('fonts/Montserrat.ttf') format('ttf'),
		url('fonts/Montserrat.otf') format('otf'),
		url('fonts/Montserrat.woff') format('woff'),
		url('fonts/Montserrat.woff2') format('woff2'),
		url('fonts/Montserrat.eot') format('eot');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: 'Roboto';
	src: url('fonts/Roboto.ttf') format('ttf'),
		url('fonts/Roboto.otf') format('otf'),
		url('fonts/Roboto.woff') format('woff'),
		url('fonts/Roboto.woff2') format('woff2'),
		url('fonts/Roboto.eot') format('eot');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}
html {
	scroll-behavior: smooth;
}
body {
	font-family: 'Roboto';
}
#overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.7);
	z-index: 10;
}
#popup {
	width: 100%;
	display: none;
	position: fixed;
	z-index: 11;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	box-sizing: border-box; /* Учитываем padding в размерах */
}
.popup_wrapper {
	box-shadow: 0 2px 10px rgba(0,0,0,0.3);
	background: #0b2a3c;
	padding: 40px 0;
	color: #fff;
}
.popup_wrapper h3 {
	text-align: center;
	margin: 0 0 30px 0;
}
.popup_wrapper p {
    margin: 0;
}
.popup_wrapper input, .popup_wrapper textarea {
	font-size: 16px;
	padding: 5px;
	width: 100%;
	margin: 0 0 5px 0;
	outline: none;
	border: none;
}
.popup_wrapper textarea {
	height: 70px;
	resize: none;
	overflow: hidden;
}
.popup_wrapper_left {
	text-align: right;
	padding: 2px 0 0 0;
}
.popup_wrapper input.popup_send {
	font-weight: 600;
	outline: none;
	border: none;
	color: #fff;
	padding: 10px;
	width: 50%;
	margin: 15px 0 0 0;
	display: block;
	background: #00669c;
	cursor: pointer;
}
.popup_wrapper input.popup_send:hover {
	background: #fff;
	color: #00669c;
	outline: none;
}
.popup_wrapper #closePopup {
	cursor: pointer;
	width: 30px;
	height: 30px;
	position: absolute;
	top: -30px;
	right: 11px;
}
.popup_wrapper #closePopup:before, .popup_wrapper #closePopup:after {
	content: "";
	position: absolute;
	top: 12px;
	left: 3px;
	width: 25px;
	height: 5px;
	background: #fff;
}
.popup_wrapper #closePopup:before {
	transform: rotate(45deg);
}
.popup_wrapper #closePopup:after {
	transform: rotate(-45deg);
}
h1, h2, h3, h4, h5, h6 {
	font-family: 'Montserrat';
	margin: 0;
	/*letter-spacing: 1px;*/
}
iframe {
	border: none;
}
ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
a {
	text-decoration: none;
	cursor: pointer;
	display: inline-block;
}
.logo img {
    width: 100px;
}
header {
	background: #00669c;
	position: fixed;
	z-index: 5;
	width: 100%;
	color: #fff;
	padding: 14px 0;
	border-bottom: 2px solid #fff;
}
header a {
	color: #fff;
	letter-spacing: 1px;
}
header menu {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin: 15px 0 0 0;
	padding: 0;
	align-items: end;
	height: 100%;
	font-size: 16px;
}
header menu ul {
	display: block;
}
header menu ul li {
	display: inline-block;
	border-bottom: 10px solid transparent;
	text-align: center;
	padding: 0 0 13px 0;
	margin: 0 15px;
}
header menu ul.translate li {
    font-size: 12px;
}
header menu ul li:first-child {
    margin-left: 0;
}
header menu ul.translate li {
	padding: 0 5px 17px 5px;
	margin: 0;
}
header menu ul li:hover {
	border-bottom: 10px solid #fff;
}
header menu ul.translate li:nth-child(2) {
	border: none;
}
section#first_screen {
	padding: 100px 0 0 0;
	width: 100%;
	background-image: url('img/first_screen.jpg');
	height: 100vh;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 2;
	position: relative;
}
section#first_screen:before, section#solutions:before, section#projects:before{
	content: '';
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color:rgba(0, 0, 0, .5);
}
section#first_screen .first_screen_wrapper {
	position: relative;
	z-index: 3;
}
h1, h2.white {
	color: #fff;
}
h1 {
	margin: 150px 0 50px 0;
	font-size: 55px;
}
section#about .about_upper {
	background: #fff;
	padding: 220px 0 70px;
}
section#first_screen h2 {
	margin: 0 0 130px 0;
}
section#first_screen .link_block_wrapper {
	color: #fff;
	display: flex;
	flex-direction: column;
	align-content: center;
	text-align: center;
	padding: 20px;
	border: 2px solid transparent;
}
section#first_screen .link_block_wrapper:hover {
	border: 2px solid #fff;
}
section#first_screen .link_block_img {
	margin-bottom :30px;
	height: 120px;
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
}
section#first_screen .link_block_text {
	font-size: 15px;
}
section#about h2 {
	margin: 0 0 90px 0;
	font-size: 48px;
}
section#about .about_img img {
	width: 96%;
}
section#about .about_lower {
	padding: 90px 0;
	width: 100%;
	background: #0b2a3c;
	color: #fff;
}
section#about .about_lower_caption {
	font-weight: 600;
	margin-bottom: 30px;
	text-align: center;
	position: relative;
	display: block;
	font-size: 18px;
}
section#about .about_lower_caption.first:after {
	content: '';
	position: absolute;
	right: 0;
	top: 0;
	border: 8px solid transparent;
	border-left: 8px solid #fff;
}
section#about .about_lower_caption.last:before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	border: 8px solid transparent;
	border-left: 8px solid #fff;
}
section#solutions {
	padding: 275px 0 0 0;
	width: 100%;
	background-image: url('img/solutions_background.jpg');
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 2;
	position: relative;
}

section#solutions .solutions_upper {
	width: 100%;
	z-index: 3;
}
section#solutions h2 {
	margin: 0 0 20px 0;
	font-size: 48px;
}
section#solutions .solutions_lower {
	background: #fff;
	z-index: 3;
	position: relative;
	padding: 20px 0 70px 0;
}
section#solutions ul.ui-tabs-nav li a {
	display: block;
}
#soltabs ul {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-bottom: 75px;
}
#soltabs ul li {
	position: relative;
}
#soltabs ul.tab_menu li a {
	font-size: 16px;
	font-weight: 600;
	color: #000;
	padding: 10px;
}
#soltabs ul.tab_menu li:first-child a {
	padding-left: 0;
}
#soltabs ul.tab_menu li:last-child a {
	padding-right: 0;
}
#soltabs ul.tab_menu li:hover a {
	color: #00669c;
}
#soltabs ul.tab_menu li.ui-state-active:before, #soltabs ul li.ui-tabs-tab:hover:before {
	position: absolute;
	width: 17px;
	height: 17px;
	background: #00669c;
	content: '';
	top: 12px;
	left: -25px;
}
#soltabs ul.tab_menu li.sol_separator {
	width: 2px;
	background: #00669c;
	height: 20px;
	top: 12px;
}
.soltab_caption {
	font-weight: 600;
	color: #000;
	font-size: 24px;
	font-family: 'Montserrat';
}
.soltab_text {
	margin: 50px 0;
}
.soltab_gallery {
	margin-top: 15px;
}
.soltab_img {
    text-align: right;
}
.soltab_gallery a {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	align-items: flex-start;
	height: 160px;
}
.soltab_gallery a:hover img {
	scale: 0.9;
	transition: 0.2s;
}
.soltab_gallery a img {
	object-fit: cover;
	width: 100%;
	height: 160px;
	transition: 0.2s;
}
section#projects {
	padding: 275px 0 125px 0;
	width: 100%;
	background-image: url('img/projects_background.jpg');
	background-position: top;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 2;
	position: relative;
}
section#projects h2 {
	margin: 0 0 20px 0;
	font-size: 48px;
}
section#projects .projects_gallery {
	margin: 0;
}
section#projects .project_img_wrapper {
	padding: 0;
	/*height: 292.5px;*/
}
section#projects .project_img_wrapper a {
	width: 100%;
}
section#projects .project_img_wrapper a:hover img {
	scale: 0.9;
	transition: 0.2s;
}
section#projects .project_img_wrapper img {
	object-fit: cover;
	height: 277.5px;
	width: 100%;
	transition: 0.2s;
}
section#contacts {
	padding: 220px 0 250px 0;
}
section#contacts h2 {
	margin: 0 0 80px 0;
	font-size: 48px;
}
section#contacts .contacts_info {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
}
section#contacts .contacts_info .contact_text, section#contacts .contacts_info #openPopup {
	display: block;
}
section#contacts .contacts_info span {
	color: #00669c;
	font-weight: 600;
	margin: 30px 0 20px 0;
	display: block;
}
section#contacts .contacts_info span:first-child {
	margin: 0 0 20px 0;
}
section#contacts .contacts_info a {
	color: #000;
	font-weight: 600;
}
section#contacts .contacts_info a:hover {
	color: #00669c;
}
section#contacts .contacts_info #openPopup {
	border: 2px solid #00669c;
	background: #00669c;
	color: #fff;
	outline: none;
	font-weight: 600;
	cursor: pointer;
	padding: 10px 0;
}
section#contacts .contacts_info #openPopup:hover {
	background: #fff;
	color: #00669c;
}
footer {
	background: #f6f6f6;
	padding: 15px 0;
}
.mobile {
    display: none;
}
@media (min-width: 320px) and (max-width: 480px) {
    .desktop {
        display: none;
    }
    .mobile {
        display: block;
    }
    #popup {
        top: 0;
        left: 0;
        transform: none;
    }
    .popup_wrapper {
        padding: 40px 30px;
    }
    .popup_wrapper h3 {
        margin: 20px 0 100px 0;
        font-size: 18px;
    }
    .popup_wrapper #closePopup {
        top: 10px;
        right: 25px;
    }
    .popup_wrapper input, .popup_wrapper textarea {
        padding: 16px;
        margin: 0 0 12px 0;
    }
    .popup_wrapper textarea {
        height: 130px;
    }
    .popup_wrapper input.popup_send {
        width: 100%;
        padding: 21px;
        margin: 45px 0 0 0;
        font-size: 18px;
    }
    #popup .spec_mobile {
        padding: 0;
    }
    h1 {
        font-size: 25px;
        margin: 65px 0 30px 0;
    }
    section#first_screen {
        height: auto;
    }
    section#first_screen h2 {
        margin: 0 0 50px 0;
    }
    header.mobile {
        padding: 20px 0 25px 0;
    }
    .mobile_menu_button {
        padding: 0 15px 0 0;
        cursor: pointer;
        width: 55px;
    }
    .mobile_menu_bar {
        dispaly: block;
        background: #fff;
        height: 2px;
        width: 40px;
    }
    .mobile_menu_button .mobile_menu_bar:nth-child(2) {
        margin: 10px 0;
    }
    .mobile_menu {
        position: fixed;
        left: -100%;
        width: 87%;
        height: 100%;
        background: #fff;
        transition: 0.3s;
        z-index: 13;
        padding-top: 50px;
    }
    .mobile_menu ul {
        text-align: right;
    }
    .mobile_menu a {
        display: block;
        font-family: 'Montserrat';
        font-size: 14px;
        font-weight: 600;
        color: #000;
        padding: 20px 25px 20px 0;
        border-top: 1px solid #d5d5d5;
    }
    .mobile_menu_active {
        left: 0;
    }
    .submenu {
        display: none;
        background: #f6f6f6;
        width: 100%;
    }
    .has-submenu:hover .submenu, .has-submenu.active .submenu {
        display: block;
    }
    #close_mobile_menu {
        cursor: pointer;
        width: 30px;
        height: 30px;
        position: absolute;
        top: 10px;
        right: 15px;
    }
    #close_mobile_menu:before, #close_mobile_menu:after {
        content: "";
        position: absolute;
        top: 12px;
        left: 3px;
        width: 25px;
        height: 5px;
        background: #000;
    }
    #close_mobile_menu:before {
        transform: rotate(45deg);
    }
    #close_mobile_menu:after {
        transform: rotate(-45deg);
    }
    header.mobile .logo {
        text-align: center;
    }
    header.mobile ul.translate {
        text-align: right;
    }
    header.mobile ul.translate li {
        display: inline-block;
    }
    .first_screen_wrapper h2 {
        font-size: 16px;
    }
    .first_screen_wrapper {
        padding: 0 0 35px 0;
    }
    section#first_screen .link_block_wrapper {
        flex-direction: row;
        align-items: center;
        padding: 0;
    }
    section#first_screen .link_block_wrapper:hover, section#first_screen .link_block_wrapper:active {
        border: 1px solid #fff;
    }
    section#first_screen .link_block_wrapper:hover .link_block_img, section#first_screen .link_block_wrapper:active .link_block_img {
        border: none;
    }
    section#first_screen .link_block_img {
        padding: 15px;
        border: 1px solid #fff;
        margin-bottom: 0;
        height: 135px;
        width: 135px;
        box-sizing: border-box;
        min-width: 135px;
    }
    section#first_screen .link_block_img img {
        width: 100%;
    }
    section#first_screen .link_block_text {
        padding-left: 15px;
        text-align: left;
        font-size: 14px;
    }
    section#about h2, section#solutions h2, section#projects h2, section#contacts h2 {
        font-size: 30px;
    }
    section#about .about_upper {
        padding: 50px 0;
    }
    section#about .about_lower {
        padding: 0 0 50px 0;
    }
    section#about h2 {
        margin-bottom: 40px;
    }
    .about_lower .about_lower_caption {
        margin-top: 50px;
    }
    .about_lower .about_lower_caption.middle, .about_lower .about_lower_caption.last {
        margin-top: 100px;
    }
     section#about .about_lower_caption.first:after {
        border: none;
     }
    section#about .about_lower_caption.last:before, section#about .about_lower_caption.middle:before {
        content: '';
        position: absolute;
        left: 48%;
        top: -50px;
        border: 8px solid transparent;
        border-top: 8px solid #fff;
    }
    section#about .about_img {
        margin-top: 50px;
    }
    section#solutions {
        padding: 50px 0 0 0;
    }
    section#solutions .solutions_lower {
        padding: 0;
    }
    #soltabs ul {
        flex-direction: column;
        margin: 0 -15px;
    }
    #soltabs ul.tab_menu li a {
        padding: 20px 40px;
        position: relative;
        font-family: 'Montserrat';
        font-size: 12px;
        border-bottom: 1px solid #d5d5d5;
    }
    #soltabs ul.tab_menu li:hover a {
        color: #000;
    }
    #soltabs ul.tab_menu li:first-child a {
        padding-left: 40px;
    }
    #soltabs ul.tab_menu li.ui-state-active:before, #soltabs ul li.ui-tabs-tab:hover:before {
        background: transparent;
    }
    #soltabs ul.tab_menu li a:before {
        content: '';
        position: absolute;
        width: 11px;
        height: 11px;
        border: 5px solid transparent;
        border-top: 5px solid #000;
        top: 24px;
        left: 18px;
    }
    #soltabs .soltab_img {
        text-align: center;
        margin-top: 40px;
    }
    .gallery_spec_mobile {
        padding: 0;
    }
    section#projects, section#contacts {
        padding: 50px 0 0 0;
    }
    section#projects .container.spec_mobile {
        padding: 0;
    }
    section#projects .project_img_wrapper img {
        height: 125px;
    }
    section#contacts h2 {
        margin-bottom: 50px;
    }
    section#contacts .row.spec_mobile {
        flex-direction: column-reverse;
    }
    section#contacts .col-12.spec_mobile {
        padding: 35px 0 0 0;
    }
    .contact_text {
        margin-bottom: 40px;
    }
    section#contacts .contacts_info #openPopup {
        font-size: 14px;
        padding: 15px 0;
    }
    footer {
        font-size: 12px;
    }
}