:root {
	--ff: 'Gilroy',Helvetica,sans-serif;

	--color-white: #ffffff;
	--color-text: #000;
	--color-link: #00329a;
	--color-bg: var(--color-white);
	--color-black-50: #00000080;
	--color-gray: #eaeaea;

	--fs-base: 20px;
	--fs-menu: round(calc(var(--fs-base) * 0.92), 1px );
	--fs-menu-number: round(calc(var(--fs-base) * 0.75), 1px );
	--fs-section-number: round(calc(var(--fs-base) * 1.5), 1px );
	--fs-about-title: round(calc(var(--fs-base) * 2.5), 1px );
	--fs-service-title: round(calc(var(--fs-base) * 4.58), 1px );
	--fs-service-subtitle: round(calc(var(--fs-base) * 1.5), 1px );
	--fs-service-list:  round(calc(var(--fs-base) * 1.5), 1px );
	--fs-projects-morelink: round(calc(var(--fs-base) * 1.5), 1px );
	--fs-projects-slider-title: round(calc(var(--fs-base) * 1.5), 1px );
	--fs-contacts-phone: round(calc(var(--fs-base) * 1.5), 1px );
	--fs-cases-title: round(calc(var(--fs-base) * 4.58), 1px );
	--fs-cases-subtitle: round(calc(var(--fs-base) * 0.92), 1px );
	--fs-cases-subtitle2: round(calc(var(--fs-base) * 0.8), 1px );
	--fs-cases-number: round(calc(var(--fs-base) * 2.5), 1px );
	
	--section-padding: 190px;
	--section-bottom-margin: 105px;
	--subsection-padding: 100px;
	--section-decor-width: 55px;
	--section-decor-height: 15px;

	--cases-list-gap: 100px;

	--left-col-1: 510px;
}
html,body {margin:0;padding:0;font-family:var(--ff);font-size:var(--fs-base);overflow-x:hidden;}

html {background:var(--color-bg);color:var(--color-text);}
body {background:var(--color-bg) url(../images/body.bg1.png) right top repeat-y;background-size:40% auto;padding:115px 0 0;position:relative;}

.g-debug-center {display:none;position:fixed;left:40%;right:40%;top:0;bottom:0;background:rgba(255,0,0,0.5);z-index:300000;}
.b-burger {display:none;}
.b-mobmenu {display:none;}

.b-header {position:fixed;left:0;top:0;right:0;height:115px;z-index:100000;display:flex;/*width:calc(100% - 2 *  var(--section-padding));*/margin:0;justify-content:space-between;height:115px;padding:0 var(--section-padding)/*position:relative;*/;background:rgba(255,255,255,0.95);}
.b-header:before {position:absolute;left:0;top:0;bottom:0;width:var(--section-decor-height);background:var(--color-text);content:'';}
.b-header:after {position:absolute;left:0;right:var(--section-padding);bottom:calc(-1 * (var(--section-decor-height) / 2) - 1px);height:calc(var(--section-decor-height) / 2);border-top:1px solid var(--color-text);background:linear-gradient(to left, var(--color-text) 0, var(--color-text) calc(var(--section-decor-width) / 2), transparent calc(var(--section-decor-width) / 2));content:'';z-index:1;}

.b-logo {flex-basis:var(--left-col-1);flex-shrink:0;flex-grow:0;background:url(../images/logo.png);background-repeat:no-repeat;background-position:0 33px;font-size:0;position:relative;z-index:500000}
.b-logo:after {position:absolute;left:100%;top:0;width:var(--section-decor-width);height:var(--section-decor-height);background:var(--color-link);content:''}
.b-logo a {position:absolute;left:0;top:0;right:0;bottom:0;}

