/* Настройки шаблона */
:root, body {font-size: 14px;}
@media screen and (min-width: 576px) {
	:root, body {font-size: 14px;}
}
@media screen and (min-width: 768px) {
	:root, body {font-size: 14px;}
}
@media screen and (min-width: 992px) {
	:root, body {font-size: 14px;}
}
@media screen and (min-width: 1200px) {
	:root, body {font-size: 16px;}
}

/* Элементы */
html {width: calc(100% + calc(100vw - 100%)); overflow-x: hidden;}
body {display: flex; flex-direction: column; margin: 0 auto;  font-family: 'Roboto', sans-serif; color: #000; font-family: 'Inter', sans-serif; background-color: #f9f9f9; overflow-x: hidden;}

h1, .h1 {}
h2, .h2 {font-family: 'Roboto Slab', serif; font-weight: 400; font-size: 34px;}
h3, .h3 {}
h4, .h4 {font-size: 19px; font-weight: 600;}
h5, .h5 {font-size: 16px; font-weight: 600;}
h6, .h6 {}

p {margin-bottom: 0;}

a {text-decoration: none;}

/* Форма обратной связи */

.form-control {padding: 1rem 1.5rem;}
.modal-title {font-size: 18px;}

/* Общие классы */

.slider .owl-stage {display: flex;}
.slider .owl-stage .owl-item {display: flex; flex: 1 0 auto;}
.slider .owl-stage .owl-item > .item {flex: 1;} 

.text-black {color: #333333;}
.text-white {color: #fff;}

.btn-outline {color: #E90210; padding: 1rem 2rem; border-radius: 64px; border: 1px solid #E90210;  transition: ease-in-out .15s; background: #fff;}
.btn-outline:hover {background: #CA000D; color: #fff;  transition: ease-in-out .15s;}

/* Переопределения Bootstrap */

.btn {color: #fff; padding: 1rem 2rem; border-radius: 64px; background: #E90210;  transition: ease-in-out .15s;}
.btn:hover {background: #CA000D; color: #fff;  transition: ease-in-out .15s;}

.btn-info {font-size: 16px; font-weight: 600; padding: 1rem 2rem; border-radius: 64px; background: #E90210; color: #fff; border: 0; transition: ease-in-out .15s;}
.btn-info:hover {background: #CA000D; color: #fff; transition: ease-in-out .15s;}
.btn-info:active {background-color: #CA000D; color: #fff;}
.btn-info:focus {border-color: #CA000D; background-color: #CA000D;}
/* Шапка */
header {}

header ul {align-items: center;}
header .mod-menu li {margin: 0 1.5rem;}
header .mod-menu li a {color: #333333;}
header .mod-menu li a:hover {color: #E90210;}
header #navbar-content {justify-content:flex-end;}

.mod-call {margin-left: 1.5rem;}

#navbar {background: #fff; position: relative; left: 50%;	margin-left: -50vw;	width: calc(100% + calc(100vw - 100%));}
#navbar::after {content: ''; border-bottom: 1px solid #E90210; bottom: 0; left: 0; width: 100%; position: absolute;}

/* Подвал */
footer {background: #585858; padding-top: 40px; padding-bottom: 20px;}
footer .mod-adres {margin-bottom: 70px;}
footer .mod-consult {margin-top: -66px;}
footer .nav {padding-left: calc(var(--bs-gutter-x)/ 2); margin-bottom: 42px;}
footer .nav li {padding-right: 3rem;}
footer a {color: #fff;}
footer a:hover {color: #E90210;}



/* Модули */

.mod-slider {background: transparent !important;}
.mod-slider .title { margin-top: 64px; font-size: 48px; font-weight: 600;}
.mod-slider .introtext {font-size: 24px; font-weight: 400;}
.mod-slider .btn {margin-bottom: 834px; font-size: 20px; font-weight: 500;}
.mod-slider .img-bg {z-index: -5;	position: absolute;	top: -64px;	left: 0; right: 0; bottom: 0;}
.mod-slider .img-bg img { width: 100%; object-fit: cover;	height: 100%;}

.mod-uslugi {padding-top: 156px;}
.mod-uslugi .item .bg {z-index: -5;}
.mod-uslugi .item-bg {background: #fff;}
.mod-uslugi .item-full {margin-bottom: 2.5rem;}
.mod-uslugi .title {margin-bottom: 5rem;}
.mod-uslugi .item-bg {position: absolute; bottom: 0; left: 0;}
.mod-uslugi .item {position: relative; margin-bottom: 2.5rem;}
.mod-uslugi .count4 {margin-top: -10rem;}
.mod-uslugi .introtext {padding-top: 1.4rem;}

.mod-banner {background: transparent !important; margin-top: 195px; margin-bottom: 96px; padding-top: 150px; padding-bottom: 150px;}
.mod-banner .img-bg {z-index: -5;	position: absolute;	top: -64px;	left: 0; right: 0; bottom: 0;}
.mod-banner .img-bg img { width: 100%; object-fit: cover;	height: 100%;}

.mod-how {margin-bottom: 4rem;}
.mod-how .title {margin-bottom: 4rem;}
.mod-how .red {background: #E90210; width: 86px; height: 86px; border-radius: 10px; display: flex; align-items: center; justify-content: center; position: relative;}
.mod-how .red::after {content: url('/images/modules/how/line.png'); z-index: -1; position: absolute; top: 85px; left: 42px; height: 100%;  width: 100%;}
.mod-how .item:last-child .red::after {display: none;}
.mod-how .red .num {margin-bottom: 0;}
.mod-how .item {margin-top: 6rem;}

.mod-about {margin-bottom: 8.75rem; position: relative; padding: 60px 0;}
.mod-about::before {content: ''; background: #f2f2f2; top: 0; left: -120px; position: absolute; width: 1540px; height: 100%; z-index: -5; border-radius: 15px;}
.mod-about .title {color: #E90210; font-size: 34px; font-weight: 600;}
.mod-about .item {position: relative;}
.mod-about .item::before {content: url('/images/modules/about/dots.png'); top: -30px; right: -56px; position: absolute; z-index: -1;}
.mod-about .owl-nav {position: absolute;	top: auto;	bottom: 0;	left: auto;	right: 396px;	height: 40px;	width: 80px; font-size: 40px; line-height: 40px;}
.mod-about .owl-nav .owl-prev {	left: 0;	transform: none; background: #fff !important; width: 40px; height: 40px; transition: ease-in-out .15s;}
.mod-about .owl-nav .owl-next {	right: 0;	transform: none; background: #fff !important; width: 40px; height: 40px; transition: ease-in-out .15s;}
.mod-about .owl-nav button:hover {background: #E90210 !important;}

.mod-work {background: transparent !important;}
.mod-work .title {margin-bottom: 3.5rem;}
.mod-work .item-1, .mod-work .item-2, .mod-work .item-3, .mod-work .item-4, .mod-work .item-5, .mod-work .item-6 {height: 50%;}
.mod-work .item-0, .mod-work .item-7 {height: 100%;}
.mod-work .img {height: 100%;	width: 100%; object-fit: cover;}
/* .mod-work .item-2, .mod-work .item-6, .mod-work .item-4 {margin-top: 4.25rem;} */
.mod-work .item-3, .mod-work .item-5, .mod-work .item-7 {margin-top: 2rem;}
.mod-work .item .img img {width: 100%; height: 100%; object-fit: cover; background-repeat: no-repeat;}

.mod-cert {margin-top: 10rem;}
.mod-cert .item {margin-right: 20px; margin-left: 20px; position: relative; z-index: 5;}
.mod-cert .item:hover::before {content: ''; position: absolute; top: 0; left: 0; bottom: 0; right: 0; background: url('/images/icons/loupe.png') rgba(51, 51, 51, 0.5) center no-repeat; z-index: 1;}
.mod-cert .owl-nav {max-width: 1400px !important;}
.mod-cert .owl-nav .owl-prev {border: 2px black solid !important; width: 40px; height: 40px; line-height: 36px !important; transition: ease-in-out .15s;}
.mod-cert .owl-nav .owl-next {border: 2px black solid !important; width: 40px; height: 40px; line-height: 36px !important; transition: ease-in-out .15s;}
.mod-cert .owl-nav span {position: absolute; bottom: 2px; right: 10px;}
.mod-cert .owl-nav button:hover {background: #E90210; border: #E90210 2px solid !important;}



.mod-partner {margin-top: 10rem;}
.mod-partner .item-full {position: relative;}
.mod-partner .item-full::before {content: ''; background: #f2f2f2; border-radius: 15px; width: 1400px; height: 180px; position: absolute; z-index: -1; top: -10px; left: -64px;}

.mod-contact {margin-top: 168px; margin-bottom: 160px; position: relative;}
.mod-contact .item {background: #E90210; border-radius: 15px; padding: 4rem; z-index: 5;}
.mod-contact .item .h5 {margin-bottom: 0 !important; line-height: 1.5 !important;}
.mod-contact .item a {color: #fff;}
.mod-contact .item a:hover {color: #333333;}
.mod-contact .map {position: absolute; top: -58px; right: -100px; z-index: -1;}

/* Адаптация */

@media screen and (max-width: 1399px) {
	.mod-about .owl-nav { right: 321px;}
}

@media screen and (max-width: 1199px) {
	header #header_items {flex-direction: row;}
	header #navbar-content {margin-top: 1.5rem; margin-bottom: 1.5rem;}

	.mod-about .owl-nav { right: 250px;}
}

@media screen and (max-width: 994px) {
	header #header_items {flex-direction: column;}
	header #navbar-content {margin-top: 1.5rem; margin-bottom: 1.5rem;}
	header .mod-call {margin-top: 2rem;}

	.mod-slider .title {font-size: 40px;}

	.mod-uslugi .count4 {margin-top: 0;}

	.mod-how .red::after {display: none;}
	.mod-how .num {order: 1 !important; margin-bottom: 1.5rem; justify-content: flex-start !important;}
	.mod-how .text {order: 2 !important; margin-bottom: 1.5rem; }
	.mod-how .img {order: 3 !important;}

	.mod-about .owl-nav { right: 558px;}

	.mod-contact {margin-bottom: 480px;}
	.mod-contact .map { top: 250px;}

	footer .mod-consult {margin-top: 0;}
	footer .mod-adres {margin-bottom: 1.5rem;}
	footer .mod-mail {margin-bottom: 1.5rem;}
	footer .mod-phone {margin-bottom: 1.5rem;}
	footer .mod-consult {margin-bottom: 1.5rem;}
	footer ul {flex-direction: column;}
	footer ul li {margin-bottom: 1rem;}

	footer #author .text {flex-direction: column;}
	footer #author .right {margin-bottom: 1rem;}
	footer #author .pol {margin-bottom: 1rem;}
	footer #author .made {margin-bottom: 1rem;}
}

@media screen and (max-width: 768px) {
	header #header_items ul {flex-direction: column;}
	header #header_items ul li {margin-bottom: 1rem;}
	.mod-call {display: flex; justify-content: center;}

	.mod-how .title {margin-bottom: 0;}

	.mod-about .owl-nav { right: 378px;}

	.mod-about .title {font-size: 28px;}

	.h2 {font-size: 28px;}
}

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

	.mod-about .owl-nav { right: 0;}
	.mod-about .item::before { top: -10px;}

	.mod-work .item-3, .mod-work .item-5, .mod-work .item-7 {margin-top: 0;}
}
@media screen and (max-width: 418px) {
 .mod-slider .title {font-size: 32px;}
 .mod-slider .introtext {font-size: 18px;}
 .mod-slider .btn {font-size: 16px;}

 .mod-contact {margin-bottom: 350px;}
 .mod-contact .item {padding: 1.5rem;}
 .mod-contact .item .h5 {font-size: 14px;}
 .mod-contact .map {top: 110px;}

}


/* Анимации */

[data-aos="fade-in-left"].aos-animate {-webkit-animation: fade-in-left 0.8s cubic-bezier(0.390, 0.575, 0.565, 1.000) both, opacity 0.8s linear both; animation: fade-in-left 0.8s cubic-bezier(0.390, 0.575, 0.565, 1.000) both, opacity 0.8s linear both;}
[data-aos="fade-in-right"].aos-animate {-webkit-animation: fade-in-right 0.8s cubic-bezier(0.390, 0.575, 0.565, 1.000) both, opacity 0.8s linear both; animation: fade-in-right 0.8s cubic-bezier(0.390, 0.575, 0.565, 1.000) both, opacity 0.8s linear both;}
[data-aos="fade-in-bottom"].aos-animate {-webkit-animation: fade-in-bottom 0.8s cubic-bezier(0.390, 0.575, 0.565, 1.000) both, opacity 0.8s linear both; animation: fade-in-bottom 0.8s cubic-bezier(0.390, 0.575, 0.565, 1.000) both, opacity 0.8s linear both;}

.aos-animate.delay-1 {-webkit-animation-delay:200ms;animation-delay:200ms}
.aos-animate.delay-2 {-webkit-animation-delay:400ms;animation-delay:400ms}
.aos-animate.delay-3 {-webkit-animation-delay:600ms;animation-delay:600ms}
.aos-animate.delay-4 {-webkit-animation-delay:800ms;animation-delay:800ms}
.aos-animate.delay-5 {-webkit-animation-delay:1000ms;animation-delay:1000ms}
.aos-animate.delay-6 {-webkit-animation-delay:1200ms;animation-delay:1200ms}
.aos-animate.delay-7 {-webkit-animation-delay:1400ms;animation-delay:1400ms}
.aos-animate.delay-8 {-webkit-animation-delay:1600ms;animation-delay:1600ms}
.aos-animate.delay-9 {-webkit-animation-delay:1800ms;animation-delay:1800ms}
.aos-animate.delay-10 {-webkit-animation-delay:2000ms;animation-delay:2000ms}
.aos-animate.delay-11 {-webkit-animation-delay:2200ms;animation-delay:2200ms}
.aos-animate.delay-12 {-webkit-animation-delay:2400ms;animation-delay:2400ms}
.aos-animate.delay-13 {-webkit-animation-delay:2600ms;animation-delay:2600ms}
.aos-animate.delay-14 {-webkit-animation-delay:2800ms;animation-delay:2800ms}
.aos-animate.delay-15 {-webkit-animation-delay:3000ms;animation-delay:3000ms}

@-webkit-keyframes fade-in-left {
  0% {-webkit-transform: translateX(-50px); transform: translateX(-50px);}
  100% {-webkit-transform: translateX(0); transform: translateX(0);}
}
@keyframes fade-in-left {
  0% {-webkit-transform: translateX(-50px); transform: translateX(-50px);}
  100% {-webkit-transform: translateX(0); transform: translateX(0);}
}


@-webkit-keyframes fade-in-right {
  0% {-webkit-transform: translateX(50px); transform: translateX(50px);}
  100% {-webkit-transform: translateX(0); transform: translateX(0);}
}
@keyframes fade-in-right {
  0% {-webkit-transform: translateX(50px); transform: translateX(50px);}
  100% {-webkit-transform: translateX(0); transform: translateX(0);}
}

@-webkit-keyframes fade-in-bottom {
  0% {-webkit-transform: translateY(50px); transform: translateY(50px);}
  100% {-webkit-transform: translateY(0); transform: translateY(0);}
}
@keyframes fade-in-bottom {
  0% {-webkit-transform: translateY(50px); transform: translateY(50px);}
  100% {-webkit-transform: translateY(0); transform: translateY(0);}
}


@keyframes opacity {
  0% {opacity: 0;}
  50% {opacity: 0.5;}
  100% {opacity: 1;}
} 
