/*!
Theme Name: mosoblexp
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: mosoblexp
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

mosoblexp is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

@font-face {
	font-family: 'Geist';
	font-weight: 300;
	src: url('../mosoblexp/fonts/Geist/static/Geist-Light.ttf');
}

@font-face {
	font-family: 'Geist';
	font-weight: 400;
	src: url('../mosoblexp/fonts/Geist/static/Geist-Regular.ttf');
}

@font-face {
	font-family: 'Geist';
	font-weight: 500;
	src: url('../mosoblexp/fonts/Geist/static/Geist-Medium.ttf');
}

@font-face {
	font-family: 'Geist';
	font-weight: 600;
	src: url('../mosoblexp/fonts/Geist/static/Geist-SemiBold.ttf');
}

@font-face {
	font-family: 'GeistV';
	src: url('../mosoblexp/fonts/Geist/Geist-VariableFont_wght.ttf');
}


html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #404040;
	font-family: 'Geist', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li>ul,
li>ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

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

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */

/* Main */


* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	text-decoration: none;
	list-style: none;
	scroll-padding-top: 120px;
	/* transition: all 0.2s ease-in-out; */
}

:root {
	--primary-color: #FFAA41;
	--dark-color: #051A24;
	--secondary-color: #EBAD60;
	--secondary-dark-color: #032130;
	--blue_bg_white: #FFFEFA;
	--light-green: #0C2825;
	--grey: #DADADA;
	--background: #fff;
	--light-grey: #f8f8f8;

	--s-4: 4px;
	--s-6: 6px;
	--s-8: 8px;
	--s-12: 12px;
	--s-16: 16px;
	--s-24: 24px;
	--s-32: 32px;
	--s-40: 40px;
}