.b-menu {position:relative;}
.b-menu__list {position:relative;list-style-type:none;margin:0;padding:0;display:flex;gap:0 50px;top:50%;transform:translateY(-50%)}
.b-menu__item {}
.b-menu__itemlink {text-decoration:none;color:var(--color-text);font-size:var(--fs-menu);font-weight:500;}
.b-menu__itemlink span {display:block;font-size:var(--fs-menu-number);font-weight:300;}
.b-menu__itemlink:hover {text-decoration:none;color:var(--color-link);}

.b-socials {position:relative;display:flex;gap:0 25px;margin:0;padding:0;line-height:115px;}
.b-socials__item {font-size:var(--fs-menu);font-weight:500;opacity:0.65;}
.b-socials__item.tg {font-size:0;width:45px;background:url(../images/socials.tg.png) center center no-repeat;}
.b-socials__item.vk {font-size:0;width:45px;background:url(../images/socials.vk.png) center center no-repeat;}
.b-socials__item:hover {opacity:1;}

.b-about {display:block;position:relative;height:600px;width:100%;background:url(../images/about.bg.png) left center no-repeat;background-size:cover;margin:0 0 var(--section-bottom-margin)}
.b-about__data {display:block;position:relative;margin:0 0 0 var(--section-padding);width:var(--left-col-1);top:50%;transform:translateY(-50%)}
.b-about__number {display:block;width:65px;height:65px;line-height:65px;color:var(--color-text);font-weight:400;font-size:var(--fs-section-number);background:var(--color-bg);text-align:center;margin-bottom:var(--fs-base);}
.b-about__title {display:inline;font-size:var(--fs-about-title);font-weight:400;color:var(--color-white);background:var(--color-text);line-height:1.3;}
.b-about__subtitle {display:block;background:var(--color-bg);padding:var(--fs-base);width:125%;font-weight:500;}
/*.b-about:after {position:absolute;right:var(--section-padding);top:0;width:calc(var(--section-decor-width) / 2);height:calc(var(--section-decor-height) / 2);background:var(--color-text);content:''} */

.b-service {display:block;position:relative;width:calc(100% - 2 * var(--section-padding));margin:0 auto var(--section-bottom-margin);padding:0;}
.b-service__item {display:flex;padding:0 0 70px;margin-bottom:5px;}
.b-service__item:nth-child(n+2) {border-left:2px solid var(--color-gray);transition:all 0.3s ease;}
.b-service__item.centered:nth-child(n+2) {border-left:2px solid var(--color-link);transition:all 0.3s ease;}
.b-service__itemleft {flex-basis:var(--left-col-1);flex-shrink:0;flex-grow:0;position:relative;}
.b-service__item:first-child .b-service__itemleft:after {position:absolute;left:var(--left-col-1);top:0;width:var(--section-decor-width);height:30px;border-bottom:1px solid var(--color-text);content:''}
.b-service__number {display:block;font-size:var(--fs-section-number);font-weight:400;color:var(--color-text);margin-bottom:60px;}
.b-service__title {display:block;font-size:var(--fs-service-title);font-weight:200;color:var(--color-text);text-transform:uppercase;margin:0;padding:0;position:relative;line-height:1;}
.b-service__subtitle {display:block;font-size:var(--fs-service-subtitle);font-weight:700;color:var(--color-text);text-transform:uppercase;margin:0;padding:0 20px 0 var(--subsection-padding);position:relative;line-height:1.2;transition:all 0.3s ease;}
.b-service__item.centered:nth-child(n+2) .b-service__subtitle {color:var(--color-link);transition:all 0.3s ease;}
.b-service__item:nth-child(n+2) .b-service__subtitle:after {position:absolute;left:var(--left-col-1);top:10px;width:var(--section-decor-width);height:var(--section-decor-height);background:transparent;content:'';transition:all 0.3s ease;}
.b-service__item.centered:nth-child(n+2) .b-service__subtitle:after {background:var(--color-link);transition:all 0.3s ease;}
.b-service__text {margin:0 var(--subsection-padding);padding:0;font-weight:500;}
.b-service__title:before {position:absolute;left:calc(-1 * var(--section-padding));bottom:0;height:var(--fs-service-title);width:var(--section-decor-height);background:var(--color-text);content:''}
.b-service__list {list-style-type:none;margin:20px 0 0;padding:0 var(--subsection-padding);font-size:var(--fs-service-list);font-weight:300;}
.b-service__list li {margin-bottom:28px;}
.b-service__list li:last-child {margin-bottom:0}

