:root{
    --padding-h: calc((var(--layout-width576) - var(--layout-inner-width576)) /2);
    
}
html:has(.fdIcon-menu.close){
    overflow-y: hidden;
}
.fd-wrapper{
    width: auto;
    margin: 0;
    padding: 0 var(--indention-half);
    }
.fd-body-container{
    
    width: var(--layout-inner-width576);
    padding-left: var(--indention-half);
    padding-right: var(--indention-half);
    }

.fd-header {
    height: 100px;
    &.fd-header--sticky{
	position: static!important;
	display: none;
    }
    &:not(.fd-header--to-start).fd-header--sticky ~ .fd-body{
	 margin-top: 0;
    }
    & .fd-body-container{
        grid-template-columns: 35% auto 64px;
	height: auto;
	position: relative;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
    }
}
.fd-header--sticky .fd-body-container{
    position: static!important;
}


.fd-header-logo {
    grid-row: auto;
    height: auto;
    padding: 10px;
    align-self: start;
    }

    #logoSvg{
	width: 100%;
	height: auto;
    }
    

.fd-header-contacts{
    padding-top: 8px;
    justify-self: center;
    align-self: center;
    column-gap: 16px;
    & a{
	pointer-events: auto;
	&[data-title]:after{ content: none; }
    }
    & > div { padding: 0; }
    & .fdIcon:before{
	margin-right: 0;
	width: 32px;
	height: 32px;
	background-size: 32px 32px;
    }
}


.fd-header-menu{
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: calc(100vw - 20px);
    height: calc(100%);
    padding: 10px;
    z-index: 100;
    backdrop-filter: blur(20px);
    background-color: rgba(0, 0, 0, 0.7);
    & ul{
	width: 100%; height: calc(100% - 40px);
	border-radius: 10px;
	background: white;
	display: block;
	padding-top: 32px;
    }
    & a, & span{
	color: var(--color-text);
	padding: 8px 10px 11px 10px;
    }    
}

.fd-header-sandwich{
    display: block;
    --squareW: 64px;
    padding-top: 8px;
    align-self: center;
    width: var(--squareW);
    justify-self: end;
    & .fdIcon-menu:before{
	width: var(--squareW);
	height: var(--squareW);
	background-size: var(--squareW) var(--squareW);
	margin: 0;
    }
    &:has(.close){
	--squareW: 48px;
	display: inline-block;
	z-index: 102;
	position: absolute;
	top: 8px;
	padding: 8px;
	
    }
}
.fd-header:has(.fdIcon-menu.close){
    &  .fd-header-menu{
	display: block;
	animation: menuIn ease 0.7s;
    }	
}


@keyframes menuIn{
    from{
	left: -100%;
	background-color: transparent;
    }
    to{
	left: 0;
	background-color: transparent;
    }
}
/*
.ourworks{
    --item-size: 2;
    display: grid;
    grid-template-columns: repeat(var(--item-size), 1fr);
    column-gap: var(--indention);
    row-gap: var(--indention);
    margin-bottom: var(--indention-2x);
    }
    .ourworks img{
        max-width: 100%;
        height: auto;
        border-radius: 8px;
    }
*/
.ourworks{
    overflow-x: scroll;
     -webkit-user-select: none;
    user-select: none;
    }
    .ourworks img{
	min-width: 175px;
    }

.main-body-1-gridPage{ 
    --item-size: 1 !important;
    row-gap: var(--indention);
}
.fd-page-video{
    bottom: 0;
}
.fd-page-video video{
    min-height: 800px;
    width: auto;
}
.main-body-1{
    position: relative;    
    z-index: 2;
    padding-top: 0;
}
.main-body-1::before {
  content: '';
  display: block;
  aspect-ratio: 741 / 380;
}
.main-body-1-top{
    position: static;
    width: auto;
}
.main-body-1-top::after{
    width: 100%;
    left: auto; right: 0;
    z-index: -1;
    background-size:  var(--layout-inner-width576) auto;
    top: 0;
    background-position: 100% -40px ;
    height: auto;
    aspect-ratio: 741 /380;
}
.main-body-1-top--header1{
    font-size: 24px;
}
.main-body-1-top--header2{
    font-size: 32px;
}
.main-body-1-top--header3{
    font-size: 18px;
}
.main-header{
    font-size: 24px;
}

/** footer **/
.footer-menu{
    padding-left: 0;
    background: none;
}
.footer-brend{
    grid-template-columns: repeat(2, 1fr);
}
.footer-menu-lev1{
    grid-template-columns: 1fr;
}
.footer-menu-lev1 > li{
    grid-column-start: 1;
    border-bottom: 1px solid rgba(255,255,255,0.3);
    margin-bottom: 28px;
}
.footer-menu span, .footer-menu-lev1 > li >a:first-child{
    border-bottom: none;
    padding-bottom: 0;
}
.footer-menu-lev2{
    padding-top: 8px;
}
.footer-menu li{
    padding: 8px 0;
}
.footer-contacts{
    grid-template-columns: 1fr;
    row-gap: 14px;
}
.footer-contacts > div:last-child{
    order: -1;
}
.footer-contacts > div:last-child span{
    display: grid;
    grid-template-columns: 24px auto;
    gap: 14px;
    margin-bottom: 14px;
    line-height: 150%;
}
.footer-contacts .fdIcon-address{
    margin-left: 0;
}
.footer-copyright{
    grid-template-columns: 1fr;
}
.footer-copyright  div > a{
    margin-bottom: 8px;
    text-decoration: underline;
}
.footer-copyright  div > a:not(:first-child):before{
    content: none;
}

.project-list{
    grid-template-columns: 1fr;
}

.main-body-2{
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: 1fr repeat(2, auto);
    gap: 20px;
}
.main-body-2 > div:nth-child(1) {
    grid-column: span 2 / span 2;
}

.main-body-2 > div:nth-child(2) {
    grid-column-start: 1;
    grid-row-start: 3;
}

.main-body-2 > div:nth-child(3) {
    grid-column-start: 2;
    grid-row-start: 3;
}

.main-body-2 > div:nth-child(4) {
    grid-column-start: 1;
    grid-row-start: 4;
}

.main-body-2 > div:nth-child(5) {
    grid-column-start: 2;
    grid-row-start: 4;
}

.itemlist {
    display: grid;
    gap: 20px 0;
    grid-template-columns: 1fr;
    & > div{
	padding: 20px 0 50px;
	max-width: 100%;
    }
    & .item{
	padding: 0 10px 0 13px;
    }
}


.headers-nav{
    & ul{
	flex-wrap: wrap;
        row-gap: 10px;
    }
    & li{
        position: relative;
        padding-right: 10px;
        &:not(:last-child):after{
            content: '~';
            position:absolute;
            top: 50%;
            right: -5px;
            font-size: 16px;
            transform: translateY(-50%);
        }
        & a{
            text-decoration: none;
            display: inline-block;
            color: rgb(0,0,0);
            &:hover{
                color: var(--bg-color);
            }
        }
    }
}


.custom-list{
    --custom-col-sm: 1;
    display: grid;
    gap: 40px 20px;
    grid-template-columns: repeat(var( --custom-col-sm), 1fr);
    padding: 30px 0;
}

.custom-list-sm-cols-2{
    --custom-col-sm: 2;
}
.custom-list-sm-cols-3{
    --custom-col-sm: 3;
}
.custom-list-sm-cols-4{
    --custom-col-sm: 4;
}
.custom-list-sm-cols-5{
    --custom-col-sm: 5;
}
.custom-list-sm-cols-6{
    --custom-col-sm: 6;
}