

.little-magic-ball {
  position: relative;
  width: 82px;
  height: 82px;
  border-radius: 100%;
  margin: 0 auto;
  background: transparent url('/wp-content/themes/ivy2017/img/global-sprite-2017.png') no-repeat scroll;
  background-position: -383px -194px;
  /*background-position: -383px -105px;*/
}
/*.little-magic-ball:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  border-radius: 100%;
  width: 81px;
  height: 81px;
}
.little-magic-ball:hover:after {
  animation: shockwave 1.5s ease-in infinite;
}*/
.bounce { 
  animation:bounce .40s linear; 
}
.activate {
  background-position: -383px -105px;
}


.alt-container {
  width: 82px;
  height: 82px;
  border-radius: 100%;
  margin: 0 auto;
  position: relative;
  top: 72px;
}
.alt-container:hover {
	cursor: pointer;
}
.alt-container:hover .alt {
  background-position: -383px -105px;
}
.bounce-out {  
  animation:bounce-out .40s linear;
}

@keyframes bounce {
        0%{ transform:scale(0); opacity:0;}
        50%{ transform:scale(1.1); opacity:0.4;}
        75%{ transform:scale(0.9); opacity:0.7;}
        100%{ transform:scale(1); opacity:1;}
}
@keyframes bounce-out {
        0%{ transform:scale(0); opacity:0;}
        50%{ transform:scale(1.1); opacity:0.4;}
        75%{ transform:scale(0.9); opacity:0.7;}
        100%{ transform:scale(1); opacity:1;}
}
@keyframes shockwave {
  0% {
    transform: scale(1);
    box-shadow: 0 0 2px rgb(28,148,131);
    opacity: 1;
  }
  100% {
    transform: scale(1);
    opacity: 0;
    box-shadow: 0 0 60px rgba(28,148,131,.5), inset 0 0 10px rgb(28,148,131); /*rgb(20, 107, 96)*/
  }
}


/* OVERLAY Effects */
.overlay-content {
	max-width: 680px;
	text-align: center;
	padding: 0 20px;
	margin: 0 auto;
	margin-top: 60px;
}
.overlay-content h2 {
	color: #333231;
	font-size: 36px;
	font-family: 'Karu-Medium';
	font-style: normal;
	line-height: 1.5;
	margin-bottom: 20px;
	text-transform: none;
}
.overlay {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(255,255,255, .95);
}
.overlay-scale {
	visibility: hidden;
	opacity: 0;
	transform: scale(0.9);
	transition: transform 0.2s, opacity 0.2s, visibility 0s 0.2s;
}
.overlay-scale.open {
	visibility: visible;
	opacity: 1;
	transform: scale(1);	
	transition: transform 0.4s, opacity 0.4s;
	z-index: 9999;
}
/** Alternate animation **/
.overlay-slidedown {
	visibility: hidden;
	transform: translateY(-100%);
	transition: transform 0.4s ease-in-out, visibility 0s 0.4s;
}

.overlay-slidedown.open {
	visibility: visible;
	transform: translateY(0%);
	transition: transform 0.4s ease-in-out;
}
.overlay .overlay-close {
	background: url('/wp-content/themes/ivy2017/img/global-sprite-2017.png') no-repeat scroll -224px -131px transparent;
	position: absolute;
  	right: 20px;
  	top: 20px;
	height: 29px;
	z-inded: 99999;
	opacity: 1;
}
.overlay .overlay-close:hover { 
  opacity: .3;
}