.b-projects {display:block;position:relative;width:calc(100% - 2 * var(--section-padding));margin:0 auto;padding:0;}
.b-projects__item {display:flex;padding:0 0 30px;margin-bottom:5px;width:100%;}
.b-projects__number {display:block;font-size:var(--fs-section-number);font-weight:400;color:var(--color-text);margin-bottom:60px;}
.b-projects__title {display:block;font-size:var(--fs-service-title);font-weight:200;color:var(--color-text);text-transform:uppercase;margin:0;padding:0;position:relative;line-height:1;}
.b-projects__itemleft {flex-basis:var(--left-col-1);flex-shrink:0;flex-grow:0;position:relative;}
.b-projects__itemleft:before {position:absolute;left:calc(-1 * var(--section-padding));bottom:0;height:220px;width:var(--section-decor-height);background:var(--color-text);content:''}
.b-projects__itemright {flex-basis:100%;position:relative;}
.b-projects__itemleft:after {position:absolute;left:var(--left-col-1);top:0;width:var(--section-decor-width);height:30px;border-bottom:1px solid var(--color-text);content:''}
.b-projects__morelink {position:absolute;right:0;bottom:0;font-size:var(--fs-projects-morelink);font-weight:200;text-transform:uppercase;text-decoration:none;margin:0;padding:0;color:var(--color-link);transition:all 0.3s ease;}
.b-projects__morelink span:first-child {position:relative}
.b-projects__morelink span:last-child {display:inline-block;width:65px;height:65px;line-height:67px;color:var(--color-text);font-weight:400;font-size:var(--fs-section-number);border:1px solid var(--color-link);text-align:center;vertical-align:bottom;margin-left:25px;transition:all 0.3s ease;}
.b-projects__morelink:hover span:first-child:before {position:absolute;left:0;bottom:0;right:0;border:1px solid var(--color-link);content:''}
.b-projects__morelink:hover span:last-child {color:var(--color-text);border-color:var(--color-link);transition:all 0.3s ease;}

.b-projects-slider {display:block;position:relative;width:calc(100% - 2 * var(--section-padding) - 2 * var(--subsection-padding));margin:0 auto  var(--section-bottom-margin);padding:0;}
.b-projects-slider__list {position:relative;}
.b-projects-slider__item {display:flex !important;width:100%;position:relative;}
.b-projects-slider__data {/* height:500px comment height for adaptive height */;flex-basis:50%;flex-shrink:0;flex-grow:0;padding:100px 50px;box-sizing:border-box;background:linear-gradient(to bottom, transparent 0, transparent 50px, var(--color-gray) 50px, var(--color-gray) calc(100% - 50px), transparent calc(100% - 50px), transparent 100%);align-self:stretch}
.b-projects-slider__image {flex-basis:50%;flex-shrink:0;flex-grow:0;background:var(--color-gray);position:relative;aspect-ratio:1/1;}
.b-projects-slider__imageurl {position:absolute;left:0;top:0;width:100%;height:100%;object-position:center;object-fit:cover;}
.b-projects-slider__title {margin:0 0 25px;padding:0;font-size:var(--fs-projects-slider-title);font-weight:200;text-transform:uppercase;text-decoration:none;}
.b-projects-slider__text {margin:0 0 25px;padding:0;font-weight:500;text-decoration:none;}
.b-projects-slider__more {display:inline-block;height:40px;line-height:40px;color:var(--color-text);font-weight:600;border:1px solid var(--color-text);text-align:center;text-decoration:none;padding:0 15px;transition:all 0.3s ease;}
.b-projects-slider__more:hover {color:var(--color-link);border-color:var(--color-link);transition:all 0.3s ease;}
.b-projects-slider__nav {position:absolute;left:0;top:0;right:0;bottom:0;pointer-events:none;}
.b-projects-slider__prev {position:absolute;left:-150px;top:50%;transform:translateY(-50%);width:119px;height:56px;font-size:0;background:url(../images/projects.slider.prev.png) center center no-repeat;pointer-events:auto;cursor:pointer;opacity:1;transition:all 0.3s ease;}
.b-projects-slider__prev:hover {opacity:1;transition:all 0.3s ease;}
.b-projects-slider__next {position:absolute;right:-150px;top:50%;transform:translateY(-50%);width:119px;height:56px;font-size:0;background:url(../images/projects.slider.next.png) center center no-repeat;pointer-events:auto;cursor:pointer;opacity:1;transition:all 0.3s ease;}
.b-projects-slider__next:hover {opacity:1;transition:all 0.3s ease;}

