/* Theme Name:Worthy - Free Powerful Theme by HtmlCoder
 A *uthor:HtmlCoder
 Author URI:http://www.htmlcoder.me
 Version:1.0.0
 Created:November 2014
 License:Creative Commons Attribution 3.0 License (https://creativecommons.org/licenses/by/3.0/)
 Indicate changes:mkuznetsoff
 File Description:Main CSS file of the template */

/* Typography
 -*---------------------------------------------------------------------------- */
@font-face {
  font-family: InterVariable;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/Inter/web/InterVariable.woff2") format("woff2");
}

body {
  font-family: InterVariable, sans-serif;
}
.site-name {
  font-family: InterVariable, sans-serif;
}

html {
  font-size: 16px; /* теперь 1rem = 16px */
}

html,
body {
  height: 100%;
}
body {
  font-size: 1rem;
  line-height: 1;
  color: #333333;
  background-color: #ffffff;
  position: relative;
}
h1,
h2,
h3,
h4,
h5,
h6,
 {
  color: #333333;
}
 p {
  font-size: 1.2rem;
  font-weight: 400;
}

h1 {
  font-size: 3rem; 
  font-weight: 700;
  margin-bottom: 1.75rem; /* 20px */
}
h2 {
  font-size: 2rem; /* 28px */
  font-weight: 700;
  margin-bottom: 0.9375rem; /* 15px */
}
h3 {
  font-size: 1.75rem; /* 22px */
}
h4 {
  font-size: 1.375rem; /* 18px */
  font-weight: 700;
}
h5 {
  font-size: 1rem; /* 16px */
  text-transform: uppercase;
  font-weight: 700;
}
h6 {
  font-weight: 700;
}

h1 span,
h2 span,
h3 span,
h4 span {
  color: #0066c5;
}
.text-colored {
  color: #0066c5;
}
a {
  color: #0066c5;
}
a:hover {
  color: #0066c5;
}
a:focus,
a:active {
  outline: none;
}
.large {
  font-size: 1.125rem; /* 18px */
}
img {
  display: block;
  max-height: 3.75rem; /* 60px */
  height: auto;
}

.list-unstyled li {
  padding: 0.3125rem 0; /* 5px */
}

.list-horizontal {
  padding: 0.9375rem 0; /* 15px */
}

.list-horizontal-item img {
  display: block;
  margin: 0 auto;
}

.list-icons {
  padding: 0;
  margin: 1.25rem 0; /* 20px */
  list-style: none;
  font-size: 1.125rem; /* 18px */
}

.list-icons li {
  padding: 0 0 0.9375rem 0; /* 15px */
}
blockquote {
  border-left: none;
  padding-left: 0;
  padding-right: 0;
}
.title {
  margin-top: 0;
}

/* Layout
 -*---------------------------------------------------------------------------- */
.header {
  color: #0d1e42;
  background-color: rgba(255, 255, 255, 1);
  padding: 10px 0;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.banner {
  width: 100%;
  height: 100%;
  min-height: 100%;
  position: relative;
  color: #fff;
 background-color: #142745; /* Устанавливаем сплошной цвет фона */
  background-image: url("../images/bg.svg"); /* Добавляем ваше SVG изображение */
  background-size: cover; /* Масштабируем изображение, чтобы оно покрывало весь баннер */
  background-position: center center; /* Центрируем изображение */
  background-repeat: no-repeat; /* Запрещаем повторение изображения */
}
.banner-image {
  /* vertical-align: middle; */
  min-height: 100%;
  width: 100%;
  /* filter: blur(5px); */
}
/* .banner:after { */
/*   position: absolute; */
/*   top: 0; */
/*   left: 0; */
/*   right: 0; */
/*   bottom: 0; */
/*   background-color: #142745; */
/*   content: ""; */
/* } */
.banner-caption {
  position: absolute;
  top: 20%; /* Отступ сверху для центрирования */
  left: 0;
  right: 0;
  width: 100%;
  height: 80%;
  z-index: 2;
  display: flex; /* Добавляем Flexbox для выравнивания */
  align-items: center; /* Выравниваем содержимое по центру по вертикали */
}
.subfooter {
  background-color: #fafafa;
  border-top: 1px solid #f3f3f3;
  border-bottom: 1px solid #f3f3f3;
  padding: 40px 0;
}
.footer{
  background-color: #fff;
  padding: 40px 0;
  margin 0
}
/* Центрирование списка контактов в футере */
.footer .list-icons {
  display: inline-block;
  text-align: left;
}
.section {
  /* padding: 80px 0; */
}

/* Backgrounds
 -*---------------------------------------------------------------------------- */
.default-bg {
  background-color: #222222;
  color: #ffffff;
}
.default-bg.blue {
  background-color: #55acee;
}
.translucent-bg {
  color: #ffffff;
}
.default-bg h1,
.default-bg h2,
.default-bg h3,
.default-bg h4,
.default-bg h5,
.default-bg h6,
.translucent-bg h1,
.translucent-bg h2,
.translucent-bg h3,
.translucent-bg h4,
.translucent-bg h5,
.translucent-bg h6 {
  color: #ffffff;
}
.default-bg blockquote footer,
.translucent-bg blockquote footer {
  color: #cccccc;
}
.default-bg a,
.translucent-bg a {
  color: #ffffff;
  text-decoration: underline;
}
.default-bg a:hover,
.translucent-bg a:hover {
  text-decoration: none;
}
.translucent-bg {
  -webkit-background-size: cover !important;
  -moz-background-size: cover !important;
  -o-background-size: cover !important;
  background-size: cover !important;
  background-position: 50% 0;
  background-repeat: no-repeat;
  z-index: 1;
  position: relative;
}
.translucent-bg .translucent-bg {
  margin-top: 80px;
  z-index: 3;
}
.translucent-bg:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}
.translucent-bg.blue:after {
  background-color: rgba(85, 172, 238, 0.7);
}
.translucent-bg .container {
  z-index: 3;
  position: relative;
}
.bg-image-1 {
  background: url("../images/bg-image-1.html") no-repeat center center;
  background-size: cover;
}
.bg-image-2 {
  background: url("../images/bg-image-2.html") 50% 0px no-repeat;
}

