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

.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;
}


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

@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;
	}
}