.b-contacts {display:block;position:relative;width:calc(100% - 2 * var(--section-padding));margin:0 auto var(--section-bottom-margin);padding:0;}
.b-contacts:before {position:absolute;left:calc(-1 * var(--section-padding));bottom:0;height:900px;width:var(--section-decor-height);background:var(--color-text);content:''}
.b-contacts__item {display:flex !important;width:100%;position:relative;padding:0 0 70px;}
.b-contacts__itemleft {flex-basis:50%;flex-shrink:0;flex-grow:0;position:relative;}
.b-contacts__itemright {flex-basis:50%;flex-shrink:0;flex-grow:0;position:relative;padding-right:var(--subsection-padding);box-sizing:border-box;}
.b-contacts__item:first-child .b-contacts__itemleft:after {position:absolute;left:var(--left-col-1);top:0;width:var(--section-decor-width);height:30px;border-bottom:1px solid var(--color-text);content:''}
.b-contacts__number {display:block;font-size:var(--fs-section-number);font-weight:400;color:var(--color-text);margin-bottom:60px;}
.b-contacts__title {display:block;font-size:var(--fs-service-title);font-weight:200;color:var(--color-text);text-transform:uppercase;margin:0;padding:0;position:relative;line-height:1;}
.b-contacts__item:not(:first-child) .b-contacts__itemleft {padding-left:var(--subsection-padding);box-sizing:border-box;}
.b-contacts__phone {font-size:var(--fs-contacts-phone);font-weight:600;text-decoration:none;color:var(--color-text);transition:all 0.3s ease;position:relative;}
.b-contacts__phone:before {position:absolute;left:calc(-1 * var(--subsection-padding));top:15px;width:var(--section-decor-width);height:var(--section-decor-height);background:transparent;content:'';transition:all 0.3s ease;}
.b-contacts__phone:hover {color:var(--color-link);transition:all 0.3s ease;}
.b-contacts__phone:hover:before {background:var(--color-link);transition:all 0.3s ease;}
.b-contacts__mail {font-size:var(--fs-contacts-phone);font-weight:500;text-decoration:none;color:var(--color-text);transition:all 0.3s ease;margin-bottom:40px;position:relative;}
.b-contacts__mail:before {position:absolute;left:calc(-1 * var(--subsection-padding));top:15px;width:var(--section-decor-width);height:var(--section-decor-height);background:transparent;content:'';transition:all 0.3s ease;}
.b-contacts__mail:hover {color:var(--color-link);transition:all 0.3s ease;}
.b-contacts__mail:hover:before {background:var(--color-link);transition:all 0.3s ease;}
.b-contacts__map {font-size:var(--fs-contacts-phone);font-weight:600;text-decoration:none;color:var(--color-text);transition:all 0.3s ease;position:relative;text-transform:uppercase;}
.b-contacts__map:before {position:absolute;left:calc(-1 * var(--subsection-padding));top:15px;width:var(--section-decor-width);height:var(--section-decor-height);background:transparent;content:'';transition:all 0.3s ease;}
.b-contacts__map:after {display:inline-block;width:58px;height:42px;background:url(../images/contacts.decor.png) center center no-repeat;content:'';vertical-align:middle;margin-top:8px;margin-left:25px;}
.b-contacts__map:hover {color:var(--color-link);transition:all 0.3s ease;}
.b-contacts__map:hover:before {background:var(--color-link);transition:all 0.3s ease;}