/* Misc
 -*---------------------------------------------------------------------------- */
.object-non-visible {
  opacity: 0;
  filter: alpha(opacity=0);
}
.object-visible,
.touch .object-non-visible {
  opacity: 1 !important;
  filter: alpha(opacity=100) !important;
}

/* Targeting only Firefox for smoothest animations */
@-moz-document url-prefix() {
  .object-visible,
  .touch .object-non-visible {
	-webkit-transition: opacity 0.6s ease-in-out;
	-moz-transition: opacity 0.6s ease-in-out;
	-o-transition: opacity 0.6s ease-in-out;
	-ms-transition: opacity 0.6s ease-in-out;
	transition: opacity 0.6s ease-in-out;
  }
}
.space {
  padding: 30px 0;
}
.pr-10 {
  padding-right: 10px;
}
.pl-10 {
  padding-left: 10px;
}
.pb-clear {
  padding-bottom: 0;
}

/* Sections
 -*---------------------------------------------------------------------------- */
.banner-caption h1,
.banner-caption h2,
.banner-caption h3,
.banner-caption h4,
.banner-caption h5,
.banner-caption h6 {
  color: #ffffff;
}
.banner-caption h1 {
  font-size: 5rem;
  font-weight: 500;
}
.banner-caption p {
  /* font-size: 1.7rem; */
  font-weight: 350;
  line-height: 1.2;

}
.subfooter p {
  margin-bottom: 0;
}

/* Template Components
 -*---------------------------------------------------------------------------- */
.btn {
  padding: 8px 15px;
  font-size: 1rem;
  line-height: 1.42857143;
  min-width: 160px;
  text-align: center;
  border-radius: 0;
  text-transform: uppercase;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  border-radius: 5px;
}
.btn-default {
  color: #0066c5;
  border: 1px solid #cccccc;
}
.btn-default:hover {
  color: #ffffff;
  background-color: #0066c5;
  border-color: #0066c5;
}

/* Collapse
 -*--------------------------------- */
.panel-group .panel {
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  border: none;
}
.panel-default > .panel-heading {
  padding: 0;
  outline: none;
  border: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
  width: 100%;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border: 1px solid #f0f0f0;
  border-top: none;
  background-color: #fafafa
}
.panel-heading a {
  font-weight: 400;
  padding: 12px 35px 12px 15px;
  display: inline-block;
  width: 100%;
  background-color: #55acee;
  color: #ffffff;
  position: relative;
  text-decoration: none;
}
.panel-heading a.collapsed {
  color: #ffffff;
  background-color: #333333;
}
.panel-heading a:after {
  font-family: "FontAwesome";
  content: "\f147";
  position: absolute;
  right: 15px;
  font-size: 14px;
  font-weight: 300;
  top: 50%;
  line-height: 1;
  margin-top: -7px;
}
.panel-heading a.collapsed:after {
  content: "\f196";
}
.panel-heading a:hover {
  text-decoration: none;absolute
  background-color: #55acee;
  color: #ffffff;
}
.panel-title a i {
  padding-right: 10px;
  font-size: 20px;
}

/* Pills
 -*--------------------------------- */
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus,
.nav-pills > li > a:hover {
  background-color: #55acee;
  border-color: #55acee;
  color: #ffffff;
}
.nav-pills > li > a {
  border-radius: 0;
  padding: 8px 20px;
  border: 1px solid #cacaca;
  color: #666666;
  font-size: 12px;
  text-transform: uppercase;
  font-weight: 300;
}

/* Forms
 -*--------------------------------- */
.form-control {
  height: 45px;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 5px;
}
.form-control-feedback {
  color: #cccccc;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 15px;
}
textarea {
  resize: vertical;
}

/* Modals
 -*--------------------------------- */
.modal-content {
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
}
.modal-header {
  background-color: #55acee;
  color: #ffffff;
}
.modal-header h4 {
  color: #ffffff;
}
.modal-header .close {
  font-weight: 300;
  color: #FFFFFF;
  text-shadow: none;
  filter: alpha(opacity=100);
  opacity: 1;
}

/* Large devices (Large desktops 1200px and up) */
@media (min-width:1200px) {
  .modal-lg {
	width: 1140px;
  }
}

/* Media
 -*--------------------------------- */
.media .fa {
  font-size: 24px;
  width: 40px;
  height: 25px;
  line-height: 25px;
  padding: 0 5px;
  text-align: center;
}

/* Navigations
 -*---------------------------------------------------------------------------- */
