/*TODO: Move to the dedicated file*/
body {
    height: 100%;
    min-height: 100%;
}

body.home-page > * {
    padding: 0 5vw;
}

#header {
    display: flex;
    justify-content: space-between;
    padding: calc(var(--size-mt) / 2) calc(5vw - 20px);
    align-items: center;
    flex-wrap: wrap;  	
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
}

.home-page #header,
.menu-open #header {
    position: relative;
    width: 100vw;
}

@media screen and (orientation: portrait) {
    #header {
        position: relative;
        width: 100vw;
    }
}

@media screen and (orientation: portrait){
    .menu-open #header, .home-page #header{
        gap: 1em;
    }

    #header{
        padding-left: 5vw;
      	padding-right: 5vw;
        /*position: relative;*/
        z-index: 3;
    }
  
    @media screen and (min-width: 760px) {
      #header {
        padding-right: 10vw;
      }
    }
}

body.home-page.menu-open #header {
    position: static;
}

/*--------------------------------------------------------- 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;
    display: flex;
    gap: 5px;
}

#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;
    margin-top: 16px;
}

#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;
}*/

@media screen and (max-width: 999px){
    #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%;
  }
}

@media (orientation: landscape) and (max-height: 400px) {
  	#left #logo .logo-name h2,
    #left #logo .logo-name h3 {
        font-size: 3vh;
    }
}

/*--------------------------------------------------------- right ---------------------------------------------------------*/
#header #right *{
    line-height: 100%;
}
#header #right{
    width: 10vw;
    /*height: 100dvh;*/
    position: fixed;
    top: 0;
    right: 0;
    padding-top: 10dvh;
    /*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;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1em;
}

      #right .navigation li{
          cursor: pointer;
          font-size: min(16px, 1.5vw);
      }
	#menu-button{
	  	position: relative;
        width: auto;
	}
      #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;
        height: 20px;
     }
		#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: flex;
    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;
  }
}

#right .navigation .navigation__icon{
    /*width: 26px;
    height: 26px;*/
    width: 25%;
  	max-width: 26px;
    max-height: 26px;
    height: auto;
}

@media (orientation: portrait) {
    #right .navigation{
        font-size: 14px;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-around;
        gap: 40px;
    }
  
    #header #right {
        position: static;
        padding-top: 0;
    }
  
    #right .navigation .navigation__icon {
        height: 3dvh;
        width: 3dvh;
    }
  
    #right .navigation li{
        font-size: 2.5dvh;
    }
}

@media screen and (max-width: 999px){
    /*#header #right{
        position: initial;
      	margin: 0;
        width: auto;
        margin-left: auto;
      	height: auto;
    	padding: 0;
  }*/

    /*#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 (orientation: portrait){
    #right .navigation{
        gap: 30px;
      	width: 100%;
    } 
    #menu-button{
      position: absolute;
      top: calc(var(--size-mt) / 2);
      right: calc(var(--size-lr) / 2);
    }
    @media screen and (min-width: 760px) {
      #menu-button {
        top: initial;
      }
    }
    #header #right{
        width: 100%;
      	margin: 0 auto;
    }
    @media screen and (min-width: 760px) {
        #header #right{
            width: 50%;
            margin: 0;
        }
    }
  	#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;
    }
}


@media screen and (max-width: 768px) {
  #header #right ul.navigation li#contacts {
    display: none !important;
  }
}

/*--------------------------------------------------------- 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;
    overflow: clip;
}
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;
	}
}