#header{
    z-index: 999;
}
@media screen and (max-width: 999px){
    #header {
        display: flex;
      justify-content: space-between;
      padding: calc(var(--size-mt) / 2) calc(var(--size-lr) / 2);
      align-items: center;
        flex-wrap: wrap;  	
        position: fixed;
      top: 0;
      left: 0;
      width: 100vw;
      background-color: var(--color-bg);
  }
    .menu-open #header, .home-page #header{
      gap: 21px;
    }
    body.home-page #header{
      position: relative;
    }
}

/*--------------------------------------------------------- left ---------------------------------------------------------*/

#header #left{
    width: var(--size-lr);
    position: fixed;
    top: 0;
    left: 0;
    margin-top: var(--size-mt);
}
#header #left *{
    text-decoration: none;
    line-height: 100%;
}
  #left #logo{     	
        position: absolute;
      left: 50%;
      transform: translateX(-50%);
        font-family: Gilroy;
  }
      #left #logo .logo-img img{
            user-select: none;
          width: 40px;
      }
      #left #logo .logo-name{
            display: none;
          position: absolute;
            top: 40%;
          left: 100%;
          transform: translateX(10px);
      }
          .home-page #left #logo .logo-name{
                display: block;
                letter-spacing: 0.065em;
          }
          #left #logo .logo-name h2{
                font-family: Gilroy;
              text-transform: uppercase;
              font-weight: 800;
              font-size: 16px;
              line-height: 120%;
                margin: 0;
            	white-space: nowrap;
          }
          #left #logo .logo-name h3{
              font-weight: 400;
              font-size: 14px;
              white-space: nowrap;
          }
@media screen and (max-width: 999px){
    #header #left{
        position: initial;
      margin: 0;
        width: auto;
  }
    #left #logo{
      left: auto;
      transform: translateX(0);
        position: initial;
        display: flex;
      gap: 5px;
  }
    #left #logo .logo-img img{
      width: 30px;
  }
    #left #logo .logo-name{
      margin-top: 12px;
      position: initial;
      transform: initial;
    }
}
@media screen and (max-width: 499px){
    #header #left{
        width: 100%;
  }
}

/*--------------------------------------------------------- right ---------------------------------------------------------*/
#header #right *{
    line-height: 100%;
}
#header #right{
    width: var(--size-lr);
    height: 100dvh;
    position: fixed;
    top: 0;
    right: 0;
    padding: var(--size-mt) 0 var(--size-mb);
    user-select: none;
  	display: flex;
    flex-direction: column;
    align-items: center;
  	row-gap: 20px;
  	margin-right: calc(-1 * 100vw + 100%);
}
.home-page #header #right{
  	height: auto;
}
  #right .navigation{
        list-style: none;
        list-style: none;
      display: flex;
      flex-direction: column;
      align-items: center;
        gap: 20px;
  }
      #right .navigation li{
            cursor: pointer;
      }
	#menu-button{
	  	position: relative;
	}
      #menu-button div{     	
            width: 100%;
          	height: 100%;
            position: relative;
      }
          /*#menu-button div::before, #menu-button div::after{
                content: '';
                display: block;
                width: 100%;
                height: 2px;
                background-color: var(--color);
                position: absolute;
                
          }
          #menu-button div::before{
                top: 0;
                transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
          }
          #menu-button div::after{
                bottom: 0;
                transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
          }
              .menu-open #menu-button div::before{
                    top: calc(50% - 2px);
                    transform: rotate(-45deg) translateY(calc(-50% + 2px));
                  transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);;
              }
              .menu-open #menu-button div::after{
                    bottom: calc(50% - 2px);
                    transform: rotate(45deg) translateY(calc(50% - 2px));
                  transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);;
              }*/
:root{
  	--bar-spacing: 4px;
}
 		#menu-button div::before, #menu-button div::after{
                content: '';
                display: block;
                width: 100%;
                height: 2px;
                background-color: var(--color);
                position: absolute;
                left: 0;
          }
          #menu-button div::before{
                bottom: var(--bar-spacing);
                transition: bottom 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
          }
          #menu-button div::after{
                top: var(--bar-spacing);
                transition: top 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms cubic-bezier(0.23, 1, 0.32, 1);
          }
              .menu-open #menu-button div::before{
                    bottom: 0;
                    transform: rotate(-45deg);
                  	transition: bottom 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);;
              }
              .menu-open #menu-button div::after{
                    top: 0;
                    transform: rotate(45deg);
                  	transition: top 300ms cubic-bezier(0.23, 1, 0.32, 1), transform 300ms 300ms cubic-bezier(0.23, 1, 0.32, 1);;
              }

      #right .navigation .navigation__icon{
            width: 26px;
            height: 26px;
      }
	#right #menu-button{
	  	display: flex;
	    justify-content: center;
	    align-items: center;
	    width: auto;
	}
		#right #menu-button > div{
          	width: 30px;
		  	height: 2px;
		}
          #right .navigation .navigation__icon img{
                width: 100%;
                height: 100%;
          }

body ._access-icon{
    display: none;
}
#arrows{
  	position: absolute;
    transform: rotate(90deg);
    left: -10px;
  	display: none;
    align-items: center;
    justify-content: center;
}
.show-arrows #arrows{
  	display: flex;
}