.header .navbar {
  margin-bottom: 0;
}
.main-navigation .navbar-default {
  background-color: transparent;
  border: none;
}
.main-navigation .navbar-default .navbar-nav > li > a {
  color: #0d1e42;
  padding: 10px 20px;
  font-size: 1rem;
  font-weight: 500;
}
.main-navigation .navbar-default .navbar-nav > li.active > a {
  background-color: transparent;
  color: #55acee;
}
.main-navigation .navbar-default .navbar-nav > li > a:hover,
.main-navigation .navbar-default .navbar-nav > li.active > a:hover {
  color: #55acee;
}
@media (min-width:768px) {
  .main-navigation .navbar-default .navbar-nav > li > a {
	padding-top: 30px;
	padding-bottom: 30px;
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	-ms-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
  }
  html {
	font-size: 14px; /* уменьшит все rem-пропорционально */
  }

}
@media (min-width:768px) and (max-width:991px) {
  .main-navigation .container-fluid {
	padding-left: 0;
	padding-right: 0;
  }
  .navbar-nav {
	float: left !important;
  }
  html {
	font-size: 14px; /* уменьшит все rem-пропорционально */
  }

  .banner-caption {
	top: 35%;
  }


}
@media (max-width:767px) {
  
  /* .header.navbar-fixed-top { */
	/* position: fixed; */
	/* top: 0; */
	/* left: 0; */
	/* width: 100%; */
	/* z-index: 1000; */
	/* transition: top 0.3s ease-in-out; */
  /* } */

/* Исправляем макет шапки для всех устройств */
.header .row {
  display: flex; /* Используем Flexbox */
  align-items: center; /* Выравниваем элементы по центру вертикали */
  justify-content: space-between; /* Распределяем пространство между элементами */
  width: 100%;
  margin: 0;
}

  .logo {
	margin: 5px 8px 5px 0;
	flex-shrink: 0;
  }

  .logo img {
	max-height: 40px;
  display: block;
  }



  /* ИСПРАВЛЕНИЕ ПОЗИЦИОНИРОВАНИЯ ВЫПАДАЮЩЕГО МЕНЮ */
  .main-navigation {
	position: relative;
  }

  html {
	font-size: 14px; /* уменьшит все rem-пропорционально */
  }
  .banner-caption {
	top: 25%;
  }
  .banner-caption h1 {
	font-size: 3rem;
  }

}

/* Fixed Header
 -*---------------------------------------------------------------------------- */
.fixed-header-on .header {
  background-color: rgba(255, 255, 255, 1);
  padding: 5px 0;
}
.fixed-header-on .site-name {
  font-size: 20px;
}
.fixed-header-on .logo {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  margin-top: 0;
  margin-bottom: 0;
}
@media (min-width:768px) {
  .fixed-header-on .navbar-default .navbar-nav > li > a {
	padding-top: 20px;
	padding-bottom: 20px;
  }
}
@media (max-width:991px) {
  .fixed-header-on .logo,
  .fixed-header-on .site-name,
  .fixed-header-on .site-slogan {
	display: none;
  }
  html {
	font-size: 14px; /* уменьшит все rem-пропорционально */
  }
  .banner-caption {
	top: 25%;
  }
  .banner-caption h1 {
	font-size: 3rem;
  }

}

/* Blocks/Widgets
 -*---------------------------------------------------------------------------- */
/* Logo, Site Name, Site Slogan
 -*--------------------------------- */
.logo {
  margin: 10px 10px 10px 0;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.logo,
.logo-and-title {
  display: flex;
  align-items: center; /* выравнивание по вертикали */
  /* gap: 10px; /1* расстояние между логотипом и текстом *1/ */
  flex-wrap: nowrap; /* не переносить на новую строку */
}
.site-name-and-slogan {
  display: flex;
  flex-direction: column;
  white-space: nowrap; /* запрет на перенос строк */
}
.site-name {
  font-size: 1.5rem;
  font-weight: 400;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}
.site-name a {
  color: #0d1e42;
  font-weight: 600;
}
.site-name a:hover {
  text-decoration: none;
}
/* .site-slogan { */
/*   font-size: 0.85rem; */
/* } */

.short-name,
.short-slogan {
	display: none;
}

/* Testimonials
 -*--------------------------------- */
.testimonial .media-left {
  width: 60px;
}

/* Social Links
 -*--------------------------------- */
.social-links {
  padding: 0;
  list-style: none;
  margin: 15px 0;
}
.social-links li {
  margin: 10px 25px 10px 0;
  display: inline-block;
  font-size: 36px;
}
.social-links li a {
  color: #333333;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
.social-links li.twitter a:hover {
  color: #55acee;
}
.social-links li.skype a:hover {
  color: #00aff0;
}
.social-links li.linkedin a:hover {
  color: #0976b4;
}
.social-links li.googleplus a:hover {
  color: #dd4b39;
}
.social-links li.youtube a:hover {
  color: #b31217;
}
.social-links li.flickr a:hover {
  color: #ff0084;
}
.social-links li.facebook a:hover {
  color: #3b5998;
}
.social-links li.pinterest a:hover {
  color: #cb2027;
}

/* Isotope Items
 -*--------------------------------- */
.filters {
  margin: 0 0 30px 0;
}
.filters .nav-pills > li {
  margin-right: 2px;
  margin-bottom: 2px;
}
.filters .nav-pills > li + li {
  margin-left: 0px;
}
.text-center.filters .nav-pills > li {
  margin-right: 2px;
  margin-left: 2px;
  margin-bottom: 2px;
  display: inline-block;
  float: none;
}
.isotope-container {
  overflow: hidden;
}
.isotope-item {
  margin-bottom: 20px;
}
.isotope-item .btn-default {
  color: #999999;
}
.isotope-item .btn-default:hover {
  color: #ffffff;
}
@media (max-width:480px) {
  .filters .nav-pills > li {
	width: 100%;
	display: block;
  }
}

/* Images Overlay
 -*---------------------------------------------------------------------------- */
.overlay-container {
  position: relative;
  display: block;
  overflow: hidden;
}
.overlay {
  position: absolute;
  top: 0;
  bottom: -1px;
  left: 0;
  right: -1px;
  background-color: rgba(85, 172, 238, 0.9);
  cursor: pointer;
  overflow: hidden;
  opacity: 0;
  filter: alpha(opacity=0);
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
  -webkit-transition: all linear 0.2s;
  -moz-transition: all linear 0.2s;
  -ms-transition: all linear 0.2s;
  -o-transition: all linear 0.2s;
  transition: all linear 0.2s;
}
.overlay:hover {
  text-decoration: none;
}
.overlay span {
  position: absolute;
  display: block;
  bottom: 10px;
  text-align: center;
  width: 100%;
  color: #ffffff;
  font-size: 13px;
  font-weight: 300;
}
.overlay i {
  position: absolute;
  left: 50%;
  top: 50%;
  font-size: 18px;
  line-height: 1x;
  color: #ffffff;
  margin-top: -8px;
  margin-left: -8px;
  text-align: center;
}
.overlay-container:hover .overlay {
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transform: scale(1);
  transform: scale(1);
}
.value-card {
  transition: all 0.3s ease-in-out;
}
.value-card p {
  margin: 0 auto; /* Центрирование блока с текстом */
  font-size: 1.2rem;
  font-weight: 400;
}

.value-card:hover {
  transform: translateY(-5px);
  /* box-shadow: 0 0.5rem 1rem rgba(0,0,0,0.1); */
}

.icon-wrapper {
  width: 65px;
  height: 65px;
  margin: 0 auto;
  border-radius: 50%;
  /* background-color: #f0f4f8; */
  display: flex;
  align-items: center;
  justify-content: center;
}
.values-container {

  display: flex; /* Включаем Flexbox */
  flex-wrap: wrap; /* Разрешаем элементам переноситься на новую строку */
  justify-content: center; /* <<< Это самое главное! Центрирует элементы в каждой строке */
  gap: 30px; /* Расстояние между карточками */
}

.values-container .value-card {
  flex-basis: 300px; /* Задаем базовую ширину для каждой карточки */
  flex-grow: 0; /* Запрещаем карточкам растягиваться, чтобы не ломать сетку */
}
/* Добавьте этот CSS в ваш файл стилей */

.about-section {
  background-color: #fff;
  padding-top: 100px;
}

.container {
  max-width: 1140px; /* Стандартная ширина контейнера */
  margin: 0 auto; /* Центрирование контейнера */
  padding: 0 15px; /* Небольшие отступы по бокам */
}

.about-section .title {
  margin-bottom: 25px; /* Отступ под заголовком */
}

.about-section .about-text {
  max-width: 800px; /* Ограничение ширины текста для читаемости */
  margin: 0 auto; /* Центрирование блока с текстом */
}
.about-text p {
  margin: 32px 0;
  font-size: 1.3rem;
  line-height: 1.5;
  font-weight: 400;
}

.about-text h3 {
  margin: 32px 0;
  font-size: 1.5rem;
  line-height: 1.5;
  font-weight: 500;
}

/* Section: Features
----------------------------------------------------------------------------- */
#features {

  color: #ffffff;
  padding: 60px 0; /* Added padding for better spacing */
}

#features .title,
#features h4 {
  color: #ffffff; /* White color for titles on a dark background */
}

