.contact-elements {
	position: fixed;
	bottom: 25px;
	right: 25px;
}

.contact-elements-base-button {
	padding: 0;
	outline: none;
	border: none;
	background: transparent;
	width: 48px;
	height: 48px;
	cursor: pointer;
	position: relative;
	z-index: 999;
}

.contact-elements-base-button .on-active {
	display: none;
}

.contact-elements-base-button.is-active .on-active {
	display: block;
}

.contact-elements-base-button.is-active .on-default {
	display: none;
}

.contact-elements-base-button:focus {
	outline: none;
	border: none;
}

.contact-elements-list {
	padding: 0;
	margin: 0;
}

.contact-elements-list-item {
	list-style-type: none;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: 998;
	width: 48px;
	height: 48px;
	opacity: 0;
	border-radius: 50%;
	-webkit-transition: all 0.4s cubic-bezier(.41,.13,0,1.7);
	-moz-transition: all 0.4s cubic-bezier(.41,.13,0,1.7);
	-o-transition: all 0.4s cubic-bezier(.41,.13,0,1.7);
	transition: all 0.4s cubic-bezier(.41,.13,0,1.7);
}

.contact-elements-list-item:hover {
	-webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,.5);
	-moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,.5);
	box-shadow: 0px 0px 5px 0px rgba(0,0,0,.5);
}

.contact-elements-list.is-active .contact-elements-list-item {
	opacity: 1;
}

.contact-elements-list.is-active .contact-elements-list-item:nth-child(1) {
	right: 83px; /* 48 + 35 */
}

.contact-elements-list.is-active .contact-elements-list-item:nth-child(2) {
	bottom: 63px; /* 48 + 15 */
	right: 63px; /* 48 + 15 */
}

.contact-elements-list.is-active .contact-elements-list-item:nth-child(3) {
	bottom: 83px; /* 48 + 35 */
}