/* BUTTONS */
.button {
  position: relative;
  border: none;
  background-color: transparent;
  padding: 15px 30px;
  letter-spacing: var(--letterSpacing);
  font: 700 var(--primaryTextSize) Roboto, sans-serif;
  border-radius: var(--radius);
  cursor: pointer;
  overflow: hidden;
  white-space: nowrap;
}

.button__image {
  width: 20px;
  filter: invert(100%);
}
.button__text {
  z-index: 1;
}

.button--primary {
  background-color: var(--primaryColor);
  color: var(--secondaryColor);
  position: relative;
  z-index: 1;
}
.button--primary::before,
.button--primary::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  content: '';
  z-index: -1;
  transition: width 400ms ease;
}
.button--primary:hover::before {
  width: 100%;
  transition: width 300ms ease;
  background-color: var(--primaryBoldColor);
}
.button--primary:hover::after {
  width: 20px;
  transition: width 200ms 200ms ease;
  background-color: var(--primaryBlackColor);
}

.button--icon {
  background-color: var(--primaryColor);
  color: var(--secondaryColor);
  display: flex;
  align-items: center;
}
.button--icon::before {
  content: '';
  position: absolute;
  left: -11px;
  top: 50%;
  background-color: var(--primaryBoldColor);
  width: 100px;
  height: 100px;
  border-radius: 50%;
  transform: translateY(-50%) scale(0);
  transition: 300ms ease;
  opacity: 0;
  transform-origin: center;
}

.button--icon:hover::before {
  animation: none;
  transform: translateY(-50%) scale(1);
  opacity: 1;
  transition: 1s ease;
}

.button--icon > *:first-child {
  margin-right: 10px;
}

.button--secondary {
  display: flex;
  align-items: center;
  border: 2px solid var(--primaryColor);
  color: var(--secondaryColor);
  background-color: #14141499;
}
.button--secondary::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  background-color: var(--primaryBoldColor);
  width: 10px;
  height: 100%;
  transform: rotate(-45deg) translate(3px, 10px);
  transition: transform 600ms ease;
  transform-origin: bottom;
}
.button--secondary:hover::before {
  transform: rotate(0) translate(0, 0);
  transition: transform 600ms ease;
}

.button--third {
  display: flex;
  align-items: center;
  border: 2px solid var(--primaryColor);
  color: var(--secondaryColor);
  background-color: #14141499;
}
.button--third:hover {
  background: #4295cfd9;
  transition: background 300ms ease;
}
.button--third.button-main {
  background: #4295cf42;
}


.button--small {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--primaryColor);
  color: var(--secondaryColor);
  background-color: #14141499;
  padding: 8px 12px;
  letter-spacing: 2px;
  font-size: 12px;
}
.button--small:hover {
  background: #4295cfd9;
  transition: background 300ms ease;
}


/* BURGER BUTTON */
.burger {
  width: 35px;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.burger:hover .burger__line:nth-of-type(1),
.burger:hover .burger__line:nth-of-type(3) {
  width: 100%;
  transition: width 300ms ease;
}

.burger--active .burger__line:nth-of-type(1) {
  transform: rotate(45deg) translate(8px, 4px);
  width: 100%;
  transition: transform 300ms ease;
}
.burger--active .burger__line:nth-of-type(2) {
  transform: rotate(-45deg) translate(3px, 1px);
  transition: transform 300ms ease;
}
.burger--active .burger__line:nth-of-type(3) {
  display: none;
}

.burger__line {
  width: 100%;
  height: 3px;
  margin-bottom: 7px;
  background-color: var(--secondaryColor);
  transition: 200ms ease;
}
.burger__line:nth-of-type(1) {
  width: 40%;
}
.burger__line:nth-of-type(3) {
  width: 70%;
  margin-bottom: 0;
}

.custom-scroll.wrapper {
  overflow-y: auto;
  padding-right: 20px;
}
.custom-scroll {
  scrollbar-color: #4295cf77 #e4e4e416;
  scrollbar-width: thin;
  transition: scrollbar-color 0.3s ease-out;
}
.custom-scroll:hover {
  scrollbar-color: #4295cfbb;
}
.custom-scroll::-webkit-scrollbar {
  width: 15px;
}
.custom-scroll::-webkit-scrollbar-track {
  background-color: #4295cf16;
  border-radius: 10px;
}
.custom-scroll::-webkit-scrollbar-thumb {
  border-radius: 10px;
  border: 3px solid transparent;
  background-clip: content-box;
  background-color: #4295cf77;
}
.custom-scroll::-webkit-scrollbar-thumb:hover {
  background-color: #4295cfbb;
}

/* .ReactModal__Content:hover .custom-scroll::-webkit-scrollbar-thumb {
  background-color: #f295cf77;
} */


@media only screen and (max-width: 769px) {
  .button {
    padding: 10px 25px;
    font: 700 var(--primaryTextSizeS) Roboto, sans-serif;
  }

  .button--secondary::before {
    display: none;
  }

  .burger {
    width: 25px;
  }

  .burger__line:nth-of-type(2) {
    margin-bottom: 0;
  }
  .burger__line:nth-of-type(3) {
    display: none;
  }
}