/* We don't use h5 in the provided HTML, but I'll leave the style */
#features h5 {
  color: #ffffff; 
  font-weight: 300;
}

#features p {
color: #333333; /* Темно-серый цвет для хорошей читаемости */
}

/* Styles for the button in the new section */
 .btn-default {
    background-color: #e63946; /* Red button color */
    color: #fff; /* White text */
    border: none;
    margin-top: 20px;
}

 .btn-default:hover {
    background-color: #d62839; /* Darker red on hover */
    color: #ffffff;
}

/* Grid for the tiles */
.features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr); /* 3 columns */
  grid-template-rows: repeat(2, auto);    /* 2 rows */
  gap: 20px; /* Increased the gap for better visual separation */
  padding-left: 20px;
}

/* Styles for each tile */
.feature-card {
  /* 2. Made the tile background solid white */
  background-color: #ffffff; 
  /* Removed the border for a cleaner look */
  border: none;
  padding: 25px 20px;
  border-radius: 8px;
  transition: all 0.3s ease-in-out;
}

.feature-card:hover {
  transform: translateY(-5px); /* Slight lift on hover */
  /* 4. Added a subtle shadow on hover for a modern effect */
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2); 
}

.feature-card h3 {
  font-weight: 700;
  margin-bottom: 10px;
  /* 3. Changed the header text color to black */
  color: #142745;
}

/* We need to create a style for the paragraphs inside the cards */
.feature-card p {
    /* 3. Changed the paragraph text color to black */
    color: #333333; /* A slightly softer black for the text */
}


/* Style for a highlighted tile (not used in HTML, but good to have) */
.feature-card.highlighted {
  background-color: #f0f0f0; /* Light gray background for highlighted */
  border: 1px solid #cccccc;
}

/* Responsiveness for mobile devices */
@media (max-width: 991px) {
  .features-grid {
    grid-template-columns: repeat(2, 1fr); /* 2 columns on tablets */
    padding-left: 0;
    margin-top: 30px;
  }
}

@media (max-width: 767px) {
  .features-grid {
    grid-template-columns: 1fr; /* 1 column on mobile */
  }
}
/* Sections
 -*---------------------------------------------------------------------------- */
.banner-caption h1,
.banner-caption h2,
.banner-caption h3,
.banner-caption h4,
.banner-caption h5,
.banner-caption h6 {
  color: #ffffff;
}

.banner-caption h1 {
  font-size: 4rem;
  font-weight: 700;
}
.banner-caption p {
  font-size: 1.5rem;
  font-weight: 350;
  line-height: 1.2;

}

/* Добавляем новый класс для красного текста */
.banner-caption .fx-business {
  color: #e63946;
}
/* Custom Styles for Banner Image */
.image-right-section {
  display: block;
  justify-content: flex-end; /* Перемещает содержимое вправо */
  align-items: center; /* Центрирует по вертикали */
  height: 350px;

}

@media (max-width: 991px) {
.image-right-section {
  height: 200px;

}
}

.image-right-section img {
  max-width: 100%; /* Убедимся, что изображение не выходит за границы контейнера */
  min-height: 100%;
  min-width: 0;
}

/* Стили для карточек "Решения для вашего бизнеса" */
.solutions-container {
  display: flex; 
  flex-wrap: wrap; 
  justify-content: center;
  gap: 30px; 
}

