
.button {
    pointer-events: auto;
    cursor: pointer;
    background: black;
    border: 1px solid white; /* Add border with width, style, and color */
    padding: 0.8rem 2rem;
    margin: 0;
    font-family: inherit;
    position: relative;
    display: inline-block;
  }
  

.button::before,
.button::after {
	position: absolute;
	top: -1px;
	left: 0;
	width: 100%;
	height: 100%;
}

.button--calypso {
	overflow: hidden;
	border-radius: 0.85rem;
	color: #fff;
	
}

.header .button--calypso{
	display: none;
}

.button--calypso span {
	display: block;
	position: relative;
	mix-blend-mode: difference;
	z-index: 10;
}

.button--calypso:hover span {
	animation: MoveScaleUpInitial 0.3s forwards, MoveScaleUpEnd 0.3s forwards 0.3s;
}


.button--skoll {
	overflow: hidden;
	border-radius: 50%;
	color: #fff;
	width: 40px;
	height: 40px;
	padding: 0;
	font-weight: 500;
	margin: 0 5px;
}

.button--skoll span {
	display: block;
	position: relative;
}

.button--skoll > span {
	overflow: hidden;
	mix-blend-mode: difference;
}

.button--skoll:hover > span > span {
	animation: MoveUpInitial 0.2s forwards, MoveUpEnd 0.2s forwards 0.2s;
	
}

.button--skoll::before {
	content: '';
	background: #000;
	width: 100%;
	height: 0;
	padding-bottom: 100%;
	border-radius: 50%;
	transform: translate3d(0,0,0);
	transition: transform 0.3s;
	transition-timing-function: cubic-bezier(0.7, 0, 0.2, 1);
}

.button--skoll:hover::before {
	transform: translate3d(0,100%,0);
}

@keyframes MoveScaleUpInitial {
	to {
		transform: translate3d(0,-105%,0) scale3d(1,2,1);
		opacity: 0;
	}
}

@keyframes MoveScaleUpEnd {
	from {
		transform: translate3d(0,100%,0) scale3d(1,2,1);
		opacity: 0;
	}
	to {
		transform: translate3d(0,0,0);
		opacity: 1;
	}
}

.button--calypso::before {
	content: '';
	background: white;
	width: 120%;
	height: 0;
	padding-bottom: 120%;
	top: -110%;
	left: -10%;
	border-radius: 50%;
	transform: translate3d(0,68%,0) scale3d(0,0,0);
}

.button--calypso:hover::before {
	transform: translate3d(0,0,0) scale3d(1,1,1);
	transition: transform 0.4s cubic-bezier(0.1, 0, 0.3, 1);
}

.button--calypso::after {
	content: '';
	background: white;
	transform: translate3d(0,-100%,0);
	transition: transform 0.4s cubic-bezier(0.1, 0, 0.3, 1);
}

.button--calypso:hover::after {
	transform: translate3d(0,0,0);
	transition-duration: 0.05s;
	transition-delay: 0.4s;
	transition-timing-function: linear;
}

@media screen and (min-width: 858px) {
	.button--calypso{
		display: flex;
	}
}