body {
	background-color: var(--background);
	color: var(--dark-color);
	font-family: 'Geist', sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h2 span {
	font-weight: 600;
	font-style: normal;
	line-height: 1;
}

.container {
	width: 100%;
	max-width: 1208px;
	margin: 0 auto;
}

@media (max-width: 1240px) {
	.container {
		padding-left: 16px;
		padding-right: 16px;
	}
}

.container_pad {
	padding-left: var(--s-16);
	padding-right: var(--s-16);
}

.blue_bg_section {
	background: var(--secondary-dark-color);
	color: var(--blue_bg_white);
}

.section_top_radius {
	border-radius: 48px 48px 0 0;
}

.section_btm_radius {
	border-radius: 0 0 48px 48px;
}

.content {
	position: relative;
	z-index: 2;
}

.flex_row {
	display: flex;
	flex-direction: row;
}

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

.grid-2 {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.grid-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
}

.span-2 {
	grid-column: span 2;
}

.span-3 {
	grid-column: span 3;
}

.span-5 {
	grid-column: span 5;
}

.span-6 {
	grid-column: span 6;
}

.span-7 {
	grid-column: span 7;
}

.gap_4 {
	gap: var(--s-4);
}

.gap_6 {
	gap: var(--s-6);
}

.gap_8 {
	gap: var(--s-8);
}

.gap_10 {
	gap: 10px;
}

.gap_12 {
	gap: var(--s-12);
}

.gap_16 {
	gap: var(--s-16);
}

.gap_24 {
	gap: var(--s-24);
}

.gap_32 {
	gap: var(--s-32);
}

.gap_40 {
	gap: var(--s-40);
}

.pad_8 {
	padding: var(--s-8);
}

.pad_16 {
	padding: var(--s-16);
}

.pad_24 {
	padding: var(--s-24);
}

.pad_32 {
	padding: var(--s-32);
}

.pad_24_32 {
	padding: var(--s-24) var(--s-32);
}

.pad_16_24 {
	padding: var(--s-16) var(--s-24);
}

.top_pad {
	padding-top: 88px;
}

.btm_pad {
	padding-bottom: 80px;
}

.top_small_pad {
	padding-top: 64px;
}

.btm_small_pad {
	padding-bottom: 64px;
}

.gold {
	color: var(--gold);
}

.bl-gold {
	color: var(--bl-gold);
}

.title {
	font-size: 48px;
	font-weight: 600;
	text-transform: uppercase;
	line-height: 1.2;
}

.title_header {
	justify-content: space-between;
	flex-wrap: wrap;
	align-items: flex-end;
}

.subtitle {
	font-size: 16px;
	line-height: 1.4;
	font-weight: 500;
	opacity: 0.6;
}

/* 
.title h2,
.title h1 {
	line-height: 1;
	font-size: 48px;
	text-transform: uppercase;
}

.title.tl-bl p {
	color: #202020;
	opacity: 0.6;
}

.title.tl-wh p {
	color: white;
	opacity: 0.6;
}

.title.tl-wh h2,
.title.tl-wh h1 {
	color: white;
} */

.abs-cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

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

/* burger menu */
.burger-menu {
	display: none;
	/* По умолчанию скрыта */
	position: relative;
	z-index: 100;
	width: 24px;
	height: 16px;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	margin-left: auto;
}

.burger-line {
	display: block;
	width: 100%;
	height: 2px;
	background-color: #ffffff;
	/* Цвет под вашу тему */
	border-radius: 2px;
	transition: all 0.3s ease;
	position: absolute;
	left: 0;
}

.burger-line:nth-child(1) {
	top: 0;
}

.burger-line:nth-child(2) {
	top: 50%;
	transform: translateY(-50%);
}

.burger-line:nth-child(3) {
	bottom: 0;
}

/* Состояние открытого бургера */
.burger-menu.active .burger-line:nth-child(1) {
	transform: translateY(-1px) rotate(45deg);
	top: 50%;
}

.burger-menu.active .burger-line:nth-child(2) {
	opacity: 0;
	transform: translateX(-20px);
}

.burger-menu.active .burger-line:nth-child(3) {
	transform: translateY(1px) rotate(-45deg);
	bottom: 50%;
}

.glass_border::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	padding: 1px;
	border-radius: inherit;
	background: linear-gradient(167.28deg, #717171 9.21%, #353535 91.62%);
	mask:
		linear-gradient(#000 0 0) exclude,
		linear-gradient(#000 0 0) content-box;
}

.sang-bleu {
	font-family: 'SangBleuSunrise-Regular';
}

/* forms */

.form_content {
	position: relative;
	background: var(--light-grey);
	border-radius: 32px;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 24px;
	overflow: hidden;
}

.form_title,
.form_title span {
	font-size: 40px;
	line-height: 1.1;
	font-weight: 440;
	font-family: 'GeistV';
	z-index: 2;
}

.form_subtitle {
	opacity: 0.8;
	line-height: 1.4;
	font-size: 16px;
}

.form_img {
	mix-blend-mode: luminosity;
	position: absolute;
	z-index: 0;
	pointer-events: none;
	width: 470px;
	right: 120px;
	top: 50%;
	transform: translateY(-50%);
}

.form_content .form_header {
	max-width: 435px;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.form_content .otf-form-wrap {
	z-index: 2;
}

.otf-hp {
	display: none;
}

.form_content .otf-form {
	display: flex;
	flex-direction: row;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 28px;
		align-items: flex-end;
}

.otf-form__choice {
	position: absolute;
	bottom: 0;
}

.cp-popup-inner .otf-form__choice {
	position: relative;
}

.form_content .otf-form__grid {
	position: relative;
	display: flex;
	flex-direction: row;
	gap: 16px;
	width: 100%;
}

.form_content .otf-form__field {
	display: flex;
	gap: 6px;
	flex-direction: column;
	width: 100%;
	position: relative;
}

.cp-popup .otf-form__field input {
	border: none;
	outline: none;
}

.form_content .otf-form__field:has(.otf-error) input,
.cp-popup .otf-form__field:has(.otf-error) input {
	box-shadow: inset 0 0 0 1px var(--otf-danger) !important;
}

.form_content .otf-form__field:has(.otf-error) input[type="checkbox"],
.cp-popup .otf-form__field:has(.otf-error) input[type="checkbox"] {
	background: rgb(255, 218, 218);
}

.form_content .otf-form__choice--checkbox span {
	font-size: 12px;
	letter-spacing: 0.02em;
}

.form_content .otf-error {
	position: absolute;
	color: var(--otf-danger);
	font-size: 12px;
	right: 0;
}

.form_content input[type="checkbox"] {
	padding: 0 !important;
	appearance: none;
	position: relative;
	width: 16px;
	height: 16px;
	background: #A3A3A3;
	border-radius: 3px !important;
	border: none !important;
	transition: all 0.2s ease-in-out;
}

.form_content input[type="checkbox"]:checked {
	background: #ffaa41 !important;
}

.form_content input[type="checkbox"]::after {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='30' viewBox='0 -960 960 960' width='30' stroke='%23FFFFFF' stroke-width='30' fill='%23FFFFFF'%3E%3Cpath d='M382-240 154-468l57-57 171 171 367-367 57 57-424 424Z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	top: 50%;
	left: 50%;
	opacity: 0;
	transform: translate(-50%, -50%);
	transition: all 0.2s ease-in-out;
}

.form_content input[type="checkbox"]:checked::after {
	opacity: 1;
}

.form_content .otf-form__submit {
	max-width: 300px;
	width: 100%;
	background: var(--primary-color);
	color: var(--dark-color);
}

.form_content .otf-form__label {
	font-size: 12px;
	line-height: 1.4;
	font-weight: 400;
	margin-left: 8px;
	color: var(--dark-color);
}

.form_content .otf-form__control {
	border-radius: 16px;
	border: none;
	outline: none !important;
	padding: 11px 16px;
	font-size: 14px;
	line-height: 1.3;
	box-shadow: none !important;
}

.form_content .otf-form__field:has(#otf-privacy) {
	position: absolute;
	bottom: -28px;
	left: 8px;
}

.form_content .otf-form__field:has(#otf-privacy) .otf-error,
.cp-popup .otf-form__field:has(#otf-privacy) .otf-error {
	display: none;
}

.blue_bg_section .form_content {
	background: #10374B;
}

.blue_bg_section .form_content .otf-form__label {
	color: #FFFFFF;
}

.blue_bg_section .otf-form__choice--checkbox span {
	color: #FFFFFF;
}

.blue_bg_section .form_content input[type="checkbox"] {
	background: #fff;
}

/* main_menu */

.main-navigation .menu {
	display: flex;
	gap: 8px;
}

.main-navigation .menu li a {
	padding: 2px 8px;
	text-transform: uppercase;
	color: white;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 4%;
}
.main-navigation .menu a {
    color: #000; 
    transition: color 0.2s ease;
}

.main-navigation .menu li.current-menu-item > a {
    color: var(--primary-color) !important;
}

.main-navigation .menu li:hover > a {
    color: var(--primary-color);
}
li:has(.sub-menu) .sub-menu{	position: absolute;
top: 80px;
right: 150px;
border-radius: 24px;
padding: 16px;
flex-direction: column;
gap: 8px;
transition: all 0.3s ease-in-out;
	opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    pointer-events: none; 
}
a.submenu-open ~ .sub-menu {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;    
}


li:has(.sub-menu) .sub-menu::before{
	 content: "";                          
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-backdrop-filter: blur(5px) !important;
    backdrop-filter: blur(5px) !important;
    background-color: #00000040;
    border-radius: inherit;            
    pointer-events: none; 
	 z-index: 0;
transition: all 0.3s ease-in-out;
}

li:has(.sub-menu) .sub-menu > * {
    position: relative;
    z-index: 1;
}

@media (max-width: 768px) {
li:has(.sub-menu) .sub-menu {
        position: static;
                max-height: 0;
        opacity: 0;
        overflow: hidden;
        visibility: hidden;
        padding: 0;
	padding-left: 16px;
        transition: max-height 0.3s ease, 
                    opacity 0.3s ease, 
                    visibility 0.3s,
                    padding 0.3s ease;
                border-radius: 0;
	display:flex;
        flex-direction: column;
        gap: 8px;
        background: transparent;
        box-shadow: none;
        margin: 0;
    }

    li:has(> a.submenu-open) .sub-menu,
li:has(.sub-menu) > a.submenu-open ~ .sub-menu{
        max-height: 500px; /* Запас по высоте */
        opacity: 1;
        visibility: visible;
    }

    li:has(.sub-menu) .sub-menu::before {
        display: none;
    }
	li:has(.sub-menu) > a{
		position:relative;
	}
    li:has(.sub-menu) > a::after {
        content: "";
        position: absolute;
        width: 14px;
        height: 14px;
        background-image: url("./assets/icons/arrow.svg");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        top: 50%;
        right: 0;
        transition: transform 0.3s ease;
        flex-shrink: 0;
        transform: translateY(-50%);
    }

    li:has(.sub-menu) > a.submenu-open::after {
        transform: rotate(90deg);
        top: 20%;
    }

}

/* logo */
.logo {
	display: flex;
}

.logo a,
.footer_logo {
	height: 26px;
	display: inline-block;
	overflow: hidden;
}

.logo img {
	height: 100%;
	width: auto;
	object-fit: contain;
}

/* banner */

.banner h1 {
	max-width: 1100px;
	font-size: 80px;
	text-transform: uppercase;
	color: white;
}

.service_banner h1 {
	max-width: 100%;
}

.banner p {
	color: white;
	max-width: 654px;
	opacity: 0.8;
	line-height: 1.4;
	font-weight: 400;
}

.banner {
	height: 100vh;
	background-color: var(--green);
	background-image: url('/wp-content/uploads/2025/11/8e381a359101ed9c01b5dec36ac0c6c8012abcd9-2.png');
	background-size: cover;
	background-position: center;
	position: relative;
	align-items: flex-end;
	padding-bottom: 64px;
}

.banner::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	background: linear-gradient(180deg, rgba(3, 48, 70, 0) 35.93%, #032130 86.49%);
}

.banner div {
	position: relative;
	z-index: 1;
}

.banner_tooltip {
	position: absolute;
	bottom: 162px;
	left: 493px;
}

.banner_tooltip h2 {
	font-size: 40px;
	line-height: 1.2;
	text-transform: uppercase;
}

.banner_tooltip p {
	color: var(--grey);
	font-size: 24px;
	line-height: 1.2;
	font-weight: 400;
}

.banner .about_banner_container {
	display: flex;
	justify-content: s-between;
	align-items: flex-end;
}

.about_banner_container .banner_tooltip {
	position: static;
	margin-bottom: 8px;
}

.pages_banner {
	margin-bottom: 64px;
	padding-bottom: 80px;
}

.pages_banner h1 {
	max-width: 100%;
}

.radius_banner {
	border-radius: 0 0 32px 32px;
	overflow: hidden;
}

.banner_title h1 {
	max-width: 100%;
}

/* card */

.card {
	position: relative;
	width: 100%;
	background: var(--light-grey);
	border-radius: var(--s-16);
	overflow: hidden;
}

.blue_bg_section .card {
	background: #10374B;
}

.card.company_card h3 {
	font-size: 32px;
	font-weight: 500;
	line-height: 1.2;
	text-transform: uppercase;
}

.card.company_card h4 {
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.015em;
	text-transform: uppercase;
}

.card.company_card p {
	font-size: 12px;
	line-height: 1.4;
	opacity: 0.7;
	font-weight: 300;
}

.vacancy-card {
	justify-content: space-between;
	border-radius: var(--s-8);
	padding: var(--s-12);
}

/* company */
/* experience */
.experience_card,
.team_card,
.job_card,
.goal_card {
	justify-content: space-between;
	min-height: 224px;
}

.experience_card h4 {
	max-width: 254px;
	z-index: 1;
}

.experience_card p {
	max-width: 220px;
	z-index: 1;
}

.experience_card img {
	width: 290px;
	height: 290px;
	object-fit: contain;
	position: absolute;
	right: -75px;
	top: 50%;
	transform: translateY(-50%);
}

/* utp */
.utp_card {
	padding-bottom: 24px;
	justify-content: space-between;
}

.utp_card h4,
.utp_card p {
	max-width: 243px;
}

/* expertise */

.expertise_content {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
}

.expertise_card h3,
.expertise_card p {
	max-width: 258px;
}

.expertise_card h3 {
	font-size: 20px;
	line-height: 1.2;
	font-weight: 500;
}

.expertise_card p {
	font-size: 14px;
	line-height: 1.2;
	opacity: 0.8;
}

.expertise_card {
	padding-bottom: 24px;
	justify-content: space-between;
}

.expertise_card .flex_column {
	z-index: 2;
}

.expertise_card .expertise_card_image {
	position: absolute;
	width: 240px;
	height: 240px;
	object-fit: contain;
	right: -16px;
	top: 50%;
	z-index: 1;
	transform: translateY(-50%);
}

.expertise_card.span-6 .expertise_card_image {
	width: 380px;
	height: 380px;
	right: -58px;
	transform: none;
	top: -25px;
}


/* .expertise_card.span-6:last-child .expertise_card_image {
	width: 380px;
	height: 380px;
	right: -58px;
	transform: none;
	top: -25px;
} */

/* partners */
.partners_content {
	width: 1286px;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

.partners_content .partners_slider {
	mask: linear-gradient(90deg, rgba(115, 115, 115, 0) 0%, #D9D9D9 10.1%, #D9D9D9 90.38%, rgba(115, 115, 115, 0) 100%);
}

.partners_content .partners_slider:first-child {
	margin-bottom: 24px;
}

.partners_slider .swiper-wrapper {
	transition-timing-function: linear;
}

.partners_slide {
	background: var(--light-grey);
	border-radius: 16px;
	height: 140px !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	padding: 18px 28px;
}

.partners_slide img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* certificate */

.certificate_content {
	position: relative;
	box-sizing: border-box;
}

.certificate_slider.swiper {
	position: relative;
	height: auto;
	overflow: hidden;
}

.certificate_slider .swiper-wrapper {
	display: flex;
	height: auto;
	align-items: center;
}


.certificate_slide img {
	width: 100%;
	height: 416px;
	object-fit: contain;
	display: block;
	border-radius: 32px;
	border: 1px solid var(--primary-color);
}

.certificate_slide .slide_subtitle {
	text-align: left;
	text-transform: uppercase;
	opacity: 0.8;
	letter-spacing: 0.02em;
	line-height: 1.3;
	font-size: 16px;
	font-weight: 600;
	color: #1E1E1E;
	padding-top: 12px;
	width: 100%;
	padding-left: 29px;
}

.certificate_button-prev,
.certificate_button-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
	border-radius: 50%;
	background: var(--light-grey);
	width: 45px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s;
}

.certificate_button-prev {
	left: calc(-45px - 24px);
}

.certificate_button-next {
	right: calc(-45px - 24px);
}


/* services */

.main_services_content {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
}

.main_services_content .main_services-card {
	grid-column: span 2;
}

.main_services-card {
	color: var(--dark-color);
	height: 224px;
	justify-content: space-between;
}

.main_services-card_content {
	gap: 10px;
}

.main_services-card .main_services-card_content span {
	font-size: 11px;
	opacity: 0.7;
	line-height: 1.4;
}

.main_services-card h3 {
	font-size: 24px;
	text-transform: uppercase;
	font-weight: 500;
	max-width: 80%;
	line-height: 1.25;
}

.main_services_content>.main_services-card:nth-last-child(-n+2) {
	grid-column: span 3;
	height: fit-content;
}

.main_services_content>.main_services-card:nth-last-child(-n+2) .main_services-card_content span {
	display: none;
}

.main_services_content>.main_services-card:nth-last-child(-n+2) h3 {
	font-size: 18px;
	max-width: 55%;
}

.main_services-card .service-card_img {
	width: 374px;
	height: 374px;
	right: -162px;
	transform: scale(1);
	top: -109px;
}

.main_services-card:last-child .service-card_img {
	top: -86px;
	transform: scale(-1, 1);
}

.main_services-card .service-card_icon {
	width: 37px;
	height: 37px;
	padding: 10px;
	background: #EBEBEB;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.main_services-card_content p {
	font-size: 14px;
	max-width: 296px;
	font-weight: 400;
	line-height: 1.25;
}

.main_services-card:nth-child(n+4) .main_services-card_content p {
	opacity: 0.8;
}

.main_services-card:nth-child(n+4) .main_services-card_header {
	flex-direction: row;
	align-items: center;
}

.main_services_content>.main_services-card:nth-last-child(-n+2) p {
	max-width: 340px;
}

/* team */
.team_card p {
	max-width: 312px;
}

/* job */

.job_info-card {
	min-width: 698px;
	padding: 24px 60px 20px 24px;
}

.job_list-card {
	overflow: visible;
	background: var(--secondary-dark-color);
	color: #fff;
	padding: 16px 24px 24px;
}

.job_info-block {
	align-items: flex-end;
	z-index: 1;
}

.job_info-block p {
	max-width: 234px;
}

.job_info-card img {
	width: 350px;
	height: 350px;
	object-fit: cover;
	top: calc(50% + 20px);
	position: absolute;
	right: -140px;
	transform: translateY(-50%);
}

.job_list-card img {
	position: absolute;
	width: 100px;
	top: -40px;
	right: 24px;
}

.vacancy-card span {
	font-size: 14px;
	line-height: 1.2;
	color: var(--secondary-dark-color);
	opacity: 0.4;
}

.vacancy-card h5 {
	color: var(--secondary-dark-color);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2;
	max-width: 170px;
}

/* first popup */


/* reputation */

.reputation_image {
	position: relative;
	height: 100%;
	border-radius: var(--s-16);
	overflow: hidden;
	min-height: 214px;
}

.reputation_content .reputation_card:nth-child(even) {
	flex-direction: column-reverse;
}

.reputation_content .reputation_card:first-child {
	background-color: var(--primary-color);
	color: var(--dark-color);
}

.reputaton_card-content h4 {
	font-size: 24px;
	line-height: 1.4;
	font-weight: 500;
}

.reputaton_card-content p {
	font-size: 16px;
	line-height: 1.4;
	opacity: 0.8;
}

/* goal */

.goal_card h4 {
	position: relative;
	z-index: 1;
	font-size: 24px;
	font-weight: 300;
	max-width: 412px;
	line-height: 1.2;
}

.goal_card h5 {
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	max-width: 245px;
}

.goal_card p {
	font-size: 16px;
	font-weight: 300;
	opacity: 0.8;
	max-width: 361px;
	line-height: 1.4;
}

.goal_card .company_logo {
	position: absolute;
	border-radius: 0;
	z-index: 2;
	right: 31px;
	top: -54px;
}

.goal_info_card img {
	min-width: 300px;
	width: 50%;
	position: absolute;
	right: 16px;
	bottom: 40px;
	transform: rotate(-3.3deg);
}

.first_goal_image {
	overflow: visible;
}

.first_goal_image img {
	border-radius: 16px;
}

.first_goal_image::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(208.57deg, #051A24 16.73%, rgba(5, 26, 36, 0) 119.13%);
	z-index: 1;
	top: 0;
	left: 0;
	border-radius: 16px;
}

.second_goal_image {
	padding: 30px 32px;
	justify-content: flex-end;
}

.second_goal_image h4 {
	max-width: 680px;
	font-size: 32px;
}

.second_goal_image::before {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	background: linear-gradient(190.17deg, rgba(5, 26, 36, 0) 32.86%, #051A24 86.92%);
	z-index: 1;
	top: 0;
	left: 0;
}

/* services */

.services-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px 16px;
}

.service-card {
	position: relative;
	background: var(--light-grey);
	border-radius: var(--s-16);
	overflow: hidden;
	padding: var(--s-24);
	height: 342px;
	justify-content: space-between;
}

.service-card_header h2 {
	max-width: 290px;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.25;
	text-transform: uppercase;
}

.service-card_content {
	z-index: 1;
	align-items: flex-end;
	justify-content: space-between;
}

.service-card_info {
	max-width: 280px;
	gap: 2px;
}

.service-card_info span {
	font-size: 12px;
	opacity: 0.6;
	color: var(--dark-color);
}

.service-card_info p {
	font-size: 16px;
	line-height: 1.4;
}

.service-card_img {
	position: absolute;
	width: 448px;
	height: 448px;
	object-fit: cover;
	right: -85px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 0;
}

.service-card:last-child {
	grid-column: span 2;
	height: auto;
	flex-direction: row;
	align-items: flex-start;
}

.service-card:last-child .service-card_img {
	width: 537px;
	height: 537px;
	left: -143px;
}

.service-card:last-child .service-card_header {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	align-items: center;
	gap: 16px;
	top: 16px;
}

.service-card:last-child .service-card_header h2 {
	max-width: 352px;
	text-align: center;
}

.service-card:last-child .service-card_info p {
	line-height: 1.2;
}

.service-card:last-child .service-card_content {
	flex-direction: column;
	gap: var(--s-16);
}

.service-card:last-child .service-card_info {
	max-width: 247px;
}

.service-card:last-child .btn {
	width: 100%;
}

/* single-service */

.service_banner {
	padding-bottom: 104px;
}

.service_banner p {
	max-width: 532px;
}

.service_banner .banner_header__title {
	position: relative;
}

.service_banner .banner_header__title p {
	position: absolute;
	bottom: 0;
	transform: translateY(calc(100% + 12px));
}

.service_banner_info {
	padding: 32px 0;
}

.service-more-detail {
	margin-top: 64px;
}

.service-more-detail .service-more_card p {
	font-family: 'GeistV', sans-serif;
	line-height: 1.4;
	font-weight: 430;
}

.banner_description_card {
	gap: 8px;
}

.banner_description_card span {
	font-size: 16px;
	line-height: 1.2;
	font-weight: 400;
	opacity: 0.6;
}

.banner_description_card p {
	font-size: 24px;
	line-height: 1.4;
	max-width: 1028px;
}

.service-more_grid {
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	gap: 8px 16px;
}

.service-more_card {
	background: var(--light-grey);
	display: flex;
	flex-direction: column;
	border-radius: 16px;
	overflow: hidden;
}

.service-more_text {
	grid-column: span 7;
	padding: 24px 36px 24px 24px;
}

.service-needed .service-more_text {
	grid-column: span 12;
}

.service-step-list {
	grid-column: span 7;
}

.service-step_plan:not(:has(.service-more_img)) .service-step-list,
.service-estimation:not(:has(.service-more_img)) .service-step-list {
	grid-column: span 12;
}

.service-more_text h4 {
	font-size: 24px;
	font-weight: 500;
	max-width: 617px;
	line-height: 1.2;
	/* font-smoothing: auto;
    -webkit-font-smoothing: auto;
    -moz-osx-font-smoothing: auto; */
}

.service-step-list .service-more_text h4 {
	line-height: 1.4;
	max-width: 100%;
	position: relative;
}

.service-more_img {
	grid-column: span 5;
	position: relative;
}

.service-more_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
}

.service-more_utp-card {
	width: 100%;
	padding: 24px;
}

.service-more_utp-title {
	font-size: 48px;
	font-weight: 500;
	line-height: 1.2;
}

.service-more_utp-content {
	max-width: 282px;
}

.service-ul li {
	list-style: disc;
	font-size: 16px;
	line-height: 1.4;
	font-weight: 430;
	font-family: 'GeistV', sans-serif;
}

.service-ul {
	margin-bottom: 0;
	margin-left: 28px;
	max-width: 575px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.service-needed .service-ul {
	max-width: 912px;
}

.service-step-list {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.step_title span {
	opacity: 0.8;
	font-size: 18px;
	line-height: 1.2;
}

.service-step-list_card {
	cursor: pointer;
}

.service-step-list_card .service-ul,
.service-step-list_card .service-estimation_list,
.service-step-list_card .service-type_rating-list {
	padding-top: 16px;
}

.service-step-list_card .service-step-content {
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: all 0.5s ease-in-out;
}

.service-step-list_card.active .service-step-content {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.service-step-list_card h4 {
	font-size: 32px;
	line-height: 1.2 !important;
}

.service-step-list_card h4::before {
	content: url("data:image/svg+xml,%3Csvg width='19' height='11' viewBox='0 0 19 11' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.3335 1.33325L9.3335 9.33325L17.3335 1.33325' stroke='%239A9A9A' stroke-width='2.66667' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	display: inline-block;
	position: absolute;
	top: -2px;
	right: 0;
	transform: rotate(90deg);
	transition: all 0.5s ease-in-out;
}

.service-step-list_card.active h4::before {
	transform: rotate(0deg);
}

.service-step_plan .service-more_img,
.service-type_rating .service-more_img {
	height: 325px;
	position: sticky;
	top: 100px;
}

.service-type_rating .service-more_img {
	margin-bottom: 100px;
}

.service-step_btns {
	display: flex;
	position: absolute;
	bottom: 44px;
	right: 0;
}

.service-step_btns .btn {
	padding: 12px 26px;
}

.service-step_btns:has(> :nth-child(2)) {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
	width: calc(100% - 52px);
	right: 26px;
	bottom: unset;
	top: 240px;
}

.service-step_btns .btn:nth-child(5) {
	grid-column: span 2;
}

.service-estimation_subitem h5 {
	font-size: 24px;
	line-height: 1.4;
	font-weight: 400;
}

.service-estimation_subitem p {
	font-size: 16px;
	line-height: 1.4;
	font-weight: 400;
}

.service-type_rating-list p,
.service-type_rating-list ul li {
	line-height: 1.4;
}

.service-type_rating-list ul {
	margin-top: -8px;
}

.service-type_rating-list ul li::before {
	content: '– ';
}

.service-type_rating-price {
	font-size: 32px;
	line-height: 1.2;
	font-weight: 500;
}

.service-legal_help-list {
	display: block;
}

/* tag */

.tag {
	width: fit-content;
	padding: 5px 10px 3px;
	border-radius: var(--s-8);
	font-size: 12px;
	line-height: 1.2;
}

.service-tag {
	background: var(--primary-color);
}

.secondary-tag {
	background: var(--secondary-color);
	color: #032130;
}

.white-tag {
	background: white;
	color: #032130;
}

/* breadcrumbs */

.breadcrumbs ol {
	display: flex;
	margin: 0;
	gap: 4px;
	position: relative;
	z-index: 2;
}

.breadcrumbs li,
.breadcrumbs li a {
	text-transform: uppercase;
	color: #fff;
	opacity: 0.6;
}

.breadcrumbs li a:hover {
	opacity: 1;
}

/* btn */

.btn {
	min-width: fit-content;
	font-size: 14px;
	font-weight: 500;
	padding: 12px 44px;
	border-radius: var(--s-16);
	letter-spacing: 0;
	outline: none;
	border: none;
	line-height: 1.3;
	text-align: center;
}

.white-btn {
	background-color: white;
	color: var(--dark-color);
}

.primary-btn {
	background-color: var(--primary-color);
	color: var(--dark-color);
}

.blue-btn {
	background-color: var(--dark-color);
	color: var(--blue_bg_white);
}

.grey-btn {
	background-color: #F8F8F8;
	color: var(--dark-color);
}

/* about-company template (static html) */
.about-company-page {
	background: #f5f7f8;
}

.about-company-page section {
	padding: 72px 0;
}

.about-company-page h1,
.about-company-page h2,
.about-company-page h3,
.about-company-page p {
	margin: 0;
}

.about-company-hero {
	padding-top: 160px !important;
	padding-bottom: 96px !important;
	background:
		linear-gradient(120deg, rgba(5, 26, 36, 0.9), rgba(12, 40, 37, 0.74)),
		url('/wp-content/uploads/2025/11/8e381a359101ed9c01b5dec36ac0c6c8012abcd9-2.png');
	background-size: cover;
	background-position: center;
}

.about-company-hero_inner {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.about-company-kicker {
	display: inline-flex;
	width: fit-content;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 170, 65, 0.18);
	color: #fff;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.about-company-hero h1 {
	font-size: clamp(42px, 7vw, 88px);
	line-height: 0.92;
	color: #fff;
	text-transform: uppercase;
	max-width: 900px;
}

.about-company-lead {
	max-width: 760px;
	color: rgba(255, 255, 255, 0.9);
	font-size: 20px;
	line-height: 1.45;
}

.about-company-grid {
	display: grid;
	grid-template-columns: 1.15fr 1fr;
	gap: 16px;
}

.about-company-card,
.about-company-metrics article,
.about-company-value,
.about-company-cta_inner {
	background: #fff;
	border-radius: 16px;
}

.about-company-card {
	padding: 32px;
}

.about-company-card h2,
.about-company-values h2,
.about-company-cta h2 {
	font-size: clamp(30px, 4vw, 48px);
	line-height: 0.95;
	text-transform: uppercase;
}

.about-company-card p {
	margin-top: 24px;
	font-size: 18px;
	line-height: 1.5;
	max-width: 680px;
	opacity: 0.86;
}

.about-company-metrics {
	display: grid;
	gap: 16px;
}

.about-company-metrics article {
	padding: 24px;
}

.about-company-metrics span {
	font-size: clamp(38px, 4.2vw, 58px);
	font-weight: 600;
	line-height: 1;
	color: var(--dark-color);
}

.about-company-metrics p {
	margin-top: 8px;
	font-size: 16px;
	color: rgba(5, 26, 36, 0.72);
}

.about-company-values h2 {
	margin-bottom: 24px;
}

.about-company-values_grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.about-company-value {
	padding: 24px;
}

.about-company-value h3 {
	font-size: 26px;
	line-height: 1.05;
	text-transform: uppercase;
}

.about-company-value p {
	margin-top: 14px;
	font-size: 16px;
	line-height: 1.5;
	opacity: 0.8;
}

.about-company-cta {
	padding-top: 0 !important;
	padding-bottom: 96px !important;
}

.about-company-cta_inner {
	background: var(--dark-color);
	padding: 36px 32px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.about-company-cta h2 {
	color: #fff;
}

.about-company-cta p {
	margin-top: 10px;
	font-size: 18px;
	line-height: 1.4;
	color: rgba(255, 255, 255, 0.8);
}

.about-company-cta .btn {
	flex-shrink: 0;
}

@media (max-width: 980px) {
	.about-company-page section {
		padding: 56px 0;
	}

	.about-company-hero {
		padding-top: 132px !important;
		padding-bottom: 72px !important;
	}

	.about-company-grid,
	.about-company-values_grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.about-company-page section {
		padding: 44px 0;
	}

	.about-company-card,
	.about-company-value,
	.about-company-metrics article,
	.about-company-cta_inner {
		padding: 20px;
		border-radius: 14px;
	}

	.about-company-lead,
	.about-company-card p,
	.about-company-cta p {
		font-size: 16px;
	}

	.about-company-cta_inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* contacts */
.contacts__info {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.contacts__info-block {
	gap: 6px;
}

.contacts__subtitle {
	opacity: 0.4;
	font-weight: 500;
	font-size: 16px;
	line-height: 120%;
}

.contacts__info-value {
	font-weight: 500;
	font-size: 24px;
	letter-spacing: 4%;
	color: #051A24;
}

.contacts__bottom {
	padding-top: 24px;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(392px, 1fr));
}

.address_title {
	font-weight: 500;
	font-size: 24px;
	line-height: 130%;
	letter-spacing: 2%;
	text-transform: uppercase;
	color: #1E1E1E;
}

.address_info {
	padding-top: 16px;
	padding-bottom: 6px;
	font-weight: 500;
	font-size: 18px;
	line-height: 140%;
	letter-spacing: 2%;
	text-transform: uppercase;
	color: #1E1E1E;
}

.time__info {
	color: #545454;
	line-height: 130%;
	letter-spacing: 2%;
	font-weight: 400;
	font-size: 18px;
	padding-bottom: 24px;
	text-transform: uppercase;
}

.contacts__button {
	display: block;
	text-align: center;
	font-size: 18px;
	line-height: 20px;
	padding: 18px;
	width: 100%;
}

.contacts__right {
	grid-column: span 2;
	max-width: 100%;
	overflow: hidden;
	border-radius: 16px;
}

.contacts__map {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}

.contacts__map iframe {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
	border: none;
}

/* footer */

footer {
	background: #021119;
	padding-top: 48px;
	padding-bottom: 48px;
	color: #fff;
}

.footer {
	flex-wrap: wrap;
}

.footer_left {
	min-width: 530px;
	width: auto;
}

.footer_logo_container {
	align-items: center;
}

.footer_logo_container span {
	color: #C9C9C9;
	font-weight: 300;
}

/* 404 */

.error404 .site {
	height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.error404 .site main {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.error404 section.error-404 {
	display: flex;
	gap: 12px;
	flex-direction: column;
	align-items: center;
}

.error404 h1 {
	font-size: 180px;
	font-weight: 600;
}

.error404 .site footer {
	/* position: fixed;
	bottom: 0;
	width: 100%; */
}


/* header  НОВЫЕ СТИЛЯ*/
header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	padding-top: 30px;
}

.header__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	border-radius: 24px;
	padding: 20px 32px;
	background-color: #00000040;
	backdrop-filter: blur(5px);
	-webkit-backdrop-filter: blur(5px);
	transition: all 0.3s ease;		
	position:relative;

}

.header__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: 24px;
}

.header_link {
	align-items: center;
}

.header_link a {
	color: white;
	font-size: 16px;
	font-weight: 300;
}

.header_link__social-icon {
	display: flex;
	width: 26px;
	height: 26px;
}

.mobile-menu {
	opacity:0;
	visibility:hidden;
	position:absolute;
}


/* footer новое */

.footer.footer--figma {
	background: #021119;
	color: #fff;
	margin-top: calc(-1 * var(--dark-radius));
	padding-top: calc(44px + var(--dark-radius));
	padding-top: 47px;
	padding-bottom: 43px;
}

.footer.footer--figma .footer__grid {
	display: grid;
	grid-template-columns: 496px 343px 150px;
	column-gap: 64px;
	row-gap: 18px;
}

.footer.footer--figma .footer__brand-top {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: 22px;
	flex-wrap: nowrap;
}

.footer.footer--figma .footer__brand-name {
	margin: 0;
	white-space: nowrap;
	font-size: var(--fs-footer-logo);
	font-weight: 600;
	color: var(--primary-color);
}

.footer.footer--figma .footer__brand-tag {
	margin: 0;
	white-space: nowrap;
	font-weight: 200;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: rgb(201, 201, 201);
}

/* contacts (one line) */

.container2 {
	max-width: 1208px;
	margin: 0 auto;
}

.footer.footer--figma .footer__contacts {
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: nowrap;
	white-space: nowrap;
	margin-bottom: 28px;
}

.footer.footer--figma .footer__contact {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 200;
	white-space: nowrap;
	font-size: var(--fs-footer-contact);
	color: #FFFFFF;
	text-decoration: none;
	transition: all 0.4s ease;
}

.footer.footer--figma .footer__contact:hover {
	color: var(--primary-color);
	transition: all 0.4s ease;
}

.footer__contact svg {
	width: 16px;
	height: 16px;
	display: block;
}

.footer.footer--figma .footer__contact:hover .icon-bg {
	fill: var(--primary-color);
	transition: all 0.4s ease;
}

.footer.footer--figma .footer__devbadge {
	display: flex;
	align-items: center;
	gap: 16px;
	border-radius: 20px;
	width: 100%;
}

.footer.footer--figma .footer__devtext {
	font-size: var(--fs-footer-badge);
	line-height: 1.3;
	font-size: 12px;
	letter-spacing: 2%;
	color: #FFFEFA;
	font-weight: 200;
}

.footer.footer--figma .footer__devlogo {
	height: 30px;
	width: auto;
	display: block;
}

.footer.footer--figma .footer__title {
	font-weight: 500;
	font-size: var(--fs-footer-title);
	line-height: 1.3;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 1);
	margin: 0 0 10px;
}

.footer.footer--figma .footer__title--mt {
	margin-top: 14px;
}

.footer.footer--figma .footer__link,
.footer.footer--figma .footer__addr {
	display: block;
	font-weight: 300;
	line-height: 1.3;
	letter-spacing: 0.02em;
	color: rgba(255, 255, 255, 0.8);
	margin: 0 0 10px;
	text-decoration: none;
	transition: all 0.4s ease;
}

.footer.footer--figma .footer__link:hover,
.footer.footer--figma .footer__contact:hover {
	color: var(--primary-color);
	transition: all 0.4s ease;
}

.footer__col.change_col {
	display: none;
}

.footer.footer--figma .footer__devbadge.mobile--figma {
	display: none;
}

.policy-content {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.policy-content h4 {
	margin: 20px 0;
}

.policy-content .ol {
	display: flex;
	flex-direction: column;
	gap: 10px;
}


.otf-form-notice--success {
position: fixed;
top: 100px;
left: 50%;
transform: translateX(-50%);
z-index: 9999;
padding: 16px 24px;
background: linear-gradient(135deg, #0C2825, #051A24) !important;
border-radius: 12px;
color: #fff !important;
font-size: 15px;
font-weight: 500;
box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.2);
animation: slideIn 0.3s ease;
display: flex;
align-items: center;
gap: 12px;
cursor: pointer;
width: max-content;
}

.otf-form-notice--success::before {
content: "";
background: #FFAA41;
width: 22px;
min-width: 22px;
height: 22px;
border-radius: 50%;
background-image: url("./assets/icons/check.svg");
background-size: 16px;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}

@keyframes slideIn {
	from {
		transform: translateX(100%);
		opacity: 0;
	}

	to {
		transform: translateX(0);
		opacity: 1;
	}
}

.modal-vacancy {
	display: none;
	background: #03213080;
	width: 100%;
	height: 100%;
	position: fixed;
	top: 0;
	bottom: 0;
	z-index: 1000;
	overflow-y: auto;
	padding-bottom: 100px;
}

.vacancy-card-modal {
	position: absolute;
	top: 150px;
	right: 50%;
	transform: translateX(50%);
	max-width: 540px;
	width: 100%;
	background: white;
}

.vacancy-modal-content h2 {
	font-weight: 400;
	font-weight: 400;
	font-size: 24px;
	line-height: 120%;
}

.modal-vacancy-img {
	width: 100%;
	height: 120px;
}

.modal-vacancy-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.vacancy-modal-content {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 24px 32px;
}

.vacancy-requirements {
	margin-top: 10px;
}

.vacancy-req-cards {
	display: flex;
	gap: 12px;
}

.vacancy-requirements .card {
	padding: 12px 16px;
	gap: 4px;
	width: max-content !important;
}

.requirement_card.card p {
	font-weight: 300;
	font-size: 14px;
	line-height: 140%;
	opacity: 7.6;
	color: #051A24;
}

.requirement_card.card h4 {
	font-weight: 400;
	font-size: 18px;
	line-height: 140%;
}

.vacancy-card-modal h3 {
	font-weight: 500;
	font-size: 18px;
	line-height: 140%;
	margin-bottom: 8px;
	color: #051A24;
}

.skills_ul li,
.tasks_ul li {
	font-weight: 300;
	font-size: 14px;
	line-height: 140%;
	color: #051A24;
	opacity: 0.8;
	list-style-type: disc;
}

.skills_ul,
.tasks_ul {
	padding-left: 20px;
	margin: 0;
}

@media(max-width:600px) {
	.vacancy-card-modal {
		max-width: 360px;
	}

	.vacancy-modal-content {
		padding: 16px 24px;
	}

	.requirement_card.card p {
		font-size: 12px;
	}

	.requirement_card.card h4 {
		font-size: 14px;
	}

	.vacancy-card-modal h3 {
		font-size: 16px;
	}
}

@media (max-width: 1100px) {
	.footer.footer--figma .footer__grid {
		grid-template-columns: 1fr 1fr;
		row-gap: 26px;
	}

	.footer.footer--figma .footer__brand {
		grid-column: 1 / -1;
	}

	.container2 {
		padding-left: 16px;
		padding-right: 16px;
	}
}

@media(max-width:767px) {
	
	.certificate_slide img{
		height: 350px;
	}
	
	.certificate_content {
		width: 100vw;
		position: relative;
		left: -16px;
	}
	
	.certificate_slide {
	max-width: 240px;
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
}
	
	.certificate_content .swiper-wrapper{
		padding-left: 16px !important;
	}

	/* main */

	html,
	body {
		overflow-x: hidden;
	}

	.title {
		font-size: 28px;
	}
	
	.expertise_container .title {
		font-size: 24px;
	}

	.subtitle {
		font-weight: 500;
		font-size: 16px;
	}

	.btm_pad {
		padding-bottom: 48px;
	}

	.btm_small_pad {
		padding-bottom: 48px;
	}

	.section_btm_radius {
		border-radius: 0;
	}

	/* header */
	header {
		padding: 16px 8px 0 8px;
	}

	.desktop-header,
	.header_link a[href^="tel:"] {
		display: none;
	}

	.burger-menu {
		display: block;
	}

	.header_link {
		gap: 15px;
	}

	.header__inner {
		padding: 0;
		border-radius: 16px;
		background: #131B1FB2;
	}

	.header_link__social.gap_10 {
		gap: 8px;
	}

	.header_link__social-icon {
		width: 20px;
		height: 20px;
	}

	.header__top {
		padding: 18px;
		z-index: 5;
	}

	.burger-menu.active>.header__top {
		background: #131B1FB2;
	}

	.mobile-menu {
width: 100%;
		position:absolute;
		top:80%;
/* max-height: 0; */
overflow: hidden;
transition: opacity 0.3s ease, 
                    visibility 0.3s;
opacity: 0;
visibility: hidden;
/* display: block; */
		border-radius: 0 0 16px 16px;}

	.mobile-menu.active {
		opacity: 1;
		visibility: visible;
transition: opacity 0.3s ease, 
                    visibility 0.3s;
	}
	header:has(.mobile-menu.active) .header__inner {
		background: #202C32;
	}

	header:has(.mobile-menu.active) .header__top {
		background: #131B1FB2;
		border-radius: 16px;
	}

	.mobile-menu .menu {
display: flex;
flex-direction: column;
width: 100%;
gap: 24px;
list-style: none;
padding: 16px;
margin: 0;
background: #202C32;
backdrop-filter: blur(7.5px);
-webkit-backdrop-filter: blur(7.5px);
	}
	.mobile-menu .menu li a {
		padding: 2px 8px;
		text-transform: uppercase;
		color: white;
		font-size: 16px;
		font-weight: 400;
		letter-spacing: 4%;
		width:100%;
		display:block;
	}
.mobile-menu .menu li.current-menu-item > a {
    color: var(--primary-color);
}

.mobile-menu .menu li:hover > a {
    color: var(--primary-color);
}


	/* banner */
	.banner {
		height: 70vh;
		padding-left: 0;
		padding-right: 0;
		padding-bottom: 40px;
	}

	.radius_banner {
		border-radius: 0;
	}

	.pages_banner {
		margin-bottom: 48px;
	}

	.banner h1 {
		font-size: 30px;
	}

	.banner p {
		font-size: 14px;
		max-width: 100%;
	}

	.experience_container {
		flex-direction: column;
	}

	.card.company_card h4 {
		font-size: 18px;
	}

	.utp_card h4 {
		max-width: 100%;
	}

	/* card */
	.card.company_card p {
		font-size: 14px;
	}

	.utp_card p {
		max-width: 280px;
	}

	/* Service */
	.main_services_content {
		grid-template-columns: 1fr;
	}

	.main_services_content>.main_services-card:nth-last-child(-n+2),
	.main_services_content .main_services-card {
		grid-column: span 1;
	}

	.main_services_container .title_header .btn {
		display: none;
	}

	.main_services-card h3 {
		max-width: 100%;
	}

	.main_services-card_content p {
		max-width: 242px;
	}

	.main_services-card .service-card_img {
		display: none;
	}

	.main_services_content>.main_services-card:nth-last-child(-n+2) h3 {
		max-width: 100%;
		font-size: 16px;
	}

	/* certificates */
	.certificate_button-prev,
	.certificate_button-next {
		display: none;
	}

	/* Page Services */

	.services-grid {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.service-card {
		grid-column: span 1 !important;
		padding: 24px 16px;
		height: fit-content;
		gap: 64px;
	}

	.service-card_header {
		z-index: 1;
	}

	.service-card_content {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.service-card_content .btn {
		width: 100%;
	}

	.service-card_info p {
		font-size: 14px;
	}

	.service-card_img,
	.service-card:last-child .service-card_img {
		width: 310px;
		height: 310px;
		top: 45%;
		right: -160px;
		object-fit: contain;
		left: auto;
	}

	.service-card:last-child {
		flex-direction: column;
	}

	.service-card:last-child .service-card_header {
		align-items: start;
		top: 24px;
		left: 35%;
		max-width: 70%;
	}

	.service-card:last-child .service-card_header h2 {
		text-align: left;
	}

	.service-card:last-child .service-card_content {
		width: 100%;
	}


	/* partners */
	.partners_content {
		max-width: 100%;
	}

	.partners_slide {
		height: 85px !important;
		padding: 20px 16px;
		margin-right: 10px;
	}

	/* single-services */

	.service_banner.banner {
		padding-bottom: 106px;
	}

	.service_banner_info {
		padding-top: 16px;
		padding-bottom: 48px;
	}

	.banner_description_card,
	.service-more_text {
		padding: 24px 16px;
	}

	.banner_description_card span {
		font-size: 14px;
	}

	.banner_description_card p {
		font-size: 16px;
	}

	.service-more-detail {
		margin-top: 48px;
	}

	.service-more_grid {
		grid-template-columns: 1fr;
		column-gap: 0;
	}

	.service-more_card {
		grid-column: span 1 !important;
	}

	.service-more_img {
		order: -1;
		height: 359px;
	}

	.service-more_utp {
		margin-top: -8px;
		flex-direction: column;
		gap: 8px;
	}

	.service-needed .service-more_text {
		gap: 18px;
	}

	.service-more_text h4 {
		font-size: 20px;
		max-width: 90%;
	}

	.service-needed .service-ul {
		margin-left: 22px;
	}

	.step_title span {
		font-size: 14px;
	}
.service-type_rating-price,
.service-estimation_subitem h5 {
font-size: 18px;
}


	/* expertise */
	.expertise_content.gap_16 {
		grid-template-columns: 1fr;
		grid-template-rows: 1fr 132px 1fr 1fr;
		column-gap: 0;
	}

	.expertise_card h3 {
		font-size: 16px;
		max-width: 190px;
	}

	.expertise_card .expertise_card_image {
		width: 200px;
		height: 200px;
		top: 40%;
		right: -40px;
	}

	.expertise_card.span-6 .expertise_card_image {
		width: 200px;
		height: 200px;
	}

	.expertise_card:nth-child(1) p:nth-child(1) {
		max-width: 190px;
	}

	/* form */
	.form_content {
		padding: 24px 16px 32px;
	}

	.form_content .otf-form {
		flex-direction: column;
	}

	.form_content .otf-form__grid {
		flex-direction: column;
		max-width: 100%;
	}

	.otf-form__submit {
		max-width: 100% !important;
		min-height: 42px !important;
		font-size: 14px;
	}

	.form_content .otf-form__field:has(#otf-privacy) {
		bottom: -90px;
	}

	.otf-form__choice {
		gap: 8px !important;
	}

	.form_title,
.form_title span {
font-size: 28px;
}

.form_img {
right: 0;
}
.otf-form__choice span {
font-size: 11px !important;
font-weight: 400;
line-height: 120%;
}
	.otf-form__grid{
width:100%;
}

	/* footer */
	.footer_logo_container {
		flex-direction: column;
		align-items: start;
	}

	/* experience */
	.experience_content {
		flex-direction: column;
	}

	.experience_card h4 {
		font-size: 24px !important;
	}

	.experience_card p {
		font-size: 12px !important;
	}

	.experience_card img {
		right: -130px;
	}

	/* team-content */
	.team_content.grid-3 {
		grid-template-columns: 1fr;
		grid-template-rows: 359px auto auto;
		width: 100%;
	}

	.team_image.span-2 {
		grid-column: span 1;
		order: -1;
	}

	/* job */
	.job_content {
		flex-direction: column;
	}

	.job_list-card {
		padding: 16px 16px 24px;
	}

	.job_list-card:nth-child(2) {
		order: -1;
	}

	.secondary-tag {
		padding: 4px 10px;
	}

	.job_card h4 {
		font-size: 24px !important;
		max-width: 170px;
	}

	.vacancy-card {
		padding: 8px 12px 10px;
	}

	.vacancy-card h5 {
		font-size: 12px;
	}

	.vacancy-card span {
		font-size: 10px;
	}

	.job_list-card .flex_column.gap_8 {
		margin-bottom: 18px;
	}

	.job_list-card .flex_row.gap_16 {
		gap: 8px;
	}

	.job_info-card {
		min-width: 100%;
		padding: 16px 10px 16px;
		flex-direction: column;
		gap: 37px;
	}

	.job_info-card img {
		width: 210px;
		height: 210px;
		right: -70px;
		top: calc(20% + 20px);
	}

	.job_info-card h3 {
		max-width: 60% !important;
	}

	.job_info-block {
		align-items: start;
		flex-direction: column;
	}

	.job_info-block .btn {
		order: 1;
		width: 100%;
	}

	.card.company_card h3 {
		font-size: 24px;
		max-width: 266px;
	}

	/* goal-content */
	.goal_content.grid-3 {
		display: flex;
		flex-direction: column;
	}

	.goal_info_card.span-2 {
		gap: 16px;
		justify-content: unset;
		height: 272px;
		padding: 24px 32px 24px 16px;
	}

	.goal_info_card img {
		bottom: 18px;
		right: 40px;
		min-width: 280px;
	}

	.goal_info_card.span-2 h4 {
		font-size: 18px;
	}

	.goal_card p {
		font-size: 14px;
	}

	.first_goal_image {
		order: -1;
	}

	.second_goal_image {
		order: -1;
		padding: 24px 16px;
	}

	.second_goal_image h4 {
		font-size: 18px;
	}

	.goal_card .company_logo {
		width: 80px;
		top: -30px;
	}

	/* service-step */
	.service-step_btns:has(> :nth-child(2)) {
		top: 180px;
		width: calc(100% - 20px);
		right: 10px;
	}

	.service-step_btns .btn {
		padding: 12px 18px;
	}

	/* contacts */
	.contacts__info {
		flex-direction: column;
		align-items: start;
		gap: 24px;
	}

	.contacts__bottom.gap_16 {
		grid-template-columns: 1fr;
		grid-template-rows: 359px auto;
		column-gap: 0;
	}

	.contacts__right {
		order: -1;
	}

	/* footer */
	.footer.footer--figma .footer__brand-top {
		flex-direction: column;
		align-items: start;
	}

	.footer.footer--figma .footer__brand-tag {
		font-size: 14px;
	}

	.footer.footer--figma .footer__grid {
		grid-template-columns: 1fr 1fr;
		grid-template-rows: repeat(4, auto);
		column-gap: 19px;
	}

	.footer__col {
		grid-column: span 2;
	}

	.bottom_footer_col {
		grid-column: 1;
		grid-row: 3;
	}

	.footer.footer--figma .footer__contact {
		font-size: 16px;
	}

	.footer.footer--figma .footer__contacts {
		flex-wrap: wrap;
		white-space: normal;
	}


	.footer.footer--figma .footer__devbadge.remove {
		display: none;
	}

	.footer.footer--figma .footer__devbadge.mobile--figma {
		display: flex;
		grid-column: span 2;
		max-width: 100% !important;
		gap: 24px;
	}

	.footer.footer--figma {
		padding-top: 32px;
		padding-bottom: 32px;
	}

	.footer.footer--figma .footer__link {
		font-size: 16px;
		margin: 0 0 15px;
	}

	.change_col_remove {
		display: none;
	}

	.footer__col.change_col {
		display: block;
	}
.policy-page .banner h1 {
font-size: 24px;
}
.policy-content h1 strong{
font-size: 24px;
}
}