:root {
  --navbar-height:min(40px, 10vw);
  --body-height:calc(100% - var(--navbar-height));
  --XL-font-size:min(4.5vw, 18px);
  --L-font-size:min(4vw, 16px);
  --M-font-size:min(3.5vw, 14px);
  --S-font-size:min(3vw, 12px);
  --XS-font-size:min(2.5vw, 10px);
}

header {
  background-color: black;
  border-bottom: 1px solid grey;  
  width:100vw;
  position:sticky;
  left:0;
  top:0;
  z-index:1;
}

nav .top {
  display:flex;
  justify-content: space-between;
  align-items:center;
  width:100%;
  flex-wrap: wrap;
}

nav .navbar-title {
  font-size:var(--XL-font-size);
  font-weight:bold;
  color:white;
  padding-left:5%;
  white-space:nowrap;
  cursor:pointer;
}

.nav-ribbon {
  position: relative;
  text-align: center;
  background-color: white;
  color:black;
}

.nav-ribbon::before, .nav-ribbon::after {
  content: '';
  width: 60px;
  height: 100%;
  background-color:white; 
  font-size:16px;
  font-weight: normal;
  /* position ribbon ends behind and slightly lower */
  position: absolute;
  z-index: -1;
  top:0;
  
  /* clip ribbon end shape */
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 25% 50%);

  /* draw and position the folded ribbon bit */
  background-image: linear-gradient(45deg, transparent 50%, white 50%);
  background-size: 20px 20px;
  background-repeat: no-repeat;
  background-position: bottom right;
}

.nav-ribbon::before {
  left: -20px;
}

.nav-ribbon::after {
  right: -20px;
  transform: scaleX(-1); /* flip horizontally */
}  
  
nav .list-item {
  width: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  background-color: #2B2D2F;
  display: none;
}

nav .list-item li {
  text-align: center;
  display: block;
  border-bottom: 1px solid grey;
  border-top:1px solid grey;
  padding-top:15px;
  padding-bottom:15px;
}

.break {
  flex-basis: 100%;
  height: 0;
}

nav .list-item li a {
  color: #EEE;
}

nav .list-item li:hover {
  background-color: brown;
}  

nav .icon {
  display: block;
  height:var(--navbar-height);
  aspect-ratio:1 / 1;
  overflow:hidden;
}

nav .toggle {
  margin-right: min(2.5vw, 10px);
  background: black;
  position: relative;
  height:80%;
  aspect-ratio:1 / 1;
  display: flex;
  align-items: center;
  justify-content: space-around;
  flex-direction: column;  
  top:50%;
  transform:translateY(-50%);
  padding:0;
}    

nav .toggle .icon-bar {
  display:block;
  height:15%;
  aspect-ratio:6 / 1;
  transition: transform 0.2s ease-in-out;
  background-color: white;
} 

nav .toggle.opened .icon-bar:first-child,
nav .toggle.opened .icon-bar:last-child {
  position: absolute;
  margin: 0;
  height:18%;
}

nav .toggle.opened .icon-bar:first-child {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

nav .toggle.opened .icon-bar:nth-child(2) {
  opacity: 0;
}

nav .toggle.opened .icon-bar:last-child {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg);
}   

nav .arrow-left, nav .arrow-right, .toLeftcheckbox {
  display:none;
}

@media only screen and (min-width: 900px) {  
  nav .icon {
    display: none;
  }       
  
  nav .list-item {
    width: auto;
    height:100%;    
    padding-right:10%;
    display:flex !important;
    background:black;
    list-style-type: none;
    margin-block-start: 0;
    margin-block-end: 0;
  }
  
  nav .list-item li {
    padding-left: 15px;
    padding-right: 15px;
    font-size:var(--L-font-size);
    border-radius: 3px;
    border: none;
    padding-bottom: 0;
  } 
  
  .break {
    display:none;
  }
}   
        
@media only screen and (min-width: 900px) and (max-height: 650px) {    
  header {
    width:200px;
    position:fixed;
    top:0;
    bottom:0;
    border:none;
  }      
  
  nav .top {
    height:100%;
    flex-direction:column;
    justify-content: flex-start;
  }
  
  nav .navbar-title {
    padding-left: 0;
    text-align:center;
    height:40px;
    line-height:40px;
    order:1;
  }
  
  .nav-ribbon {
    width:100px;
    display:flex;
    flex-direction:column;
    flex-wrap:wrap;
    order:3;
    position:relative;
    top:100px;
  }

  nav .list-item {
    flex-direction:column;
    width: 100%;
    height:auto;
    padding-right:0;
    order:2;
  }
  
  nav .list-item li {
    padding-bottom: 15px;
  }      
  
  nav .arrow-left, nav .arrow-right {
    position: absolute;
    top:50%;
    transform:translateY(-50%);
    right:0;
    z-index:2;
    color:white;
    font-size:30px;
  }  
  
  .show {
    display:block !important;
  }
  
  .to-left {
    transform:translateX(-170px);
    transition: all 0.7s ease;	
  }
  
  .to-right {
    transform:translateX(0);
    transition: all 0.7s ease;	
  }  
}      
  
.loader {
  width: var(--L-font-size);;
  aspect-ratio:1 / 1;
  border: 2px solid #FFF;
  border-bottom-color: #FF3D00;
  border-radius: 50%;
  display: inline-block;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
}

@keyframes rotation {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}       


  
  
  
  
  
  
  
  
  
  
  
  