.solution-card {
  display: flex;
  align-items: flex-start; /* Выравниваем элементы по верхнему краю */
  gap: 15px; /* Добавляем расстояние между иконкой и текстом */
  width: calc(50% - 15px); /* Задаём ширину, чтобы в одном ряду было 2 карточки */
}

/* Убеждаемся, что все контейнеры для иконок имеют одинаковый размер */
.solution-card .icon-wrapper {
    flex-shrink: 0; 
    width: 90px !important; 
    height: 90px !important; 
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Иконка будет занимать всю доступную площадь своего контейнера */
.solution-card .icon-wrapper img {
    width: 70%; 
    height: 70%;
    object-fit: contain;
}

/* Это новый класс для текста, который мы добавили в HTML */
.solution-content {
    flex-grow: 1; /* Текст будет занимать всё оставшееся пространство */
}

/* Медиа-запросы для адаптивности */
@media (max-width: 991px) {
    .solution-card {
        width: 100%; /* На маленьких экранах карточки будут занимать всю ширину */
        justify-content: center; /* Центрируем содержимое */
    }

    .solution-content {
        text-align: center; /* Центрируем текст на маленьких экранах */
    }
}
/* Стили для новой секции "Продукты" */
#products {
  background-color: #142745; 
  padding: 60px 0; /* Added padding for better spacing */

}

#products h1 {
  color: #fff;
}
.products-section {
    padding: 60px 0;
}

.products-container {
    margin-top: 40px;
    justify-content: center;
}

.product-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 20px;
    background-color: #fff;
    margin-bottom: 20px;
    height: 100%;
}


.product-card img {
    width: 60px;
    height: 60px;
    margin-bottom: 15px;
}

.product-item {
  padding: 20px;
  margin-bottom: 30px;
  position: relative;
  border-left: 3px solid #e63946; /* Red accent line */
  height: 100%;
}
.product-card:hover {
  transform: translateY(-5px); /* Небольшой подъем при наведении */
  box-shadow: 0 8px 15px rgba(0,0,0,0.1); /* Более заметная тень при наведении */
}

.product-item-title h3 {
  color: #ffffff;
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 15px;
}

.product-item-description p {
  color: #c5cde0; /* Light grey text for description */
}

/* Button styling adjustment for this section */
.default-bg .btn-default {
    background-color: #e63946; /* Red button color */
    color: #fff; /* White text */
    border: none;
    margin-top: 20px;
}

.default-bg .btn-default:hover {
    background-color: #d62839; /* Darker red on hover */
    color: #ffffff;
}

/* Responsive adjustments */
@media (max-width: 991px) {
  .product-item {
    margin-bottom: 20px;
  }
}

/* Стили для секции "Особенности системы"
----------------------------------------------------------------------------- */
.system-traits-layout {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* Две колонки на больших экранах */
  gap: 30px; /* Расстояние между карточками */
  margin-top: 20px;
}

.system-trait-box {
  background-color: #ffffff;
  padding: 25px;
  border: 1px solid #f0f0f0; /* Очень светлая рамка для выделения */
  border-left: 3px solid #e63946; /* Акцентная красная линия слева, как в вашем дизайне */
  transition: all 0.3s ease-in-out;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05); /* Легкая тень */
}

.system-trait-box:hover {
  transform: translateY(-5px); /* Небольшой подъем при наведении */
  box-shadow: 0 8px 15px rgba(0,0,0,0.1); /* Более заметная тень при наведении */
}

.system-trait-box h4 {
  color: #142745; /* Темно-синий цвет из вашего дизайна */
  margin-top: 0;
  margin-bottom: 10px;
}

.system-trait-box p {
  color: #333333;
  margin-bottom: 0;
}

/* Адаптивность для мобильных устройств */
@media (max-width: 767px) {
  .system-traits-layout {
    grid-template-columns: 1fr; /* Одна колонка на мобильных */
  }
}

.integration-section {
  background-color: #142745;
  color: #fff;
  padding: 80px 0;
}

.integration-section .title {
  margin-bottom: 20px;
}

.integration-list {
  list-style: none;
  padding: 0;
  margin: 20px auto 40px;
  max-width: 800px;
  text-align: center;
}
.integration-list p {
  margin: 10px 0;
  display: inline-block; /* чтобы каждый пункт занимал только свою ширину */
  text-align: left;      /* а внутри пункта текст шел слева */
}
.integration-list p::before {
  content: "—";
  position: static;
  margin-right: 8px;
  left: 0;
  color: #ff4d4d;
}

.integration-card {
  background: #fff;
  color: #000;
  padding: 40px;
  border-radius: 10px;
  box-shadow: 0 5px 20px rgba(0,0,0,0.2);
  margin: 0 auto 40px;
  max-width: 700px;
  text-align: left;
  display: flex;        /* включаем флекс */
  align-items: flex-start;
  gap: 40px;            /* расстояние между иконкой и текстом */
}
.integration-card h3 {
  margin-top: 15px;
  margin-bottom: 15px;
}
.integration-card ul {
  list-style: none;     /* убираем стандартные точки */
  padding: 0;
  margin: 15px 0 0;
}
.integration-card li{
  padding-left: 20px;   /* чтобы текст не налезал на тире */
  margin: 8px 0;
  position: relative;
}
.integration-card li::before {
  content: "—";         /* ставим красное тире */
  color: #ff4d4d;
  position: absolute;
  left: 0;
}

.integration-icon {
  display: inline-block;
  vertical-align: middle;
  width: 91px;
  height: 106px;
  max-height: none;

}

.integration-btn {
  padding: 15px 25px;
  font-size: 1.1rem;
  border-radius: 30px;
}
/* Стили для номера телефона в шапке */
.header-contact {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 1rem;
    font-weight: 500;
    color: #0d1e42;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 20px;
    transition: all 0.3s ease-in-out;
}