.b-contacts-form {padding:50px;box-sizing:border-box;width:100%;height:100%;background:var(--color-gray);position:relative;}
.b-contacts-form:before {position:absolute;left:100%;top:0;bottom:0;width:calc(var(--section-padding) + var(--subsection-padding));background:var(--color-gray);content:''}
.b-contacts-form__title {font-size:var(--fs-contacts-phone);font-weight:600;text-decoration:none;color:var(--color-text);transition:all 0.3s ease;position:relative;text-transform:uppercase;margin:0 0 40px;padding:0;}
.b-contacts-form__item {margin:0 0 25px;border-bottom:2px solid var(--color-text);}
.b-contacts-form__item input {appearance:none;display:block;font-family:var(--ff);color:var(--color-text);font-size:var(--fs-base);border:0;outline:0;margin:0;padding:0;background:transparent;width:100%;}
.b-contacts-form__item textarea {appearance:none;display:block;font-family:var(--ff);color:var(--color-text);font-size:var(--fs-base);border:0;outline:0;margin:0;padding:0;background:transparent;width:100%;height:100px;}
.b-contacts-form__item input[type="checkbox"] {display:inline-block;margin:0 10px 0 0; appearance: auto; width:30px; border:initial; }
.b-contacts-form__item.checkbox label {display:inline}
.b-contacts-form__item.checkbox label a {text-decoration:underline}
.b-contacts-form__item input[type='submit'] {display:inline-block;width:auto;height:40px;line-height:40px;color:var(--color-text);font-weight:600;border:1px solid var(--color-text);text-align:center;text-decoration:none;padding:0 15px;transition:all 0.3s ease;}
.b-contacts-form__item input[type='submit']:hover {color:var(--color-link);border-color:var(--color-link);transition:all 0.3s ease;}

.b-contacts-form__item.noborder {border-bottom:none;}

.b-section-header {display:flex;position:relative;width:calc(100% - var(--section-padding));margin:0 0 calc(var(--section-bottom-margin) / 2);padding:55px 0 55px var(--section-padding);box-sizing:border-box;background:var(--color-gray);gap:0 var(--section-decor-width);}
.b-section-header__title {flex-basis:var(--left-col-1);flex-shrink:0;flex-grow:0;position:relative;color:var(--color-text);font-size:var(--fs-cases-title);font-weight:400;color:var(--color-text);text-transform:uppercase;margin:0;padding:0;line-height:1;}
.b-section-header__title.small {font-size:calc(var(--fs-cases-title) / 2);}
.b-section-header__subtitle {padding:0 0 0 var(--section-decor-width);border-left:1px solid var(--color-text);margin:0;font-size:var(--fs-cases-subtitle);position:relative;}
/*.b-section-header__subtitle:before {position:absolute;left:0;top:0;bottom:0;width:1px;background:var(--color-text);content:''}*/
.b-section-header__number {padding:0 var(--section-decor-width) 0 0;margin:0;font-size:var(--fs-cases-number);font-weight:300;line-height:1;}
.b-section-header:after {position:absolute;right:0;top:0;width:calc(var(--section-decor-width) / 2);height:calc(var(--section-decor-height) / 2);background:var(--color-text);content:''}

