/*------------------------
NDT ANIMATION CSS
created by Notre Dame Web Team
------------------------*/
#animate { visibility:hidden; }
.no-js .animate { opacity:1 !important; transform:none !important; }
.animate { animation-fill-mode:both !important; animation-play-state:paused !important; visibility:visible !important; }
.animate.active { animation-play-state:running !important; }
.replay { animation-iteration-count:infinite !important; }
.delay-025s { animation-delay:.25s !important; }
.delay-05s { animation-delay:.5s !important; }
.delay-075s { animation-delay:.75s !important; }
.delay-1s { animation-delay:1s !important; }
.delay-1-25s { animation-delay:1.25s !important; }
.delay-1-5s { animation-delay:1.5s !important; }
.delay-2s { animation-delay:2s !important; }
.delay-3s { animation-delay:3s !important; }
/*fade-in*/
.fade-in { animation:fade-in .75s; animation-timing-function:ease-in-out; }
@keyframes fade-in {
  0% { opacity:0; }
  to { opacity:1; }
}
/*fade-out*/
.fade-out { animation:fade-out .75s; animation-timing-function:ease-out; }
@keyframes fade-out {
  0% { opacity:1; }
  to { opacity:0; }
}
/*fade-in right*/
.fade-in-right { animation:fade-in-right .75s; animation-timing-function:ease-out; }
@keyframes fade-in-right {
  0% { opacity:0; transform:translateX(-3rem); }
  to { opacity:1; transform:translateX(0); }
}
/*fade-in left*/
.fade-in-left { animation:fade-in-left .75s; animation-timing-function:ease-out; }
@keyframes fade-in-left {
  0% { opacity:0; transform:translateX(3rem); }
  to { opacity:1; transform:translateX(0); }
}
/*fade-in up*/
.fade-in-up { animation:fade-in-up .75s; animation-timing-function:ease-out; }
@keyframes fade-in-up {
  0% { opacity:0; transform:translateY(3rem); }
  to { opacity:1; transform:translateY(0); }
}
/*fade-in down*/
.fade-in-down { animation:fade-in-down .75s; animation-timing-function:ease-out; }
@keyframes fade-in-down {
  0% { opacity:0; transform:translateY(-3rem); }
  to { opacity:1; transform:translateY(0); }
}
/*fade-out right*/
.fade-out-right { animation:fade-out-right .75s; animation-timing-function:ease-out; }
@keyframes fade-out-right {
  0% { opacity:1; transform:translateX(0); }
  to { opacity:0; transform:translateX(3rem); }
}
/*fade-out left*/
.fade-out-left { animation:fade-out-left .75s; animation-timing-function:ease-out; }
@keyframes fade-out-left {
  0% { opacity:1; transform:translateX(0); }
  to { opacity:0; transform:translateX(-3rem); }
}
/*fade-out up*/
.fade-out-up { animation:fade-out-up .75s; animation-timing-function:ease-out; }
@keyframes fade-out-up {
  0% { opacity:1; transform:translateY(0); }
  to { opacity:0; transform:translateY(-3rem); }
}
/*fade-out down*/
.fade-out-down { animation:fade-out-down .75s; animation-timing-function:ease-out; }
@keyframes fade-out-down {
  0% { opacity:1; transform:translateY(0); }
  to { opacity:0; transform:translateY(3rem); }
}
/*slide-in right*/
.slide-in-right { animation:slide-in-right 1.2s; animation-timing-function:ease; }
@keyframes slide-in-right {
  0% { transform:translateX(-100vw); }
  to { transform:translateX(0); }
}
/*slide-in left*/
.slide-in-left { animation:slide-in-left 1.2s; animation-timing-function:ease; }
@keyframes slide-in-left {
  0% { transform:translateX(100vw); }
  to { transform:translateX(0); }
}
/*slide-in up*/
.slide-in-up { animation:slide-in-up 1.2s; animation-timing-function:ease; }
@keyframes slide-in-up{ 
  0% { transform:translateY(100vh); }
  to { transform:translateY(0); }
}
/*slide-in down*/
.slide-in-down { animation:slide-in-down 1.2s; animation-timing-function:ease; }
@keyframes slide-in-down {
  0% { transform:translateY(-100vh); }
  to { transform:translateY(0); }
}
/*slide-out right*/
.slide-out-right { animation:slide-out-right 1.5s; animation-timing-function:ease; }
@keyframes slide-out-right {
  0% { transform:translateX(0); }
  to { transform:translateX(100vw); }
}
/*slide-out left*/
.slide-out-left { animation:slide-out-left 1.5s; animation-timing-function:ease; }
@keyframes slide-out-left {
  0% { transform:translateX(0); }
  to { transform:translateX(-100vw); }
}
/*slide-out up*/
.slide-out-up { animation:slide-out-up 1.2s; animation-timing-function:ease; }
@keyframes slide-out-up {
  0% { transform:translateY(0); }
  to { transform:translateY(-100vh); }
}
/*slide-out down*/
.slide-out-down { animation:slide-out-down 1.2s; animation-timing-function:ease; }
@keyframes slide-out-down {
  0% { transform:translateY(0); }
  to { transform:translateY(100vh); }
}
/*bounce-in*/
.bounce-in { animation:bounce-in 1.2s; animation-timing-function:ease-out; }
@keyframes bounce-in {
  0% { opacity:0; transform:scale(.9); }
  25% { transform:scale(1.2); }
  40% { transform:scale(.8); }
  50% { transform:scale(1.1); }
  60% { transform:scale(.9); }
  70% { opacity:1; transform:scale(1.05); }
  80% { transform:scale(.95); }
  90% { transform:scale(1.01); }
  to { transform:scale(1); }
}
/*bounce-in-right*/
.bounce-in-right { animation:bounce-in-right 1.2s; animation-timing-function:ease-out; }
@keyframes bounce-in-right {
  0% { transform:translateX(-2000px); }
  63% { transform:translateX(30px); }
  70%,80%,90%,to { transform:translateX(0); }
  75% { transform:translateX(14px); }
  85% { transform:translateX(8px); }
  95% { transform:translateX(4px); }
}
/*bounce-in left*/
.bounce-in-left { animation:bounce-in-left 1.2s; animation-timing-function:ease-out; }
@keyframes bounce-in-left {
  0% { transform:translateX(2000px); }
  63% { transform:translateX(-30px); }
  70%,80%,90%,to { transform:translateX(0); }
  75% { transform:translateX(-14px); }
  85% { transform:translateX(-8px); }
  95% { transform:translateX(-4px); }
}
/*bounce-in up*/
.bounce-in-up { animation:bounce-in-up 1.2s; animation-timing-function:ease-out; }
@keyframes bounce-in-up {
  0% { transform:translateY(1000px); }
  25% { transform:translateY(50px); }
  30%,55%,70%,80%,90%,to { transform:translateY(0); }
  45% { transform:translateY(25px); }
  63% { transform:translateY(15px); }
  75% { transform:translateY(7px); }
  85% { transform:translateY(4px); }
  95% { transform:translateY(2px); }
}
/*bounce-in down*/
.bounce-in-down { animation:bounce-in-down 1.2s; animation-timing-function:ease-out; }
@keyframes bounce-in-down {
  0% { transform:translateY(-1000px); }
  25% { transform:translateY(-50px); }
  30%,55%,70%,80%,90%,to { transform:translateY(0); }
  45% { transform:translateY(-25px); }
  63% { transform:translateY(-15px); }
  75% { transform:translateY(-7px); }
  85% { transform:translateY(-4px); }
  95% { transform:translateY(-2px); }
}
/*back in right*/
.back-in-right { animation:back-in-right 1.5s; animation-timing-function:ease-out; }
@keyframes back-in-right {
  0% { opacity:.7; transform:translateX(-2000px) scale(.7); }
  80% { opacity:.7; transform:translateX(0) scale(.7); }
  to { opacity:1; transform:scale(1); }
}
/*back out right*/
.back-out-right { animation:back-out-right 1.5s; animation-timing-function:ease-in; }
@keyframes back-out-right {
  0% { opacity:1; transform:scale(1); }
  20% { opacity:.7; transform:translateX(0) scale(.7); }
  to { opacity:.7; transform:translateX(2000px) scale(.7); }
}
/*back in left*/
.back-in-left { animation:back-in-left 1.5s; animation-timing-function:ease-out; }
@keyframes back-in-left {
  0% { opacity:.7; transform:translateX(2000px) scale(.7); }
  80% { opacity:.7; transform:translateX(0) scale(.7); }
  to { opacity:1; transform:scale(1); }
}
/*back out left*/
.back-out-left { animation:back-out-left 1.5s; animation-timing-function:ease-in; }
@keyframes back-out-left {
  0% { opacity:1; transform:scale(1); }
  20% { opacity:.7; transform:translateX(0) scale(.7); }
  to { opacity:.7; transform:translateX(-2000px) scale(.7); }
}
/*back in up*/
.back-in-up { animation:back-in-up 1.5s; animation-timing-function:ease-out; }
@keyframes back-in-up {
  0% { opacity:.7; transform:translateY(1200px) scale(.7); }
  80% { opacity:.7; transform:translateY(0) scale(.7); }
  to { opacity:1; transform:scale(1); }
}
/*back out up*/
.back-out-up { animation:back-out-up 1.5s; animation-timing-function:ease-in; }
@keyframes back-out-up {
  0% { opacity:1; transform:scale(1); }
  20% { opacity:.7; transform:translateY(0) scale(.7); }
  to { opacity:.7; transform:translateY(-1200px) scale(.7); }
}
/*back in down*/
.back-in-down { animation:back-in-down 1.5s; animation-timing-function:ease-out; }
@keyframes back-in-down {
  0% { opacity:.7; transform:translateY(-1200px) scale(.7); }
  80% { opacity:.7; transform:translateY(0) scale(.7); }
  to { opacity:1; transform:scale(1); }
}
/*back out down*/
.back-out-down { animation:back-out-down 1.5s; animation-timing-function:ease-in; }
@keyframes back-out-down {
  0% { opacity:1; transform:scale(1); }
  20% { opacity:.7; transform:translateY(0) scale(.7); }
  to { opacity:.7; transform:translateY(1200px) scale(.7); }
}
/*scale-in*/
.scale-in { animation:scale-in 1.5s; }
@keyframes scale-in {
  0% { opacity:0; transform:scale(0); }
  to { opacity:1; transform:scale(1); }
}
/*scale-out*/
.scale-out { animation:scale-out .75s; }
@keyframes scale-out {
  0% { opacity:1; transform:none; }
  80% { opacity:0; }
  to { opacity:0; transform:scale(0); }
}
/*fanfare*/
.fanfare { animation:fanfare 1.2s; }
@keyframes fanfare {
  0%,to { transform:scale(1); }
  30% { transform:scale(.8) rotate(5deg); }
  40%,60%,80% { transform:scale(1.15) rotate(-5deg); }
  50%,70%,90% { transform:scale(1.15) rotate(5deg); }
}
/*vibrate*/
.vibrate { animation:vibrate .5s; }
@keyframes vibrate {
  0%,to { transform:translateX(0); }
  10%,30%,50%,70%,90% { transform:translateX(5px); }
  20%,40%,60%,80% { transform:translateX(-5px); }
}
/*shake*/
.shake { animation:shake .75s; animation-timing-function:ease-in; }
@keyframes shake {
  0%,to { transform:translateX(0); }
  12.5%,37.5%,62.5%,87.5% { transform:translateX(20px); }
  25%,50%,75% { transform:translateX(-20px); }
}