.header-contact .fa {
    font-size: 1.2rem;
    color: #e63946;
}

/* Адаптивность для фиксированного хедера */
.fixed-header-on .header-contact {
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 1rem;
}

.fixed-header-on .header-contact .fa {
    font-size: 1.25rem;
}

/* Изменения в навигации для десктопов, чтобы всё выровнять в ряд */
@media (min-width: 768px) {
/* Настраиваем Flexbox для правого блока в шапке */
.header-right {
  display: flex; /* Используем Flexbox */
  align-items: center; /* Выравниваем элементы по центру вертикали */
  justify-content: flex-end; /* Выравниваем содержимое по правому краю */
  gap: 20px; /* Добавляем расстояние между номером телефона и меню */
}
}


/* Новые стили для выпадающего меню с анимацией */
.dropdown-menu {
    display: block;
    background-color: #fff;
    border-radius: 4px;
    box-shadow: 0 6px 12px rgba(0,0,0,0.25);
    border: none;
    padding: 10px 0;
    
    /* Новые стили для центрирования */
    /* left: 50%; */
    transform-origin: top center; /* Точка трансформации - верхний центр */

    /* Обновленная анимация раскрытия */
    opacity: 0;
    visibility: hidden;
    /* Сдвигаем влево на 50% своей ширины (для центрирования) и сжимаем по вертикали */
    transform: translateX(-50%) scaleY(0.9); 
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
    pointer-events: none;
}

.navbar-right .dropdown-menu {
  right: auto;
  left: 50%;
}

/* Показываем меню, когда оно открыто */
.open > .dropdown-menu {
    opacity: 1; /* Делаем видимым */
    visibility: visible;
    transform: translateX(-50%) scaleY(1); 
    pointer-events: auto;
}

/* Стили для ссылок внутри меню */
.dropdown-menu > li > a {
    color: #142745 !important; /* Светло-серый текст */
    padding: 10px 35px;
    text-align: left;
    font-weight: 400;
    font-size: 1rem;
    transition: all 0.2s ease; /* Плавный переход для наведения */
}

/* Стиль для ссылки при наведении курсора */
.dropdown-menu > li > a:hover {
    background-color: #ecf3fd; /* Чуть более светлый синий */
    color: #a0a7b1 !important;
}

/* Подсветка основной кнопки, когда меню открыто */
.nav > li.open > a,
.nav > li.open > a:hover,
.nav > li.open > a:focus {
    background-color: #f0f0f0; /* Светло-серый фон */
    /* color: #0066c5; /1* Синий текст *1/ */
    border-radius: 4px;
}

.navbar-default .navbar-nav > .open > a, .navbar-default .navbar-nav > .open > a:hover, .navbar-default .navbar-nav > .open > a:focus {
  background-color: #fff;
}

/* Стили для секции "Среди наших клиентов"
----------------------------------------------------------------------------- */
#clients .title {
  margin-bottom: 80px; /* Отступ под заголовком */
}
.clients-grid {
  display: flex;
  flex-wrap: wrap; /* Позволяет элементам переноситься на новую строку */
  justify-content: center; /* Центрирует логотипы по горизонтали */
  gap: 20px; /* Расстояние между карточками */
  margin-top: 20px;
}

.client-logo-card {
  background-color: #ffffff; /* Белый фон карточки */
  padding: 25px; /* Внутренние отступы */
  border-radius: 12px; /* Скругление углов */
  box-shadow: 0 5px 20px rgba(0, 0, 0, 0.07); /* Мягкая тень */
  display: flex;
  align-items: center; /* Выравнивание лого по центру вертикально */
  justify-content: center; /* Выравнивание лого по центру горизонтально */
  flex-basis: calc(25% - 20px); /* Базовая ширина для 4 колонок (с учетом gap) */
  min-width: 200px; /* Минимальная ширина, чтобы карточки не сжимались слишком сильно */
  height: 120px; /* Фиксированная высота для всех карточек */
  transition: transform 0.3s ease, box-shadow 0.3s ease; /* Плавная анимация */
}

.client-logo-card:hover {
  transform: translateY(-5px); /* Легкий подъем при наведении */
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1); /* Тень становится чуть заметнее */
}

.client-logo-card img {
  max-width: 100%; /* Логотип не будет выходить за пределы карточки */
  max-height: 60px; /* Ограничиваем максимальную высоту логотипа */
  height: auto; /* Сохраняем пропорции */
}

/* Адаптивность для планшетов */
@media (max-width: 991px) {
  .client-logo-card {
    flex-basis: calc(33.33% - 20px); /* 3 колонки */
  }
}

/* Адаптивность для мобильных устройств */
@media (max-width: 767px) {
  .client-logo-card {
    flex-basis: calc(50% - 20px); /* 2 колонки */
  }
}

.provision-layout {
  display: grid;
  grid-template-columns: repeat(1, 1fr); /* Две колонки на больших экранах */
  gap: 30px; /* Расстояние между карточками */
  margin-top: 20px;
  max-width: 750px;
  margin: 0 auto;
}

.provision-box {
  align-items: center;
  background-color: #ffffff;
  padding: 30px 45px;
  margin-bottom: 24px;
  border-radius: 4px;
  border: 1px solid #f0f0f0; /* Очень светлая рамка для выделения */
  border-left: 3px solid #e63946; /* Акцентная красная линия слева, как в вашем дизайне */
  transition: all 0.3s ease-in-out;
  box-shadow: 0 2px 5px rgba(0,0,0,0.05); /* Легкая тень */
}

.provision-box:hover {
  transform: translateY(-5px); /* Небольшой подъем при наведении */
  box-shadow: 0 8px 15px rgba(0,0,0,0.1); /* Более заметная тень при наведении */
}