.b-cases {display:block;position:relative;width:calc(100% - 2 * var(--section-padding));margin:0 auto var(--section-bottom-margin);padding:0;}
.b-cases__list {display:flex;gap:var(--cases-list-gap);flex-wrap:wrap;}
.b-cases__list > * {flex-basis:calc((100% - 2 * var(--cases-list-gap)) / 3);flex-shrink:0;flex-grow:0;position:relative;}
.b-cases__item {position:relative;border-left:1px solid var(--color-text);box-sizing:border-box;}
.b-cases__item {display:flex;flex-direction:column;}
.b-cases__item:hover .b-cases__title {color:var(--color-link);}
.b-cases__item.active .b-cases__title {color:var(--color-link);}
.b-cases__title {margin:0 0 var(--fs-base);padding:0 0 0 25px;font-weight:200;color:var(--color-text);text-transform:uppercase;}
.b-cases__subtitle {margin:0;padding:0 0 0 25px;font-size:var(--fs-cases-subtitle);font-weight:500;color:var(--color-text);}
.b-cases__subtitle2 {margin:0 0 12px;padding:0 0 0 25px;font-size:var(--fs-cases-subtitle);font-weight:500;color:var(--color-text);}
.b-cases__video {margin:auto 0 0;padding:0;aspect-ratio:1;background:var(--color-gray);position:relative;}
.b-cases__video:before {position:absolute;left:0;top:0;bottom:0;width:var(--section-decor-height);background:var(--color-text);content:'';z-index:20;}
.b-cases__video video {position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.b-cases__video img.thumbnail {position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.b-cases__itemlink {position:absolute;left:0;top:0;right:0;bottom:0;font-size:0;}
.b-cases__item.active {}

.b-episodes {display:block;position:relative;width:calc(100% - 2 * var(--section-padding));margin:0 auto var(--section-bottom-margin);padding:0;}
.b-episodes__list {display:flex;gap:var(--cases-list-gap);flex-wrap:wrap;}
.b-episodes__list > * {flex-basis:calc((100% - 2 * var(--cases-list-gap)) / 3);flex-shrink:0;flex-grow:0;position:relative;}
.b-episodes__item {position:relative;border-left:1px solid var(--color-text);box-sizing:border-box;}
.b-episodes__item:hover .b-episodes__title {color:var(--color-link);}
.b-episodes__item.active .b-episodes__title {color:var(--color-link);}
.b-episodes__title {margin:0 0 var(--fs-base);padding:0 0 0 25px;font-weight:200;color:var(--color-text);text-transform:uppercase;}
.b-episodes__subtitle {margin:0;padding:0 0 0 25px;font-size:var(--fs-cases-subtitle);font-weight:500;color:var(--color-text);}
.b-episodes__subtitle2 {margin:0;padding:0 0 0 25px;font-size:var(--fs-cases-subtitle2);font-weight:500;color:var(--color-text);}
.b-episodes__video {margin:0 0 12px;padding:0;aspect-ratio:16/9;background:var(--color-gray);position:relative;}
.b-episodes__video:before {position:absolute;left:0;top:0;bottom:0;width:var(--section-decor-height);background:var(--color-text);content:'';z-index:20;}
.b-episodes__video:after {position:absolute;left:50%;top:50%;width:70px;height:70px;transform:translate(-50%,-50%);background:url(../images/episodes.play.png) center center no-repeat;content:'';z-index:20;pointer-events:none;filter:grayscale(1);}
.b-episodes__item:hover .b-episodes__video:after {filter:none;}
.b-episodes__item.active .b-episodes__video:after {filter:none;}
.b-episodes__video video {position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;object-position:center;}
.b-episodes__timing {position:absolute;right:12px;bottom:12px;margin:0;padding:3px 6px;font-size:var(--fs-cases-subtitle);background:var(--color-black-50);font-weight:500;color:var(--color-white);}
.b-episodes__itemlink {position:absolute;left:0;top:0;right:0;bottom:0;font-size:0;}
.b-episodes__item.active {}

.b-footer {padding: 50px 25px;background:var(--color-text);color:var(--color-gray);font-weight:300;}

.b-navsection {display:block;padding-top:calc(115px + 40px);margin-top:calc(-1 * (115px + 40px));height:0;overflow:hidden;}