.footer {
    background-color:#615dfa;
    background-image:linear-gradient(to bottom, rgba(97, 93, 250, 0.95) 0%,rgba(97, 93, 250, 0.95) 100%), url(../../../stabilizer/assets/bg.svg);
    background-blend-mode:normal, luminosity;
    color: white;
}

.footer:before{
    content:'';
    width:100%;
    height:2px;
    display:block;
	background:-moz-linear-gradient(to right, #c36d6d 0, #ff00ff 15%, #0000ff 33%, #00ffff 49%, #00ff00 67%, #ffff00 84%, #d36c6c 100%);
	background:-webkit-linear-gradient(left, #c36d6d 0, #ff00ff 15%, #0000ff 33%, #00ffff 49%, #00ff00 67%, #ffff00 84%, #d36c6c 100%);
    background:white linear-gradient(to right, #c36d6d 0, #ff00ff 15%, #0000ff 33%, #00ffff 49%, #00ff00 67%, #ffff00 84%, #d36c6c 100%);
}

.footer a{
	color:white
}

.footer-top{
	display:flex;
	flex-wrap:wrap;
	padding:2rem 0;
	margin-left:-2rem;
	margin-bottom:-1rem
}

.footer-top > div{
	margin: 0 0 1rem 2rem
}

.footer-top_info{
	flex:1 0 calc(100% / 4);
}

.footer-top_info_logo{
	margin-bottom:var(--default-margin)
}

.footer-top_info_social ul{
	display:flex;
	list-style:none;
	padding:0;
	margin-bottom:calc(var(--default-margin) * 1.5)
}

.footer-top_info_social ul li a{
	margin-right:.25rem;
	display:inline-flex;
	justify-content:center;
	align-items:center;
	font-size:calc(1em - 1px);
	width:1.5rem;
	height:1.5rem;
	border-radius:50%;
	box-shadow: 0 0 0 -2px transparent;
	transition:250ms linear;
}

.footer-top_info_social ul li a:hover{
	box-shadow: 0 0 0px 2px white;
}

.footer-top_nav{
	flex-basis:16%
}

.footer-top_nav_head, .footer-top_pthemes_head{
	margin-bottom:1rem;
	position:relative
}

.footer-top-tabhead *{
	pointer-events:none
}

.footer-top_nav_head_collapse{
	display:none;
	position: absolute;
	right:1rem;
	top: 50%;
	transform: translateY(-50%);
	fill: white;
}

.footer-top_nav_head_collapse svg{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:1rem;
	height:1rem;
	opacity:0;
	visibility:hidden;
	transition:250ms ease;
}

.footer-top-tabhead.close .footer-top_nav_head_collapse svg.minusicon{
	opacity:0;
	visibility:hidden;
}

.footer-top-tabhead.close .footer-top_nav_head_collapse svg.plusicon,
.footer-top-tabhead .footer-top_nav_head_collapse svg.minusicon{
	opacity:1;
	visibility:visible;
}

.footer-top_nav_head h3, .footer-top_pthemes_head h3{
	margin:0;
	margin-bottom:.25rem
}

.footer-top_nav_head span, .footer-top_pthemes_head span{
	text-transform:uppercase;
	font-size:calc(1em - 2px);
	letter-spacing: 3px
}

ul.footer-top_nav_links{
	list-style:none;
	padding:0;
	margin:0
}

ul.footer-top_nav_links > li{
    margin-bottom: calc(var(--default-margin) / 4);
	white-space: nowrap
}

ul.footer-top_nav_links > li > a > span{
	transition: 250ms ease
}

ul.footer-top_nav_links > li > a:hover > span{
	margin-left: .375rem
}

ul.footer-top_nav_links > li > a > i {
	margin-right: .5rem;
	color:rgba(0,0,0,0.25);
	transition: 250ms ease
}

ul.footer-top_nav_links > li > a:hover > i{
	color:white
}

.footer-top_pthemes_list {
    display: grid; 
    grid-template-columns: repeat(4, 1fr);
    grid-gap: .5rem;
}

.footer-top_pthemes_list_item:nth-child(3n+1) {
      grid-column: 1;
 }

.footer-top_pthemes_list_item:nth-child(3n+2) {
      grid-column: 2;
}

.footer-top_pthemes_list_item:nth-child(3n+3) {
      grid-column: 3;
}

.footer-top_pthemes_list_item:nth-child(3n+4) {
      grid-column: 1;
}

.footer-top_pthemes_list_item a{
	background:rgba(0,0,0,0.25);
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:.5rem;
	font-weight:bold;
	width:3rem;
	height:3rem;
	font-size:1.75rem;
	transition:250ms ease-in-out;
}

.footer-top_pthemes_list_item a:hover{
	transform: scale(1.1);
}

.footer-top_backtop, .footer-top_backtop_inner{
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	cursor:pointer;
}

.footer-top_backtop_inner {
	animation: top-down 1s linear infinite alternate
}

@keyframes top-down {
	from {transform:translateY(0)}
	to {transform:translateY(.5rem)}
}

.backtopbutton{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:2.5rem;
	height:2.5rem;
	border-radius:50%;
	border:1px solid rgba(0,0,0,0.25);
	transition: 250ms ease-out;
}

.footer-top_backtop:hover .backtopbutton{
	border: 2px solid white
}

.footer-top_backtopdots{
	margin:1rem 0
}

.footer-top_backtopdots > div{
	background:white;
	width:.25rem;
	height:.25rem;
	margin-bottom:.5rem;
	border-radius:50%;
}

.footer-top_backtopdots > div:first-child{
	opacity:.5;
}

.footer-top_backtopdots > div:nth-child(2){
	opacity:.75;
}

.footer-top_backtoptext{
	text-transform:uppercase;
	font-weight:bold;
	writing-mode:vertical-rl;
	margin-top:40%;
}

.footer-bottom{
	background:#4e4ac8
}

.footer-bottom_content{
	display:flex;
	justify-content:space-between;
	padding: .75rem 0;
}

.footer-bottom_crafted{
	display:flex;
	align-items:center
}

.footer-bottom_crafted > svg{
	margin: 0 calc(var(--default-margin) / 4);
}

.heartbeat {
	animation-iteration-count: infinite;
	animation-timing-function: linear;
	animation-duration: 1.8s;
	animation-name: heartbeat
}

@keyframes heartbeat {
	0% {
		transform: scale( .75 )
	}

	20% {
		transform: scale( 1 )
	}

	40% {
		transform: scale( .75 )
	}

	60% {
		transform: scale( 1 )
	}

	80% {
		transform: scale( .75 )
	}

	100% {
		transform: scale( .75 )
	}
}
		
		
		
		
		
		
		
		
		