.provision-box h4 {
  color: #142745; /* Темно-синий цвет из вашего дизайна */
  margin-top: 0;
  margin-bottom: 10px;
}

.provision-box p {
  color: #333333;
  margin-bottom: 0;
}

/* Стили для секции "Наша система"
-------------------------------------------------- */
#about-system .system-image-container {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding-top: 100px;
}

#about-system .system-image-container img {
  max-width: 100%;
  max-height: none; /* Убираем ограничение по высоте */
  height: auto;
}

#about-system .system-description,
#about-system .integration-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  padding-top: 100px;

}

#about-system .system-description p {
  line-height: 1.6;
}

#about-system .integration-text h3 {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.5;
}

.integrations-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* 2 колонки */
  grid-template-rows: repeat(2, auto);    /* 2 строки */
  gap: 20px; /* Расстояние между блоками */
}

.integrations-card {
  background-color: #ffffff;
  padding: 30px 25px;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  border-left: 3px solid #e63946; /* Красная линия слева */
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  height: 100%; /* Чтобы карточки были одинаковой высоты */
  display: flex;
  align-items: center;
}

.integrations-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.1);
}

.integrations-card p {
  margin-bottom: 0;
  font-size: 1.1rem;
}

/* Адаптивность для мобильных устройств */
@media (max-width: 991px) {
  .integrations-grid {
    margin-top: 30px;
  }
}

@media (max-width: 767px) {
  .integrations-grid {
    grid-template-columns: 1fr; /* 1 колонка на маленьких экранах */
  }
  #about-system .system-description,
  #about-system .integrations-text {
    text-align: center;
  }
  #about-system .title {
      margin-top: 30px;
  }
}

/* Стили для секции "Основные компоненты системы"
-------------------------------------------------- */
#system-components .components-main-title {
    color: #ffffff;
    font-size: 3.5rem;
    line-height: 1.2;
    font-weight: 700;
    text-align: left;
}

.component-item {
    position: relative;
    padding-left: 20px; /* Отступ для текста от номера */
    padding-top: 80px;  /* Отступ сверху для текста */
    margin-bottom: 50px;
}

/* Стили для большого номера на фоне */
.component-item .component-number {
    position: absolute;
    top: 0;
    /* left: 0; */
    font-size: 3.5rem;
    font-weight: 300;
    color: rgba(255, 255, 255,1); /* Полупрозрачный цвет */
    z-index: 1; /* Размещаем номер под текстом */
    line-height: 1;
}

/* Красная линия-акцент */
.component-item::before {
    content: '';
    position: absolute;
    top: 65px;
    /* left: 10px; */
    width: 120px;
    height: 2px;
    background-color: #e63946; /* Наш фирменный красный */
    z-index: 2;
}

/* Текст описания компонента */
.component-item p {
    position: relative;
    color: #c5cde0;
    font-size: 1.2rem;
    line-height: 1.6;
    z-index: 2; /* Размещаем текст над номером */
}

/* Адаптивность */
@media (max-width: 991px) {
    #system-components .components-main-title {
        font-size: 3rem;
    }
}

@media (max-width: 767px) {
    #system-components .components-main-title {
        text-align: center;
        margin-bottom: 30px;
    }
}

.features-about-section {
  background: #fff; /* можно поменять под свой сайт */
}

.feature-about-item {
  position: relative;
  padding: 23px 0 19px;
  line-height: 21px;
  /* margin-bottom: 30px; */
  max-width: 270px;
}

.feature-about-line {
  display: inline-block;
  width: 60px;
  height: 4px;
  background-color: #e74c3c; /* красная полоска */
  margin-bottom: 8px;
}
@media (max-width: 767px) {

    /* --- 1. Шрифты --- */
    /* Уменьшаем размеры заголовков и текста, чтобы они не были огромными */
    h1, .banner-caption h1 {
        font-size: 2.5rem; /* Значительно меньше, чем 5rem в десктопной версии */
    }
    h2 {
        font-size: 1.8rem;
    }
    h3 {
        font-size: 1.5rem;
    }
    p, .banner-caption p {
        font-size: 1.1rem; /* Чуть крупнее для читаемости */
        line-height: 1.5;
    }

    /* --- 2. Шапка (Header) --- */
    /* Убираем лишние отступы и выравниваем элементы */
    .header .row {
        align-items: center;
        justify-content: space-between; /* Лого слева, меню-бургер справа */
    }
    .header .col-md-4, .header .col-md-8 {
        width: auto; /* Позволяем элементам занимать нужную им ширину */
        padding: 0;
    }
    .header-contact {
        display: none; /* Прячем номер телефона в шапке, чтобы не мешал */
    }
    .logo img {
        max-height: 40px; /* Делаем логотип чуть меньше */
    }
    .site-name {
        font-size: 1.2rem; /* Уменьшаем название сайта */
    }

    /* --- 3. Главный баннер --- */
    /* Делаем баннер менее высоким и центрируем контент */
    #banner {
        padding: 60px 0;
    }
    .banner-caption {
        position: static; /* Убираем абсолютное позиционирование */
        text-align: center; /* Центрируем текст на мобильных */
        display: block;
        padding: 20px;
    }
    .banner .row {
        flex-direction: column; /* Ставим текст и картинку друг под другом */
    }
    .image-right-section {
        margin-top: 30px; /* Отступ между текстом и картинкой */
        height: auto;
        justify-content: center;
    }
    .image-right-section img {
        /* max-width: 80%; /1* Уменьшаем картинку *1/ */
        min-height: 200px;
    }
    .text-left-section {
        text-align: center; /* Центрируем текст и кнопку */
    }
    
    /* --- 4. Сетки и колонки --- */
    /* Все блоки, которые были в несколько колонок, теперь будут в одну */

    /* "Основные задачи системы" */
    .values-container {
        flex-direction: column; /* Карточки будут идти друг под другом */
        gap: 20px;
    }
    .values-container .value-card {
        flex-basis: 80%; /* Каждая карточка занимает всю ширину */
    }


    /* "Доступные функции" */
    .features-grid {
        grid-template-columns: 1fr; /* Одна колонка вместо трех */
        gap: 15px;
        padding-left: 0;
        margin-top: 30px;
    }
    #features .row {
        text-align: center; /* Центрируем заголовок и кнопку */
    }
    
    /* "Решения для вашего бизнеса" */
    .solutions-container {
        flex-direction: column;
        gap: 20px;
    }
    .solution-card {
        width: 100%;
        flex-direction: column; /* Иконка будет над текстом */
        align-items: center;
        text-align: center;
    }

    /* "Продукты" */
    #products .row {
        display: flex;
        flex-direction: column;
    }
    #products .col-md-6 {
        width: 100%; /* Каждый продукт занимает всю ширину */
    }

    /* "Особенности системы" */
    .system-traits-layout {
        grid-template-columns: 1fr; /* Одна колонка вместо двух */
    }

    /* "Интеграции" */
    .integration-card {
        flex-direction: column; /* Иконка над текстом */
        align-items: center;
        text-align: center;
        gap: 20px;
        padding: 25px;
    }
    .integration-card .card-content {
        text-align: left; /* Возвращаем тексту выравнивание по левому краю */
    }

    /* --- 5. Подвал (Footer) --- */
    /* Контакты и форма будут идти друг под другом */
    #footer .row {
        display: flex;
        flex-direction: column;
    }
    #footer .col-sm-6 {
        width: 100%;
        text-align: center; /* Центрируем контент в подвале */
    }
    .list-icons {
        display: inline-block; /* Чтобы иконки были по центру блока */
        text-align: left;
        margin-bottom: 30px;
    }
}

