header {
  position: sticky;
  top: 0;
  z-index: 10;
  border-bottom: 2px solid var(--secondary);
}

nav {
  background-color: var(--white);
  display: flex;
  padding: 0 14px;
  align-items: center;
  gap: 12px;
}

.header-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.logo {
  width: 100px;
  height: fit-content;
  display: flex;
  flex: 1 0 auto;
  flex-grow: 0;
  padding: 6px;
}

.logo img {
  width: 100%;
  height: 100%;
}

.welcome-section {
  height: calc(100vh - 180px);
  color: var(--white);
  display: flex;
  position: relative;
}

.blender {
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: var(--primary); 
}

.blender img {
  object-fit: cover;
  object-position: bottom;
  width: 100%;
  height: 100%;
}

.header-description {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 20px;
  gap: 16px;
  z-index: 1;
  display: flex;
  margin: 0 auto;
  max-width: var(--max-content);
}

.header-desktop {
  display: none;
}

.header-description h2 {
  font-size: 16px;
  margin: 0;
}

.header-description h1 {
  font-size: 24px;
  font-weight: 700;
  margin: 0;
}

.header-tags {
  display: none;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 10px;
}

.header-tags > span {
  background-color: var(--white);
  padding: 8px 12px;
  border-radius: 8px;
  color: var(--black);
  font-family: 'Nunito';
  text-transform: uppercase;
  font-size: 12px;
  width: fit-content;
}

.menu-wrapper {
  position: relative;
  width: 50px;
  height: 50px;
}

.header-menu li {
  list-style-type: none;
}

.header-menu a {
  color: var(--black);
  text-decoration: none;
}

.header-menu ul {
  margin: 0;
  text-align: left;
}

.main-menu {
  position: fixed;
  top: 0;
  right: -100%;
  height: 100%;
  width: 100%;
  background: var(--black);
  opacity: 0.85;
  transition: all 0.4s ease-in-out;
}

#active:checked ~ .main-menu {
  right:0;
}

.menu-btn{
  position: absolute;
  z-index: 20;
  height: 50px;
  width: 50px;
  text-align: center;
  line-height: 50px;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
  transition: all 0.1s ease-in-out;
}

.menu-btn span,
.menu-btn:before,
.menu-btn:after{
	content: "";
	position: absolute;
	top: calc(50% - 1px);
	left: 30%;
	width: 40%;
	border-bottom: 2px solid var(--black);
	transition: transform .6s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.menu-btn:before{
  transform: translateY(-8px);
}
.menu-btn:after{
  transform: translateY(8px);
}
.close {
	z-index: 15;
	width: 100%;
	height: 100%;
	pointer-events: none;
	transition: background .6s;
}

#active:checked + .menu-btn span {
	transform: scaleX(0);
}
#active:checked + .menu-btn:before {
	transform: rotate(45deg);
  border-color: #fff;
}
#active:checked + .menu-btn:after {
	transform: rotate(-45deg);
  border-color: #fff;
}

.main-menu ul{
  position: absolute;
  top: 60%;
  left: 50%;
  height: 90%;
  transform: translate(-50%, -50%);
  list-style: none;
  text-align: center;
  padding: 0;
}
.main-menu ul li{
  margin: 15px 0;
}
.main-menu ul li a {
  text-decoration: none;
  font-size: 30px;
  font-weight: 500;
  padding: 5px 30px;
  color: #fff;
  border-radius: 50px;
  line-height: 50px;
  margin: 5px 30px;
  opacity: 0;
}

.main-menu ul li a:hover {
  color: var(--primary);
}

#active {
  position: absolute;
  opacity: 0;
  width: 50px;
  height: 50px;
  z-index: 25;
  cursor: pointer;
}

#active:focus-visible + .menu-btn {
  outline: 3px solid blue;
  outline-width: 2px;
}

#active:checked ~ .main-menu ul li a{
  opacity: 1;
}
.main-menu ul li a{
  transition: opacity 0.2s, transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: translateX(100px);
}
#active:checked ~ .main-menu ul li a{
	transform: none;
	transition-timing-function: ease, cubic-bezier(.1,1.3,.3,1);
  transition-delay: .3s;
  transform: translateX(0);
}

@media screen and (min-width: 768px) {
  .header-desktop {
    padding: 68px;
    display: flex;
  }

  .header-mobile {
    display: none;
  }

  .welcome-section {
    height: calc(100vh - 70px);
  }

  .header-description {
    width: 100%;
  }

  .header-description .header-tags > span {
    font-size: 14px;
  }

  .header-description h2 {
    font-size: 32px;
  }

  .header-description h1 {
    font-size: 48px;
  }

  .header-tags {
    display: flex;
  }
}

@media screen and (min-width: 1440px) {
  .header-desktop {
    padding: 96px;
  }
}

@media screen and (max-width: 1440px) {
}

@media screen and (max-width: 768px) {
  .header-menu {
    display: none;
  }
}

@media screen and (max-width: 500px) {
}


