*{ box-sizing: border-box; user-select: none; }


section{
  display: flex;
  flex-direction: column;
  padding: 0.5em;
}

headerText{
  font-weight: 400;
  font-size: 23px;
  cursor: default;
  margin: 8px 0 .3em 0;
  color: #ffffff;
  padding-left: 20px;
    width: 180px;
}

input[type='checkbox']{ 
  height: 0; 
  width: 0; 
}

input[type='checkbox'] + label{
  /* text-transform: uppercase; */
  position: relative;
  display: flex;
  margin: 1px 0; 
  align-items: center;
  color: #ffffff;
  transition: color 250ms cubic-bezier(.4,.0,.23,1);
  font-size: 16px;
  padding-left: 13px;
}


label .icon {
  width: 15px;
  height: 15px;
  margin-left: 10px;
  flex-shrink: 0;
  pointer-events: none;
  filter: drop-shadow(0 0 1px rgba(0,0,0,0.1));
  filter: brightness(0) invert(1);
}


input[type='checkbox'] + label > span{
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: 1em;
  width: 15px;
  height: 15px;
  background: transparent;
  border: 2px solid #ffffff;
  border-radius: 2px;
  cursor: pointer;  
  transition: all 250ms cubic-bezier(.4,.0,.23,1);
}

input[type='checkbox'] + label:hover {
 border: 1px solid #ffffff;
  border-radius: 5px;
}

input[type='checkbox'] + label:hover > span, input[type='checkbox']:focus + label > span{
    border-radius: 1px; 
}

input[type='checkbox']:checked + label > span{
  border: .6em solid #ffffff;
  animation: shrink-bounce 200ms cubic-bezier(.4,.0,.23,1);
}
input[type='checkbox']:checked + label > span:before{
  content: "";
  position: absolute;
  top: 10px;
  left: 15px;
  border-right: 3px solid transparent;
  border-bottom: 3px solid transparent;
  transform: rotate(45deg);
  transform-origin: 0% 100%;
  animation: checkbox-check 125ms 250ms cubic-bezier(.4,.0,.23,1) forwards;
}

@keyframes shrink-bounce{
  0%{
    transform: scale(1);
  }
  33%{    
    transform: scale(.85);
  }
  100%{
    transform: scale(1);    
  }
}
@keyframes checkbox-check{
  0%{
    width: 0;
    height: 0;
    border-color: #000000;
    transform: translate3d(0,0,0) rotate(45deg);
  }
  33%{
    width: .2em;
    height: 0;
    transform: translate3d(0,0,0) rotate(45deg);
  }
  100%{    
    width: .2em;
    height: .5em;    
    border-color: #000000;
    transform: translate3d(0,-.5em,0) rotate(45deg);
  }
}


/* toggle show all starts */
.toggle-wrapper {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  gap: 10px;
  transition: color 0.3s ease;
  justify-content: center;
  margin-top: 10px;
  width: 140px;
  margin-left: 90px;
}


.toggle-wrapper:hover {
   border: 1px solid #ffffff;
  border-radius: 5px;
  /* color: #0078D7; */
}

.toggle-text{
  font-size: 16px;
  color: #F5F3ED;
}

.toggle-icon {
  transition: transform 0.3s ease;
  filter: brightness(0) invert(1);
}

.toggle-wrapper.active .toggle-icon {
  transform: scale(1.1);
}
/* toggle show all ends */



/* toggle show all starts */
.toggle-menu-wrapper {
  display: inline-flex;
  align-items: center;
  cursor: pointer;
  user-select: none;
  gap: 120px;
  transition: color 0.3s ease;
  justify-content: left;
}

.toggle-menu-text{
  font-weight: 400;
  font-size: 23px;
  cursor: default;
  margin: 8px 0 .3em 0;
  color: #ffffff;
  padding-left: 20px;
}

.toggle-menu-icon {
  transition: transform 0.3s ease;
  filter: brightness(0) invert(1);
}

.toggle-menu-wrapper.active .toggle-menu-icon {
  transform: scale(1.1);
}
/* toggle show all ends */