/* Стили для корректного отображения шапки на мобильных */
@media (max-width: 767px) {
    .header-right .main-navigation .navbar-default .container-fluid {
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }
    .main-navigation .navbar-header {
        float: none; /* Убираем стандартное обтекание */
    }
    /* .main-navigation .navbar-nav { */
    /*     margin: 0 10px 0 0; /1* Добавляем небольшой отступ справа от меню SmartFX *1/ */
    /* } */
    /* .navbar-default .navbar-collapse { */
    /*     border-color: #e7e7e7; */
    /*     position: absolute; */
    /*     top: 100%; /1* Позиционируем выпадающее меню под шапкой *1/ */
    /*     left: 0; */
    /*     right: 0; */
    /*     width: 100%; */
    /*     background-color: #fff; /1* Задаем фон, чтобы контент сайта не просвечивал *1/ */
    /*     box-shadow: 0 4px 8px rgba(0,0,0,0.1); /1* Добавляем тень для красоты *1/ */
    /*     z-index: 1000; */
    /* } */

    /* --- ИЗМЕНЕННЫЕ СТИЛИ ДЛЯ ВЫПАДАЮЩЕГО МЕНЮ --- */
    .nav > li.dropdown .dropdown-menu {
        position: absolute;
        background-color: #fff;
        box-shadow: 0 6px 12px rgba(0,0,0,0.175);
        border: none;
        z-index: 1001;
        padding: 10px 0;

        /* Делаем меню полноэкранным и центрируем его */
        /* width: 100vw; /1* 100% ширины видимой области экрана *1/ */
        left: 0;
        
        /* Возвращаем твою анимацию и центрируем элемент */
        /* transform: translateX(-56.7%) translateY(12%) scaleY(1); */
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
        pointer-events: none;
    }
    
    /* Стили для открытого меню */
    .nav > li.dropdown.open > .dropdown-menu {
        opacity: 1;
        visibility: visible;
        transform: translateX(-56.7%) translateY(12%) scaleY(1);
        pointer-events: auto;
    }
    
    .dropdown-menu > li > a {
      /* text-align: center; */
    }
}
@media (min-width: 768px) {
    .header-right .main-navigation .navbar-default .container-fluid {
        display: flex;
        justify-content: flex-end; /* Прижимаем все элементы вправо */
        align-items: center; /* Выравниваем все по центру по вертикали */
    }
}

.price-request-box {
  max-width: 450px; /* Ограничим ширину, чтобы блок не был слишком растянут */
  margin: 20px auto 0; /* Центрируем блок (auto) и добавляем отступ сверху */
  padding: 25px 30px; /* Внутренние отступы, чтобы текст не "прилипал" к краям */
  background-color: #f9f9f9; /* Очень светлый, почти белый фон */
  border: 1px solid #eee; /* Едва заметная рамка */
  border-radius: 8px; /* Скругляем углы для мягкости */
  box-shadow: 0 4px 10px rgba(0,0,0,0.05); /* Легкая тень для "объема" */
}

.price-request-box h3 {
  font-size: 1.75rem; /* Размер шрифта как у h3 */
  font-weight: 600; /* Немного уменьшим жирность */
  color: #142745; /* Используем ваш фирменный темно-синий цвет */
  margin: 0; /* Убираем стандартные отступы у заголовка */
}

/* Стили для страницы документации */
.provision-box-link {
  display: block; /* Делаем ссылку блочным элементом */
  text-decoration: none; /* Убираем стандартное подчеркивание */
  color: inherit; /* Ссылка будет наследовать цвет текста от родителя (т.е. будет черной, а не синей) */
}

.provision-box-link:hover,
.provision-box-link:focus {
  text-decoration: none; /* Убираем подчеркивание при наведении */
  color: inherit; /* Сохраняем цвет текста */
}

/* Добавляем акцентный цвет иконке PDF */
.provision-box h4 .fa-file-pdf-o {
  color: #e63946; /* Красный акцентный цвет, как у рамки слева */
}