@media screen and (max-width: 1799px){
    #right .navigation{
        font-size: 12px;
        gap: 14px;
  }
    #right .navigation .navigation__icon{
      width: 20px;
      height: 20px;
  }
  	#right #menu-button > div{
      	width: 25px;
		  	/*height: 11px;*/
	}
}
@media screen and (max-width: 1199px){
    #right .navigation .navigation__icon{
      width: 20px;
      height: 20px;
  }
}
@media screen and (max-width: 999px){
    #header #right{
        position: initial;
      	margin: 0;
        width: auto;
        margin-left: auto;
      	height: auto;
    	padding: 0;
  }
    #right .navigation{
        font-size: 14px;
      display: flex;
      flex-direction: row-reverse;
        justify-content: space-around;
        gap: 40px;
    }
    #right .navigation .navigation__icon{
      width: 26px;
      height: 26px;
  }
  	#arrows{
  		right: calc(var(--size-lr) / 2);
    	left: initial;
    	bottom: -10px;
   	 	transform: rotate(0deg);
	}
}
@media screen and (max-width: 687px){
  	#arrows{
    	bottom: -40px;
	}
}
@media screen and (max-width: 699px){
    #right .navigation li{
      display: none;
    }
    .menu-open #right .navigation li, .home-page #right .navigation li, #right .navigation li#menu-button{
      display: flex;
    }
}
@media screen and (max-width: 499px){
    #right .navigation{
        gap: 30px;
      	width: 100%;
    } 
    #menu-button{
      position: absolute;
      top: calc(var(--size-mt) / 2);
      right: calc(var(--size-lr) / 2);
    }
    #header #right{
        width: 100%;
      	margin: 0 auto;
    }
  	#arrows {
    	transform: rotate(90deg);
    	position: fixed;
    	top: calc(var(--size-mt) / 2);
    	right: 80px;
    	left: initial;
    	bottom: initial;
	}
}
@media screen and (max-width: 399px){
    #right .navigation{
        gap: 20px;
    }
}
@media screen and (max-width: 349px){
    #right .navigation{
        gap: 13px;
    }
}

/*--------------------------------------------------------- languages ---------------------------------------------------------*/

#lang .mod-languages{
    position: relative;
    display: flex;
  flex-direction: column;
  align-items: center;
}
  #lang .lang-active{
        display: flex;
        align-items: center;
      flex-direction: row;
      gap: 10px;
  }
      #lang .lang-active .arr {
          width: 15px;
          height: 15px;
          position: relative;
      }
          #lang .lang-active .arr:before, #lang .lang-active .arr:after {
              content: ' ';
              width: 70%;
              height: 1px;
              background-color: var(--color);
              position: absolute;
              top: 50%;
              transition: 200ms;
          }
          #lang .lang-active .arr:before {
              transform: rotate(40deg);
              left: 0;
          }
          #lang .lang-active .arr:after {
              transform: rotate(-40deg);
              left: 50%;
          }
          #lang .lang-active.show .arr:before {
              transform: rotate(-40deg);
          }
          #lang .lang-active.show .arr:after {
              transform: rotate(40deg);
          }
  #lang .languages{
        list-style: none;
        display: flex;
      flex-direction: column;
      align-items: center;
        display: none;
        position: absolute;
        top: 100%;
        white-space: nowrap;
        background-color: var(--color-bg);
        padding: 10px 5px 0;
        height: 190px;
        z-index: 9;
  }
      #lang .languages li{
            display: flex;
          	align-items: center;
          	justify-content: center;
            margin: 5px 0;
            border-radius: 5px;
      }
			#lang .languages li a{
			  	padding: 10px 20px;
			}
          #lang .languages li:hover{
                background-color: var(--color);
          }
              #lang .languages li:hover *{
                    color: var(--color-bg);
              }
              #lang .languages li *{
                    text-decoration: none;
              }

#lang select{
    border: none;
    width: 45px;
}

@media screen and (max-width: 1799px){
    #lang .lang-active {
      gap: 4px;
  }
    #lang .lang-active .arr {
      width: 10px;
      height: 10px;
  }
}

@media screen and (max-width: 999px){
    #lang .languages{
      height: auto;
        background-color: transparent;
    }
        #lang .languages li{
            background-color: var(--color-bg);    
        }
  		#lang .languages li a{
		  	padding: 5px 10px;
		}
}
/*--------------------------------------------------------- breadcrumbs ---------------------------------------------------------*/
.mod-breadcrumbs__wrapper{
  	flex: 1 0;
    display: flex;
    align-items: center;
    justify-content: center;
  	font-size: 0.8em;
}
ol.breadcrumb{
  	writing-mode: vertical-rl;
    display: flex;
    transform: rotate(180deg);
    gap: 10px;
  	list-style: none;
  	padding: 0;
  	max-height: calc(100dvh - var(--size-mt) - var(--size-mb) - 260px);
    flex-wrap: nowrap;
}
	ol.breadcrumb li{
	  	display: flex;
    	gap: 10px;
      	
	}
	ol.breadcrumb li.active{
      	overflow: hidden;
	}
	ol.breadcrumb li span{
		white-space: nowrap;
    	overflow: hidden;
    	text-overflow: ellipsis;
	}

@media screen and (max-width: 1799px){
  	/*.mod-breadcrumbs__wrapper{
  		font-size: 12px;
	}*/
}
@media screen and (max-width: 999px){
  	.mod-breadcrumbs__wrapper{
  		display: none;
	}
}