/* Large magic 8 ball */
.error404 .site-main p.instructions, .overlay-content p.instructions {
    color: #8c8c8c;
    
    letter-spacing: 4px;
    font-size: 16px;
    margin-top: 40px;
    margin-bottom: -10px;
	font-weight: 400;
    font-family: 'MagneticPro-ExtraLightitalic', sans-serif;

	color: #1c9483;
	font-size: 24px;
}
.magic-text {
    background: linear-gradient(to right, #6b8cce  20%, #0c3483 40%, #0c3483 60%, #6b8cce  80%);
    background-size: 200% auto;
    color: #000;
    background-clip: text;
    text-fill-color: transparent;
    animation: shine 2s linear infinite;
}
@keyframes shine {
    to {
      background-position: 200% center;
    }
}
@-webkit-keyframes shine {
	to {
      background-position: 200% center;
    }
}
.error404 .site-main {
    margin: 40px auto 120px auto;
    text-align: center;
	padding: 0 20px;
}
.error404 .site-main h1 {
	color: #333231;
	font-size: 36px;
	font-family: 'Karu-Medium';
	font-style: normal;
	line-height: 1.5;
	margin-bottom: 20px;
}
.error404 .site-main p {
	color: #414040;
	font-size: 18px;
	font-family: 'Karu-Regular';
	font-style: normal;
	font-weight: 400;
	text-align: center;
	line-height: 1.6em;
	margin-bottom: 20px;
}
.error404 .site-main a {
	color: #199383;
}
.error404 .site-main a:hover, .error404 .site-main a:focus {
	text-decoration: underline;
}
.ball-container {
    width: 100%;
    height: 100%;
    display: block;
    margin: 0 auto;
    position: relative;
}
.ball-container:after {
    content: '';
    display: block;
    position: absolute;
    left: calc(50% - 130px);
    width: 100%;
    max-width: 260px;
    height: 10px;
    background: transparent;
    border-radius: 50%;
    box-shadow: 0 60px 20px rgba(0,0,0,0.2);
    z-index: -1;
    animation: shadow 2s ease infinite;
    opacity: 1;
    transition: ease-in all 0.2s;
}
.ball-container.no-shadow:after {
    opacity: 0;
    transition: ease-in all 0.2s;
}
.magic-ball {
    height: 300px;
    width: 300px;
    margin: 40px auto 40px;
    /*background: linear-gradient(135deg, #cde29f 0%, #1b9483 100%);
    background-image: linear-gradient(to top, #505285 0%, #585e92 12%, #65689f 25%, #7474b0 37%, #7e7ebb 50%, #8389c7 62%, #9795d4 75%, #a2a1dc 87%, #b5aee4 100%);
    background-image: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    background-image: linear-gradient(to top, #09203f 0%, #537895 100%);*/
    background-image: linear-gradient(to top, #0c3483 0%, #a2b6df 100%, #6b8cce 100%, #a2b6df 100%);
    background: #fff;
    text-align: center;
    padding: 10px;
    color: #fff;
    position: relative;
    border: 2px solid #a1a1a1;
    border-radius: 50%;
    box-shadow: inset 0 0 50px rgba(0,0,0,.12), inset 0px -35px 3px rgba(0,0,0,.04);
    animation: floating 2s infinite;
}
.eight {
    font-family: 'MagneticPro-Regular', sans-serif;
    font-size: 64px;
    color: #a1a1a1;
    position: relative;
    /* font-weight: bold; */
    top: 50%;
    transform: translateY(-50%);
    background: white;
    border-radius: 50%;
    height: 130px;
    width: 130px;
    margin: 0 auto;
    opacity: 1;
    transition: ease-in all 0.2s;
    padding: 15px 20px;
}
.triangle {
    transform: translate(-50%,-50%) rotate(5deg);
    width: 135px;
    height: 135px;
    /* border-left: 75px solid transparent; */
    /* border-right: 75px solid transparent; */
    /* border-top: 130px solid rgba(60,10,120,0.0); */
    opacity: 0;
    transition: ease-in all 0.2s;
    position: relative;
    top: 50%;
    left: 50%;

    background-image: radial-gradient(circle 248px at center, #9fe2e0 21%, rgba(27, 148, 131, .90) 35%, rgba(27, 148, 131, .8) 100%)
    /*animation: hue 10s infinite;*/
}
.response {
    opacity: 0;
    color: white;
    text-shadow: 0px 1px 5px rgba(22, 118, 104, .5);
    text-transform: uppercase;
    font-size: 16px;
    font-family: 'Karu-Medium';
    line-height: 20px;
    position: relative;
    transform: translate(-50%,-50%) rotate(5deg);
    transition: ease-in all 0.2s;
    width: 90px;
    height: 100px;
    left: 50%;
    text-align: center;
    top: -50px;
}
.magic-ball:hover {
    cursor: move;
    cursor: grab;
    cursor: -moz-grab;
    cursor: -webkit-grab;
}
.magic-ball:active {
    cursor: move;
    cursor: grabbing;
    cursor: -moz-grabbing;
    cursor: -webkit-grabbing;
}
.triangle.active {
    /* border-top: 130px solid rgba(60,10,120,0.9); */
    -webkit-transform: translate(-50%,-50%) rotate(0deg);
    transform: translate(-50%,-50%) rotate(0deg);
    opacity: 1;
    transition: ease-in all 0.2s;
}
.response.active {
    opacity: 1;
    transition: ease-in all 0.2s;
    -webkit-transform: translate(-50%,-50%) rotate(0deg);
    transform: translate(-50%,-50%) rotate(0deg);
}

@keyframes floating {
    from {transform: translate(0, 0px);}
    60% {transform: translate(0, 12px);}
    to {transform: translate(0, -0px);}    
} 
}
@keyframes shadow {
    from {transform: scaleX(.9);}
    60% {transform: scaleX(1);}
    to {transform: scaleX(.9);}    
}
.eye {
    box-shadow: 0 0px 30px 0px rgba(159, 226, 224, .0);
    width: 130px;
    height: 130px;
    margin: 0 auto;
    top: 50%;
    position: relative;
    transform: translateY(calc(-50% - 130px));
    border: 2px solid #a1a1a1;
    border-radius: 50%;
    overflow: hidden;
}
.eye.glow {
    animation: glow 2s ease infinite;
    border: 2px solid rgba(27, 148, 131, .3);
}
.rim {
    box-shadow: 0 0 0px 0 rgba(27, 148, 131, 0);
    width: 300px;
    height: 300px;
    margin: 0 auto;
    border-radius: 50%;
    
}
.rim.pulse {
    animation: pulse .5s 2;
}
  @keyframes pulse {
    0% {  
	  box-shadow: 0 0 0px 0 rgba(27, 148, 131, 1);
    }
    70% {
      box-shadow: 0 0 0 100px rgba(27, 148, 131, 0);
    }
    100% {
      box-shadow: 0 0 0 0 rgba(27, 148, 131, 0);
    }
  }

  @keyframes glow {
    0% {
        box-shadow: 0 0px 30px 1px rgba(159, 226, 224, .5);
    }
    50% {
        box-shadow: 0 0px 40px 5px rgba(159, 226, 224, 1);
    }
    100% {
        box-shadow: 0 0px 30px 1px rgba(159, 226, 224, .5);
    }
  }



@media screen and (max-width: 600px) {
    .ball-container {
        transform: scale(.75);
    }
    .magic-ball {
        margin-top: 0;
    }
}
@media screen and (min-width: 1px) {
	.alt-container.desktop {
		display: none;
	}
	.alt-container.mobile {
		display: block;
		top: 0;
	}
}
@media screen and (min-width: 685px) {
	.alt-container.desktop {
		display: block;
	}
	.alt-container.mobile {
		display: none;
	}
}