/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.5.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2016 Daniel Eden
 */
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.animated.hinge {
  -webkit-animation-duration: 2s;
  animation-duration: 2s; }

.animated.flipOutX,
.animated.flipOutY,
.animated.bounceIn,
.animated.bounceOut {
  -webkit-animation-duration: .75s;
  animation-duration: .75s; }

@-webkit-keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }
@keyframes bounce {
  from, 20%, 53%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  40%, 43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0);
    transform: translate3d(0, -30px, 0); }
  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0);
    transform: translate3d(0, -15px, 0); }
  90% {
    -webkit-transform: translate3d(0, -4px, 0);
    transform: translate3d(0, -4px, 0); } }
.bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom; }

@-webkit-keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }
@keyframes flash {
  from, 50%, to {
    opacity: 1; }
  25%, 75% {
    opacity: 0; } }
.flash {
  -webkit-animation-name: flash;
  animation-name: flash; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 1.15, 1.15);
    transform: scale3d(1.15, 1.15, 1.15); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 1.15, 1.15);
    transform: scale3d(1.15, 1.15, 1.15); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1); }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1); }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1); }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1); }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
.rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand; }

@-webkit-keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }
@keyframes shake {
  from, to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  10%, 30%, 50%, 70%, 90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  20%, 40%, 60%, 80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); } }
.shake {
  -webkit-animation-name: shake;
  animation-name: shake; }

@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }
@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg); }
  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg); }
  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg); }
  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg); }
  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0); } }
.headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake; }

@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg); }
  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg); }
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg); }
  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg); }
  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg); } }
.swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); }
  10%, 20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); }
  30%, 50%, 70%, 90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); }
  40%, 60%, 80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); }
  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
.tada {
  -webkit-animation-name: tada;
  animation-name: tada; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
    transform: none; } }
@keyframes wobble {
  from {
    -webkit-transform: none;
    transform: none; }
  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); }
  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); }
  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); }
  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); }
  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); }
  to {
    -webkit-transform: none;
    transform: none; } }
.wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

@-webkit-keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg); }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg); } }
@keyframes jello {
  from, 11.1%, to {
    -webkit-transform: none;
    transform: none; }
  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg); }
  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg); }
  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg); }
  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg); }
  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg); }
  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg); }
  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg); } }
.jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center; }

@-webkit-keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03); }
  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97); }
  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1); } }
.bounceIn {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

@-webkit-keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }
@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0);
    transform: translate3d(0, -3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0);
    transform: translate3d(0, 25px, 0); }
  75% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  90% {
    -webkit-transform: translate3d(0, 5px, 0);
    transform: translate3d(0, 5px, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }
.bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

@-webkit-keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }
@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0);
    transform: translate3d(-3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0);
    transform: translate3d(25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(5px, 0, 0);
    transform: translate3d(5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }
.bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

@-webkit-keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }
@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0);
    transform: translate3d(3000px, 0, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0);
    transform: translate3d(-25px, 0, 0); }
  75% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0); }
  90% {
    -webkit-transform: translate3d(-5px, 0, 0);
    transform: translate3d(-5px, 0, 0); }
  to {
    -webkit-transform: none;
    transform: none; } }
.bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

@-webkit-keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0);
    transform: translate3d(0, 3000px, 0); }
  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  75% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  90% {
    -webkit-transform: translate3d(0, -5px, 0);
    transform: translate3d(0, -5px, 0); }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
.bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }
@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9); }
  50%, 55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); } }
.bounceOut {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0);
    transform: translate3d(0, -20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }
.bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0);
    transform: translate3d(20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }
.bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0);
    transform: translate3d(-20px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }
.bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0); }
  40%, 45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0);
    transform: translate3d(0, 20px, 0); }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }
.bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -150%, 0);
    transform: translate3d(0, -150%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -150%, 0);
    transform: translate3d(0, -150%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig; }

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-10%, 0, 0);
    transform: translate3d(-10%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig; }

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(10%, 0, 0);
    transform: translate3d(10%, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig; }

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 150%, 0);
    transform: translate3d(0, 150%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 150%, 0);
    transform: translate3d(0, 150%, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig; }

@-webkit-keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }
@keyframes fadeOut {
  from {
    opacity: 1; }
  to {
    opacity: 0; } }
.fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }
@keyframes fadeOutDown {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }
.fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }
@keyframes fadeOutDownBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0); } }
.fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig; }

@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }
@keyframes fadeOutLeft {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }
.fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }
@keyframes fadeOutLeftBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0); } }
.fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig; }

@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }
@keyframes fadeOutRight {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }
.fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }
@keyframes fadeOutRightBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0); } }
.fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig; }

@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }
@keyframes fadeOutUp {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }
.fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }
@keyframes fadeOutUpBig {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0); } }
.fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig; }

@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }
@keyframes flip {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }
.animated.flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip; }

@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }
@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }
.flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX; }

@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }
@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1; }
  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg); }
  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); } }
.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY; }

@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }
@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0; } }
.flipOutX {
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important; }

@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }
@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px); }
  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1; }
  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0; } }
.flipOutY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY; }

@-webkit-keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }
@keyframes lightSpeedIn {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1; }
  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
    opacity: 1; }
  to {
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }
.lightSpeedIn {
  -webkit-animation-name: lightSpeedIn;
  animation-name: lightSpeedIn;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

@-webkit-keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }
@keyframes lightSpeedOut {
  from {
    opacity: 1; }
  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0; } }
.lightSpeedOut {
  -webkit-animation-name: lightSpeedOut;
  animation-name: lightSpeedOut;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

@-webkit-keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }
@keyframes rotateIn {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }
.rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }
@keyframes rotateInDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }
.rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }
@keyframes rotateInDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }
.rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }
@keyframes rotateInUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }
.rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }
@keyframes rotateInUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: none;
    transform: none;
    opacity: 1; } }
.rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

@-webkit-keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }
@keyframes rotateOut {
  from {
    -webkit-transform-origin: center;
    transform-origin: center;
    opacity: 1; }
  to {
    -webkit-transform-origin: center;
    transform-origin: center;
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0; } }
.rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

@-webkit-keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }
@keyframes rotateOutDownLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0; } }
.rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

@-webkit-keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }
@keyframes rotateOutDownRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }
.rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight; }

@-webkit-keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }
@keyframes rotateOutUpLeft {
  from {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0; } }
.rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

@-webkit-keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }
@keyframes rotateOutUpRight {
  from {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    opacity: 1; }
  to {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0; } }
.rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

@-webkit-keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }
@keyframes hinge {
  0% {
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  20%, 60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out; }
  40%, 80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-transform-origin: top left;
    transform-origin: top left;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1; }
  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0; } }
.hinge {
  -webkit-animation-name: hinge;
  animation-name: hinge; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none; } }
.rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }
@keyframes rollOut {
  from {
    opacity: 1; }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); } }
.rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  50% {
    opacity: 1; } }
.zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn; }

@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
.zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown; }

@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
.zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft; }

@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
.zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight; }

@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
.zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp; }

@-webkit-keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }
@keyframes zoomOut {
  from {
    opacity: 1; }
  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3); }
  to {
    opacity: 0; } }
.zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut; }

@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
.zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown; }

@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    -webkit-transform-origin: left center;
    transform-origin: left center; } }
.zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft; }

@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); }
  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
    -webkit-transform-origin: right center;
    transform-origin: right center; } }
.zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight; }

@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); } }
.zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp; }

@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
.slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown; }

@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
.slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft; }

@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
.slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight; }

@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible; }
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); } }
.slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp; }

@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }
@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0); } }
.slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown; }

@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }
@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0); } }
.slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft; }

@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }
@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0); } }
.slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight; }

@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }
@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0); } }
.slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp; }

/**/
@-webkit-keyframes blurFadeIn {
  0% {
    opacity: 0;
    transform: scale(1.3); }
  50% {
    opacity: 0.5; }
  100% {
    opacity: 1;
    transform: scale(1); } }
@keyframes blurFadeIn {
  0% {
    opacity: 0;
    transform: scale(1.3); }
  50% {
    opacity: 0.5; }
  100% {
    opacity: 1;
    transform: scale(1); } }
.blurFadeIn {
  -webkit-animation-name: blurFadeIn;
  animation-name: blurFadeIn; }

@-webkit-keyframes blurFadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }
@keyframes blurFadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-10px);
    -moz-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    -o-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); } }
.blurFadeInDown {
  -webkit-animation-name: blurFadeInDown;
  animation-name: blurFadeInDown; }

@-webkit-keyframes passing {
  0% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0; }
  50% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0; } }
@keyframes passing {
  0% {
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0; }
  50% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0; } }
@-webkit-keyframes passing-reverse {
  0% {
    -webkit-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0; }
  50% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0; } }
@keyframes passing-reverse {
  0% {
    -webkit-transform: translateX(50%);
    -ms-transform: translateX(50%);
    transform: translateX(50%);
    opacity: 0; }
  50% {
    -webkit-transform: translateX(0%);
    -ms-transform: translateX(0%);
    transform: translateX(0%);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    opacity: 0; } }
@keyframes jackInTheBox {
  from {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom; }
  50% {
    transform: rotate(-10deg); }
  70% {
    transform: rotate(3deg); }
  to {
    opacity: 1;
    transform: scale(1); } }
.jackInTheBox {
  animation-name: jackInTheBox; }

.contact-display-1-row .title-contact{
  display: inline;
}
@media (max-width: 1600px) and (min-width: 1024px){
  .banner-left{
    max-width: 52%;
  }
  .banner-right{
    max-width: 46%;
  }
}
.med-bestsale .product-miniature{
  border-bottom: none;
  border-left: none;
  border-right: none;
  padding-left: 0;
  padding-right: 0;
  margin: 0 20px !important;
}
.med-bestsale .product-miniature:hover{
  border-color: #ebebeb;
}
.med-bestsale .pos-product-widget .slick-arrow{
  top: -2.957rem !important;
}
.med-bestsale .pos-product-widget .slick-next{
  right: 1rem !important;
}
.med-bestsale .pos-product-widget .slick-prev{
  right: 3.5rem !important;
}
.toy-bestsale .product-miniature{
  border-bottom: none;
  border-left: none;
  border-right: none;
  padding-left: 0;
  padding-right: 0;
  margin: 0 20px;
  border-radius:0;
}
.toy-bestsale .product-miniature:hover{
  border-color: #ebebeb;
}
.toy-bestsale .pos-product-widget .slick-slide > *:not(:last-child) {
    margin-bottom: 0;
}
.toy-bestsale .pos-product-widget .slick-next{
  right: 1rem !important;
}
.toy-bestsale .pos-product-widget .slick-prev{
  right: 3.5rem !important;
}
/*# sourceMappingURL=animate.css.map */

.list-bigger-image .style_product_list .img_block{
  max-width: 170px;
}

.has-section-inner .elementor-widget-wrap{
  display: block !important;
}
.elementor-widget-wrap > section{
  width: 100% !important;
}
.elementor-editor-active .elementor.elementor-edit-mode .elementor-top-column .elementor-widget-wrap .elementor-inner-section{
  margin-top: 0;
}

/* Custom styles to match the products sort order dropdown to the legacy theme */
#js-product-list-top .sort-by-row .products-sort-order {
  max-width: 18.75rem !important;
}

#js-product-list-top .sort-by-row .products-sort-order .select-title {
  border: 1.5px solid #000 !important;
  padding: 5px 15px !important;
  line-height: 1.5rem !important;
  margin: 0 !important;
  border-radius: 5px !important;
  color: #000 !important;
  box-shadow: none !important;
  font-weight: 500 !important;
  background-color: #fff !important;
  width: 100% !important;
  text-align: left !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

#js-product-list-top .sort-by-row .products-sort-order .dropdown-menu {
  background: #ffffff !important;
  border: 1px solid #ebebeb !important;
  border-radius: 3px !important;
  right: 0px !important;
  left: 0px !important;
  width: auto !important;
  box-shadow: none !important;
  max-width: 100% !important;
  font-size: 0.875rem !important;
  margin-top: 2px !important;
  padding: 0px !important;
}

#js-product-list-top .sort-by-row .products-sort-order .dropdown-menu .select-list {
  font-size: inherit !important;
  padding: 7px 15px !important;
  color: #253237 !important;
  display: block !important;
}

#js-product-list-top .sort-by-row .products-sort-order .dropdown-menu .select-list:hover {
  color: #ffffff !important;
  background-color: var(--hovercolor) !important;
  text-decoration: none !important;
}

/* ===================================================================
   GC — LCDCE (theme_ecolife) — EN-TÊTE catalogue (fond gris) + FILTRES — début
   Transposé de LWC (en-tête + colonne de filtres), rhabillé charte LCDCE :
   accent teal #30849a, Montserrat, FOND BLANC (le gris cachait les cartes). NE touche NI la
   grille de vignettes NI les fiches (aucune règle carte) ; pas de full-width (grille intacte).
   Scope :is(#category,#search,.categoryproducts).
   =================================================================== */
:is(#category, #search, .categoryproducts) {
  --wc-red:        #30849a;   /* accent teal LCDCE */
  --wc-red-dark:   #246073;
  --wc-ink:        #232323;
  --wc-text:       #424242;
  --wc-muted:      #5a5a5a;   /* assombri pour le contraste sur fond gris #f0f0f0 */
  --wc-faint:      #888888;   /* assombri pour le contraste sur fond gris */
  --wc-border:     #e1e1e1;
  --wc-border-soft:#e9e9e9;
  --wc-grey-50:    #fafafa;
  --wc-grey-100:   #f2f2f2;
  --wc-wine:       #6e1414;
  --wc-wine-dot:   #6e1414;
  --gc-font-ui:    "Montserrat", "Helvetica Neue", Arial, sans-serif;
}

/* FOND BLANC (choix final : le gris faisait disparaître les cartes blanches, contraste 1.14:1).
   Tout en blanc = contraste/propreté max ; en-tête + grille sur blanc. */
:is(#category, #search, .categoryproducts) #wrapper { background: #ffffff !important; }

/* Le thème ecolife masque le bloc description standard (.block-category display:none, il l'affichait
   dans son bandeau dégradé désormais désactivé). On ré-affiche la description catalogue (sélecteurs
   forts pour battre la règle du thème, quel que soit l'id wrapper #product-list-header / #js-...). */
:is(#category, #search, .categoryproducts) #product-list-header,
:is(#category, #search, .categoryproducts) #js-product-list-header { display: block !important; }
:is(#category, #search, .categoryproducts) #product-list-header .block-category.card,
:is(#category, #search, .categoryproducts) #js-product-list-header .block-category.card,
:is(#category, #search, .categoryproducts) .block-category.card.card-block { display: block !important; }

/* ===== EN-TÊTE catalogue (Titre + fil d'Ariane + description) ===== */
/* A2 — Bandeau titre : pas de bannière, fond blanc */
:is(#category, #search, .categoryproducts) .page-title-wrapper,
:is(#category, #search, .categoryproducts) .page-title-wrapper.p_tilte_small,
:is(#category, #search, .categoryproducts) .page-title-wrapper.p_tilte_big { background: none !important; min-height: 0 !important; padding: 0 !important; }
:is(#category, #search, .categoryproducts) .page-title-wrapper::before, :is(#category, #search, .categoryproducts) .page-title-wrapper::after { display: none !important; }

/* A3 — Ordre : breadcrumb AU-DESSUS du titre */
:is(#category, #search, .categoryproducts) .page-title-wrapper .container { display: flex !important; flex-direction: column !important; }
:is(#category, #search, .categoryproducts) .page-title-wrapper .page-header { order: 2 !important; margin: 0 !important; }
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb { order: 1 !important; }

/* A4 — Breadcrumb discret (restyle du séparateur natif). Dernier item = catégorie courante (rouge), conservé. */
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb { padding: 20px 0 4px !important; margin: 0 !important; background: none !important; }
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb ol { display: flex !important; flex-wrap: wrap; align-items: center; gap: 11px; margin: 0; padding: 0; }
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li,
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li a { font-family: var(--gc-font-ui) !important; font-size: 13px !important; color: var(--wc-muted) !important; }
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li a:hover { color: var(--wc-ink) !important; }
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li::after { color: #cfcfcf !important; }
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li:last-child::after { content: '' !important; }
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li:last-child,
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li:last-child span { color: var(--wc-red) !important; font-weight: 600 !important; }

/* A5 — Titre 34px Archivo Narrow */
:is(#category, #search, .categoryproducts) .page-header h1 {
    font-family: var(--gc-font-ui) !important; font-weight: 600 !important;
    font-size: 34px !important; line-height: 1.1 !important; color: var(--wc-ink) !important;
    letter-spacing: .005em !important; margin: 14px 0 0 !important;
}

/* A6 — Compteur (toolbar, restylé) */
:is(#category, #search, .categoryproducts) #js-product-list-top .total-products p {
    font-family: var(--gc-font-ui) !important; font-size: 14px !important;
    font-weight: 500 !important; color: var(--wc-muted) !important; margin: 0 !important;
}

/* A7 — Description SEO pleine largeur : de-cardée, titre doublon masqué, typo maquette.
   Marge sur .block-category (présent SEULEMENT si description) → état vide = aucun trou. */
:is(#category, #search, .categoryproducts) .block-category.card { border: none !important; box-shadow: none !important; background: none !important; padding: 0 !important; margin: 18px 0 28px !important; }
:is(#category, #search, .categoryproducts) .block-category > .h1 { display: none !important; }
:is(#category, #search, .categoryproducts) #category-description { max-width: 76ch !important; color: var(--wc-text) !important; font-family: var(--gc-font-ui) !important; font-size: 15px !important; line-height: 1.75 !important; }
:is(#category, #search, .categoryproducts) #category-description p { margin: 0 0 12px !important; }

/* A7b — Mécanisme « Lire la suite » (clip + dégradé + bouton), injecté en JS (no-op si vide) */
:is(#category, #search, .categoryproducts) .gc-seo-clip { position: relative; max-height: 4.9em; overflow: hidden; transition: max-height .3s ease; }
:is(#category, #search, .categoryproducts) .gc-seo-clip.open { max-height: 120em; }
:is(#category, #search, .categoryproducts) .gc-seo-clip:not(.open)::after { content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2.2em; background: linear-gradient(to bottom, rgba(255,255,255,0), #fff); }
:is(#category, #search, .categoryproducts) .gc-seo-more { background: none; border: none; cursor: pointer; font-family: var(--gc-font-ui); font-size: 13px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--wc-red); padding: 10px 0 0; display: inline-flex; align-items: center; gap: 6px; }
:is(#category, #search, .categoryproducts) .gc-seo-more svg { transition: transform .25s ease; }
:is(#category, #search, .categoryproducts) .gc-seo-more.open svg { transform: rotate(180deg); }

:is(#category, #search, .categoryproducts) .page-title-wrapper, :is(#category, #search, .categoryproducts) .page-title-wrapper.p_tilte_small, :is(#category, #search, .categoryproducts) .page-title-wrapper.p_tilte_big { background: none !important; min-height: 0 !important; padding: 0 !important; margin: 0 !important; }
:is(#category, #search, .categoryproducts) .page-title-wrapper::before, :is(#category, #search, .categoryproducts) .page-title-wrapper::after { display: none !important; }
:is(#category, #search, .categoryproducts) .page-title-wrapper .container { display: flex !important; flex-direction: column !important; }
:is(#category, #search, .categoryproducts) .page-title-wrapper .page-header { order: 2 !important; }
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb { order: 1 !important; padding: 20px 0 4px !important; margin: 0 !important; background: none !important; }
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li, :is(#category, #search, .categoryproducts) #wrapper .breadcrumb li a { font-family: var(--gc-font-ui) !important; font-size: 13px !important; color: var(--wc-muted) !important; }
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li a:hover { color: var(--wc-ink) !important; }
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li:last-child, :is(#category, #search, .categoryproducts) #wrapper .breadcrumb li:last-child span { color: var(--wc-red) !important; font-weight: 600 !important; }
:is(#category, #search, .categoryproducts) .page-header { text-align: left !important; display: block !important; padding: 14px 0 0 !important; }
:is(#category, #search, .categoryproducts) .page-header h1 { display: inline-block !important; vertical-align: baseline !important; font-family: var(--gc-font-ui) !important; font-weight: 600 !important; font-size: 34px !important; line-height: 1.1 !important; color: var(--wc-ink) !important; letter-spacing: .005em !important; margin: 0 !important; }
:is(#category, #search, .categoryproducts) .page-header .gc-cat-count { display: inline-block !important; vertical-align: baseline !important; margin-left: 14px !important; font-family: var(--gc-font-ui) !important; font-size: 14px !important; font-weight: 500 !important; color: var(--wc-muted) !important; white-space: nowrap !important; }
:is(#category, #search, .categoryproducts) .page-header::after { content: "" !important; display: block !important; width: 46px !important; height: 2px !important; background: var(--wc-red) !important; margin: 14px 0 0 !important; }
@media (max-width:600px){ :is(#category, #search, .categoryproducts) .page-header h1 { font-size: 27px !important; } }
:is(#category, #search, .categoryproducts) #js-product-list-top { padding: 0 !important; margin: 0 0 22px !important; border: none !important; }
:is(#category, #search, .categoryproducts) #js-product-list-top .row.flex-layout { display: flex !important; align-items: center !important; justify-content: space-between !important; flex-wrap: wrap !important; gap: 12px 18px !important; margin: 0 !important; }
:is(#category, #search, .categoryproducts) #js-product-list-top .total-products { display: flex !important; align-items: center !important; gap: 14px !important; width: auto !important; max-width: none !important; flex: 0 1 auto !important; padding: 0 !important; }
:is(#category, #search, .categoryproducts) #js-product-list-top .total-products p { font-family: var(--gc-font-ui) !important; font-size: 14px !important; color: var(--wc-muted) !important; margin: 0 !important; }
:is(#category, #search, .categoryproducts) #js-product-list-top .sort-by-row { display: flex !important; align-items: center !important; justify-content: flex-end !important; gap: 16px !important; width: 100% !important; flex: 1 1 auto !important; margin: 0 !important; }
/* la colonne de droite (tri) grandit jusqu'au bord (space-between conservé ; gap:0 supprime les 18px réservés qui empêchaient le col d'atteindre le bord ; padding-right:0 aligne sur les cartes) */
:is(#category, #search, .categoryproducts) #js-product-list-top .row.flex-layout { gap: 0 !important; column-gap: 0 !important; }
:is(#category, #search, .categoryproducts) #js-product-list-top .row > [class*="col-"]:last-child { flex: 1 1 auto !important; max-width: none !important; padding-right: 0 !important; }
:is(#category, #search, .categoryproducts) #js-product-list-top .sort-by { font-family: var(--gc-font-ui) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--wc-muted) !important; width: auto !important; padding: 0 !important; }
:is(#category, #search, .categoryproducts) #js-product-list-top .products-sort-order { width: auto !important; flex: 0 0 auto !important; padding: 0 !important; }
/* Bascule vue = groupe bordé, actif fond ink + icône blanche (maquette .view-toggle) */
:is(#category, #search, .categoryproducts) #js-product-list-top ul.display { display: flex !important; align-items: center !important; gap: 0 !important; border: 1px solid var(--wc-border) !important; border-radius: 4px !important; overflow: hidden !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
:is(#category, #search, .categoryproducts) #js-product-list-top ul.display li { width: 40px !important; height: 38px !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #fff !important; color: var(--wc-muted) !important; cursor: pointer !important; padding: 0 !important; margin: 0 !important; transition: background .15s, color .15s !important; }
:is(#category, #search, .categoryproducts) #js-product-list-top ul.display li + li { border-left: 1px solid var(--wc-border) !important; }
:is(#category, #search, .categoryproducts) #js-product-list-top ul.display li i { font-size: 18px !important; line-height: 1 !important; height: auto !important; width: auto !important; align-self: center !important; display: block !important; }
:is(#category, #search, .categoryproducts) #js-product-list-top ul.display li.selected { background: var(--wc-ink) !important; color: #fff !important; }
:is(#category, #search, .categoryproducts) #js-product-list-top ul.display li:hover:not(.selected) { color: var(--wc-ink) !important; }

/* ===== GC — CORRECTIFS (vus sur capture) : tri sans cadre noir, slider natif masqué, description non débordante ===== */
/* P3 — TRIER PAR : remplace le cadre noir (#000) par un select propre maquette (.select-wrap select) */
:is(#category, #search, .categoryproducts) #js-product-list-top .products-sort-order .select-title { display: flex !important; align-items: center !important; justify-content: flex-start !important; gap: 8px !important; min-width: 180px !important; border: 1px solid var(--wc-border) !important; border-radius: 4px !important; color: var(--wc-ink) !important; background-color: #fff !important; font-family: var(--gc-font-ui) !important; font-size: 13.5px !important; font-weight: 600 !important; padding: 0 13px !important; height: 38px !important; line-height: 1 !important; box-shadow: none !important; }
:is(#category, #search, .categoryproducts) #js-product-list-top .products-sort-order .select-title:hover, :is(#category, #search, .categoryproducts) #js-product-list-top .products-sort-order .select-title:focus { border-color: var(--wc-ink) !important; }
/* flèche dropdown : centrée verticalement + poussée à droite (était flottante en haut) */
:is(#category, #search, .categoryproducts) #js-product-list-top .products-sort-order .select-title i, :is(#category, #search, .categoryproducts) #js-product-list-top .products-sort-order .select-title .material-icons, :is(#category, #search, .categoryproducts) #js-product-list-top .products-sort-order .select-title .float-xs-right { float: none !important; margin: 0 0 0 auto !important; line-height: 1 !important; height: auto !important; font-size: 20px !important; color: var(--wc-muted) !important; display: inline-flex !important; align-items: center !important; align-self: center !important; }
/* PRIX — masquer TOUT le slider jQuery UI natif (handles + label "x € - y €") ; ne garder que le titre + mon .gc-price */
:is(#category, #search, .categoryproducts) #search_filters .facet.gc-has-price > *:not(.title):not(.gc-price) { display: none !important; }
/* P4 — En-tête : la description (page_map) ne déborde plus sur le catalogue (marge nette + clip borné) */
:is(#category, #search, .categoryproducts) #js-product-list-header { margin: 0 0 22px !important; padding: 0 !important; clear: both !important; }
:is(#category, #search, .categoryproducts) #js-product-list-header .block-category { margin: 10px 0 0 !important; }
:is(#category, #search, .categoryproducts) #js-product-list-header .gc-seo-clip { max-height: 4.9em !important; }

/* ===== pastilles couleur (facette COULEUR) ===== */
/* Pastilles couleur sur la facette COULEUR (maquette .cdot) */
:is(#category, #search, .categoryproducts) #search_filters .gc-fdot { display: inline-block !important; width: 11px !important; height: 11px !important; border-radius: 50% !important; box-shadow: inset 0 0 0 1px rgba(0,0,0,.18) !important; margin-right: 8px !important; vertical-align: middle !important; flex-shrink: 0 !important; background: var(--wc-faint) !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-fdot.r-rouge { background: #6e1414 !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-fdot.r-blanc { background: #e3cf8f !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-fdot.r-rose { background: #e9a6a0 !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-fdot.r-champ { background: #efe2b0 !important; }

/* ===== COLONNE DE FILTRES (ps_facetedsearch) ===== */
/* Conteneur facettes */
:is(#category, #search, .categoryproducts) #search_filters { font-family: var(--gc-font-ui) !important; border: none !important; background: none !important; padding: 0 !important; box-shadow: none !important; }

/* Titre "Filtrer par" */
:is(#category, #search, .categoryproducts) #search_filters .my-faced { font-size: 14px !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--wc-ink) !important; padding: 0 0 14px !important; margin: 0 0 4px !important; border-bottom: 2px solid var(--wc-ink) !important; display: flex !important; align-items: center !important; gap: 9px !important; }
:is(#category, #search, .categoryproducts) #search_filters .my-faced::before { content: "" !important; width: 15px !important; height: 15px !important; flex-shrink: 0 !important; background-repeat: no-repeat !important; background-position: center !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 24 24' fill='none' stroke='%23373737' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='4' y1='7' x2='20' y2='7'/%3E%3Cline x1='7' y1='12' x2='17' y2='12'/%3E%3Cline x1='10' y1='17' x2='14' y2='17'/%3E%3C/svg%3E") !important; }

/* Tout effacer */
:is(#category, #search, .categoryproducts) #search_filters .clear-all-wrapper { padding: 12px 0 0 !important; margin: 0 !important; }
:is(#category, #search, .categoryproducts) #search_filters .js-search-filters-clear-all { font-family: var(--gc-font-ui) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .04em !important; color: var(--wc-muted) !important; background: none !important; border: none !important; padding: 6px 0 !important; display: inline-flex !important; align-items: center !important; gap: 6px !important; text-transform: none !important; }
:is(#category, #search, .categoryproducts) #search_filters .js-search-filters-clear-all:hover { color: var(--wc-red) !important; }
:is(#category, #search, .categoryproducts) #search_filters .js-search-filters-clear-all .material-icons { font-size: 16px !important; }

/* === GC — FILTRES ACTIFS : barre en ZONE CATALOGUE = #js-active-search-filters (PAS dans #search_filters). Maquette .active-bar / .ab-title / .ab-chip === */
:is(#category, #search, .categoryproducts) #js-active-search-filters, :is(#category, #search, .categoryproducts) #search_filters .active_filters { background: none !important; background-color: transparent !important; border: none !important; box-shadow: none !important; padding: 0 0 16px !important; margin: 0 0 20px !important; border-bottom: 1px solid var(--wc-border-soft) !important; border-radius: 0 !important; }
:is(#category, #search, .categoryproducts) #js-active-search-filters .active-filter-title, :is(#category, #search, .categoryproducts) .active_filters .active-filter-title { font-family: var(--gc-font-ui) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .1em !important; text-transform: uppercase !important; color: var(--wc-ink) !important; margin: 0 0 12px !important; padding: 0 !important; border: none !important; background: none !important; }
:is(#category, #search, .categoryproducts) #js-active-search-filters ul, :is(#category, #search, .categoryproducts) .active_filters ul { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; align-items: center !important; }
:is(#category, #search, .categoryproducts) #js-active-search-filters .filter-block, :is(#category, #search, .categoryproducts) .active_filters .filter-block { font-family: var(--gc-font-ui) !important; font-size: 12.5px !important; font-weight: 500 !important; color: var(--wc-ink) !important; background: var(--wc-grey-100) !important; border: 1px solid var(--wc-border) !important; border-radius: 999px !important; padding: 5px 6px 5px 12px !important; display: inline-flex !important; align-items: center !important; gap: 8px !important; margin: 0 !important; line-height: 1.25 !important; box-shadow: none !important; }
:is(#category, #search, .categoryproducts) #js-active-search-filters .filter-block a, :is(#category, #search, .categoryproducts) #js-active-search-filters .filter-block .close, :is(#category, #search, .categoryproducts) .active_filters .filter-block a { color: var(--wc-muted) !important; opacity: 1 !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; width: 18px !important; height: 18px !important; border-radius: 50% !important; font-size: 14px !important; line-height: 1 !important; text-decoration: none !important; flex-shrink: 0 !important; }
:is(#category, #search, .categoryproducts) #js-active-search-filters .filter-block a:hover, :is(#category, #search, .categoryproducts) .active_filters .filter-block a:hover { color: var(--wc-red) !important; background: rgba(48,132,154,.08) !important; }

/* Section facette + header (titre + collapse natif conservé) */
:is(#category, #search, .categoryproducts) #search_filters .facet { padding: 16px 0 !important; border-bottom: 1px solid var(--wc-border-soft) !important; margin: 0 !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet:last-child { border-bottom: none !important; }
/* retrait de la fine ligne grise sous le titre de facette (bordure native du .facet-title) — ne concerne PAS le trait ink de FILTRER PAR (.my-faced) */
:is(#category, #search, .categoryproducts) #search_filters .facet .facet-title { border-bottom: none !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet .title { display: flex !important; align-items: center !important; justify-content: space-between !important; cursor: pointer !important; padding: 0 !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet .facet-title { font-family: var(--gc-font-ui) !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .12em !important; text-transform: uppercase !important; color: var(--wc-ink) !important; margin: 0 !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet .collapse-icons { color: var(--wc-muted) !important; margin-left: auto !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet .collapse-icons .material-icons { font-size: 18px !important; }

/* Corps + longues listes scrollables (hors slider) */
:is(#category, #search, .categoryproducts) #search_filters .facet ul.collapse { padding: 12px 0 0 !important; margin: 0 !important; list-style: none !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet ul.collapse:not(.faceted-slider) { max-height: 200px !important; overflow-y: auto !important; padding-right: 4px !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet ul.collapse::-webkit-scrollbar { width: 6px; }
:is(#category, #search, .categoryproducts) #search_filters .facet ul.collapse::-webkit-scrollbar-thumb { background: #d8d8d8; border-radius: 3px; }
:is(#category, #search, .categoryproducts) #search_filters .facet ul.collapse > li { margin: 0 !important; padding: 0 !important; border: none !important; }

/* Ligne case à cocher (crow) */
:is(#category, #search, .categoryproducts) #search_filters .facet-label { display: flex !important; align-items: center !important; gap: 10px !important; width: 100% !important; margin: 0 !important; padding: 4px 0 !important; cursor: pointer !important; font-family: var(--gc-font-ui) !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet-label .custom-checkbox,
:is(#category, #search, .categoryproducts) #search_filters .facet-label .custom-radio { position: static !important; top: 0 !important; margin: 0 !important; display: inline-flex !important; align-items: center !important; flex-shrink: 0 !important; }
/* boîte LWC (span après input, hors pastille couleur) */
:is(#category, #search, .categoryproducts) #search_filters .facet-label .custom-checkbox input[type='checkbox']+span:not(.color),
:is(#category, #search, .categoryproducts) #search_filters .facet-label .custom-radio input+span { width: 16px !important; height: 16px !important; border: 1.5px solid var(--wc-border) !important; border-radius: 3px !important; background: #fff !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; transition: background .15s, border-color .15s !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet-label .custom-checkbox input[type='checkbox']:checked+span:not(.color) { background: var(--wc-red) !important; border-color: var(--wc-red) !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet-label .custom-checkbox .checkbox-checked { color: #fff !important; font-size: 14px !important; }
/* pastille couleur (Couleur) */
:is(#category, #search, .categoryproducts) #search_filters .facet-label .custom-checkbox span.color { width: 14px !important; height: 14px !important; border-radius: 50% !important; box-shadow: inset 0 0 0 1px rgba(0,0,0,.18) !important; margin: 0 !important; }
/* label + compteur */
:is(#category, #search, .categoryproducts) #search_filters .facet-label a.search-link { flex: 1 1 auto !important; min-width: 0 !important; width: auto !important; display: flex !important; align-items: center !important; font-size: 13.5px !important; color: var(--wc-text) !important; text-decoration: none !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet-label:hover a.search-link { color: var(--wc-ink) !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet-label.active a.search-link { color: var(--wc-ink) !important; font-weight: 600 !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet-label .magnitude { margin-left: auto !important; padding-left: 8px !important; font-size: 12px !important; color: var(--wc-faint) !important; font-variant-numeric: tabular-nums !important; }

/* Champ de recherche injecté (JS) dans les longues listes (Producteur/Appellation…) */
:is(#category, #search, .categoryproducts) #search_filters .gc-facet-search { margin: 0 0 10px !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-facet-search input { width: 100% !important; font-family: var(--gc-font-ui) !important; font-size: 13px !important; color: var(--wc-ink) !important; border: 1px solid var(--wc-border) !important; border-radius: 4px !important; height: 34px !important; padding: 0 12px !important; background: var(--wc-grey-50) !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-facet-search input:focus { outline: none !important; border-color: var(--wc-ink) !important; background: #fff !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-facet-search input::placeholder { color: var(--wc-faint) !important; }

/* Slider prix (jQuery UI) — habillage LWC */
:is(#category, #search, .categoryproducts) #search_filters .faceted-slider { padding: 14px 6px 4px !important; max-height: none !important; overflow: visible !important; }
:is(#category, #search, .categoryproducts) #search_filters .faceted-slider p { font-size: 12.5px !important; color: var(--wc-muted) !important; margin: 0 0 10px !important; }
:is(#category, #search, .categoryproducts) #search_filters .ui-slider.ui-slider-horizontal { height: 4px !important; background: var(--wc-border) !important; border: none !important; border-radius: 3px !important; margin: 14px 0 !important; }
:is(#category, #search, .categoryproducts) #search_filters .ui-slider .ui-widget-header,
:is(#category, #search, .categoryproducts) #search_filters .ui-slider .ui-slider-range { background: var(--wc-red) !important; }
:is(#category, #search, .categoryproducts) #search_filters .ui-slider .ui-slider-handle { width: 16px !important; height: 16px !important; top: -6px !important; margin-left: -8px !important; border-radius: 50% !important; background: #fff !important; border: 2px solid var(--wc-red) !important; box-shadow: 0 1px 3px rgba(0,0,0,.2) !important; cursor: grab !important; }

/* PRIX custom (maquette PriceFilter : 2 inputs + dual-range 0–500/+) ; slider jQuery UI natif masqué via .gc-has-price (JS construit q=Prix-€-min-max, max=500 -> max catalogue = palier ouvert) */
:is(#category, #search, .categoryproducts) #search_filters .facet.gc-has-price > ul.faceted-slider { display: none !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price { padding: 12px 4px 2px !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price .price-fields { display: flex !important; align-items: center !important; gap: 10px !important; margin-bottom: 4px !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price .pf { position: relative !important; flex: 1 1 0 !important; min-width: 0 !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price .pf > input { width: 100% !important; box-sizing: border-box !important; font-family: var(--gc-font-ui) !important; font-size: 13.5px !important; font-weight: 600 !important; color: var(--wc-ink) !important; background: var(--wc-grey-50) !important; border: 1px solid var(--wc-border) !important; border-radius: 4px !important; height: 38px !important; padding: 0 10px 0 23px !important; -moz-appearance: textfield !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price .pf > input:focus { outline: none !important; border-color: var(--wc-ink) !important; background: #fff !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price .pf > input::-webkit-outer-spin-button, :is(#category, #search, .categoryproducts) #search_filters .gc-price .pf > input::-webkit-inner-spin-button { -webkit-appearance: none !important; margin: 0 !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price .pf-cur { position: absolute !important; left: 9px !important; top: 50% !important; transform: translateY(-50%) !important; font-size: 13px !important; color: var(--wc-muted) !important; pointer-events: none !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price .pf-dash { color: var(--wc-faint) !important; flex: 0 0 auto !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price .dr { padding: 0 8px !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price .dr-track { position: relative !important; height: 4px !important; border-radius: 3px !important; background: var(--wc-border) !important; margin: 17px 0 6px !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price .dr-fill { position: absolute !important; top: 0 !important; height: 100% !important; border-radius: 3px !important; background: var(--wc-red) !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price .dr-knob { position: absolute !important; top: 50% !important; width: 16px !important; height: 16px !important; border-radius: 50% !important; background: #fff !important; border: 2px solid var(--wc-red) !important; transform: translate(-50%,-50%) !important; box-shadow: 0 1px 3px rgba(0,0,0,.25) !important; cursor: grab !important; touch-action: none !important; z-index: 2 !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price .dr-knob:active { cursor: grabbing !important; }
:is(#category, #search, .categoryproducts) #search_filters .gc-price .range-bounds { display: flex !important; justify-content: space-between !important; font-family: var(--gc-font-ui) !important; font-size: 12px !important; color: var(--wc-muted) !important; margin-top: 2px !important; }

/* ===== GC — ZONE D bis : ordre (Prix 1er) + accordéon propre ===== */
:is(#category, #search, .categoryproducts) #search_filters { display: flex !important; flex-direction: column !important; }
:is(#category, #search, .categoryproducts) #search_filters .my-faced { order: -100 !important; }
:is(#category, #search, .categoryproducts) #search_filters .clear-all-wrapper { order: -99 !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet { order: 1 !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet[data-type="price"] { order: -98 !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet:not([data-type="price"]) > ul.collapse,
:is(#category, #search, .categoryproducts) #search_filters .facet:not([data-type="price"]) > ul.faceted-slider { display: none !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet:not([data-type="price"]).gc-open > ul.collapse,
:is(#category, #search, .categoryproducts) #search_filters .facet:not([data-type="price"]).gc-open > ul.faceted-slider { display: block !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet[data-type="price"] > ul.collapse,
:is(#category, #search, .categoryproducts) #search_filters .facet[data-type="price"] > ul.faceted-slider { display: block !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet .collapse-icons { display: none !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet:not([data-type="price"]) .title { position: relative !important; cursor: pointer !important; padding-right: 22px !important; -webkit-user-select: none !important; user-select: none !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet:not([data-type="price"]) .title::after { content: "" !important; position: absolute !important; right: 6px; top: 50%; width: 7px; height: 7px; border-top: 2px solid var(--wc-muted) !important; border-right: 2px solid var(--wc-muted) !important; border-bottom: none !important; transform: translateY(-50%) rotate(45deg); transition: transform .2s ease; pointer-events: none; }
:is(#category, #search, .categoryproducts) #search_filters .facet:not([data-type="price"]).gc-open .title::after { transform: translateY(-50%) rotate(135deg) !important; }
/* Chevron ▾ sur PRIX (toujours ouvert) — maquette */
:is(#category, #search, .categoryproducts) #search_filters .facet[data-type="price"] .title { position: relative !important; padding-right: 22px !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet[data-type="price"] .title::after { content: "" !important; position: absolute !important; right: 6px; top: 50%; width: 7px; height: 7px; border-top: 2px solid var(--wc-muted) !important; border-right: 2px solid var(--wc-muted) !important; border-bottom: none !important; transform: translateY(-50%) rotate(135deg) !important; pointer-events: none; }
/* trait rouge natif sous chaque sous-titre : retiré (garde séparateurs gris + le rouge du titre principal) */
:is(#category, #search, .categoryproducts) #search_filters .facet .facet-title::before, :is(#category, #search, .categoryproducts) #search_filters_wrapper #search_filters .facet .facet-title:before { display: none !important; }
/* compteur de valeurs à côté du titre */
:is(#category, #search, .categoryproducts) #search_filters .facet .gc-facet-count { font-family: var(--gc-font-ui) !important; font-size: 12px !important; font-weight: 400 !important; color: var(--wc-faint) !important; margin-left: 8px !important; }
/* champ recherche : masqué/affiché AVEC l'accordéon */
:is(#category, #search, .categoryproducts) #search_filters .facet:not([data-type="price"]):not(.gc-open) > .gc-facet-search { display: none !important; }
:is(#category, #search, .categoryproducts) #search_filters .facet:not([data-type="price"]).gc-open > .gc-facet-search { display: block !important; }

/* ===== Fil d'Ariane DANS UN BANDEAU TEAL (marque la séparation) + séparateurs « / » ===== */
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb {
  background: var(--wc-red) !important;   /* teal #30849a */
  /* PLEINE LARGEUR (bord à bord) : on déborde le padding 15px du conteneur full-width,
     texte ré-aligné via padding-left 15px. Pas de barre de scroll (conteneur = largeur dispo). */
  margin: 0 -15px 24px -15px !important;
  padding: 12px 15px !important;
  border-radius: 0 !important;
}
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb ol { gap: 8px !important; }
/* texte blanc lisible sur le teal */
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li,
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li a,
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li a span { color: #ffffff !important; }
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li a:hover,
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li a:hover span { color: rgba(255,255,255,.78) !important; }
/* séparateur « / » (plus de flèche), blanc atténué */
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li::after { content: "/" !important; color: rgba(255,255,255,.55) !important; font-weight: 400 !important; margin: 0 0 0 8px !important; }
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li:last-child::after { content: "" !important; margin: 0 !important; }
/* page courante (dernier item) : blanc + gras */
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li:last-child,
:is(#category, #search, .categoryproducts) #wrapper .breadcrumb li:last-child span { color: #ffffff !important; font-weight: 700 !important; }
/* Compteur « X références » + total toolbar : plus lisible */
:is(#category, #search, .categoryproducts) .page-header .gc-cat-count,
:is(#category, #search, .categoryproducts) #js-product-list-top .total-products p { color: #5a5a5a !important; }

/* ===== GC — LCDCE en-tête + filtres — fin ===== */

/* ====================================================================== */
/* === GC HERO CATÉGORIES RACINES (Bordeaux, Bourgogne, Rhône, …) ======= */
/* Pris en charge pour les IDs whitelistés dans _partials/category-header */
/* Sur les autres cats (sous-cats) : aucun effet, en-tête sobre conservé.  */
/* ====================================================================== */

/* Sur les root cats (= présence du .gc-cat-hero) :
   masquer la .page-title-wrapper entière (breadcrumb teal + H1 doublé + "X références"),
   le hero rendu en dessous prend leur place et expose son propre breadcrumb superposé. */
body:has(.gc-cat-hero) .page-title-wrapper { display: none !important; }

/* Sortir du conteneur centré pour un rendu pleine largeur */
.gc-cat-hero {
    position: relative;
    width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    margin-top: -24px;          /* colle au header marque (récupère le padding container) */
    margin-bottom: 32px;
    min-height: 420px;
    padding: 0;
    background-color: #6a4b22;
    background-size: cover;
    background-position: center 60%;
    background-repeat: no-repeat;
    overflow: hidden;
    isolation: isolate;
}

/* Overlay assombrissant pour lisibilité texte blanc */
.gc-cat-hero__overlay {
    position: absolute; inset: 0;
    background: linear-gradient(
        90deg,
        rgba(20,12,4,0.62) 0%,
        rgba(20,12,4,0.42) 45%,
        rgba(20,12,4,0.18) 100%
    );
    z-index: 1;
}

.gc-cat-hero__inner {
    position: relative;
    z-index: 2;
    max-width: 1280px;
    margin: 0 auto;
    padding: 28px 40px 40px;
    color: #ffffff;
    min-height: 420px;
    display: flex;
    flex-direction: column;
}

/* Breadcrumb dans le hero */
.gc-cat-hero__crumb { font-size: 13.5px; margin: 0 0 28px; }
.gc-cat-hero__crumb ol {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-wrap: wrap; gap: 8px;
}
.gc-cat-hero__crumb li { display: inline-flex; align-items: center; }
.gc-cat-hero__crumb li + li::before {
    content: "/";
    color: rgba(255,255,255,0.55);
    margin-right: 8px;
}
.gc-cat-hero__crumb a {
    color: rgba(255,255,255,0.78);
    text-decoration: none;
    transition: color .15s ease;
}
.gc-cat-hero__crumb a:hover { color: #ffffff; }
.gc-cat-hero__crumb li:last-child span { color: #ffffff; font-weight: 600; }

/* Surtitre doré façon maquette */
.gc-cat-hero__eyebrow {
    font-family: "Manrope", "Montserrat", system-ui, sans-serif;
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0.18em;
    color: #e4c98a;
    text-shadow: 0 1px 8px rgba(0,0,0,0.4);
    margin-top: auto;             /* pousse vers le bas */
}

/* Titre H1 serif géant */
.gc-cat-hero__title {
    font-family: "Spectral", "Playfair Display", Georgia, serif;
    font-weight: 500;
    font-size: clamp(40px, 5.5vw, 80px);
    line-height: 1.05;
    margin: 12px 0 18px;
    color: #ffffff;
    text-shadow: 0 2px 14px rgba(0,0,0,0.45);
}

/* Description sous le H1 */
.gc-cat-hero__desc {
    font-family: "Manrope", "Montserrat", system-ui, sans-serif;
    font-size: 15.5px;
    line-height: 1.65;
    max-width: 720px;
    color: rgba(255,255,255,0.92);
    text-shadow: 0 1px 6px rgba(0,0,0,0.35);
    margin: 0 0 28px;
}

/* KPIs */
.gc-cat-hero__kpi {
    display: flex;
    gap: 56px;
    flex-wrap: wrap;
    margin-top: 12px;
}
.gc-cat-hero__kpi-item .num {
    font-family: "Spectral", "Playfair Display", Georgia, serif;
    font-weight: 400;
    font-size: 36px;
    line-height: 1;
    color: #ffffff;
    text-shadow: 0 1px 8px rgba(0,0,0,0.4);
}
.gc-cat-hero__kpi-item .num span {
    font-size: 0.55em;
    font-weight: 400;
    margin-left: 2px;
}
.gc-cat-hero__kpi-item .lbl {
    font-family: "Manrope", "Montserrat", system-ui, sans-serif;
    font-size: 11.5px;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.78);
    margin-top: 8px;
}

/* Le titre H1 et la description du hero ne doivent pas hériter du style block-category */
.gc-cat-hero h1.gc-cat-hero__title { padding: 0; border: 0; background: transparent; }

/* Sur les pages avec hero : si jamais une .block-category.card est rendue (autre hook), la masquer */
body:has(.gc-cat-hero) .block-category.card.card-block { display: none !important; }

/* Mobile : padding réduit + KPI en colonne */
@media (max-width: 767px) {
    .gc-cat-hero { min-height: 360px; margin-top: -12px; margin-bottom: 20px; }
    .gc-cat-hero__inner { padding: 20px 18px 28px; min-height: 360px; }
    .gc-cat-hero__crumb { font-size: 12px; margin-bottom: 18px; }
    .gc-cat-hero__title { font-size: clamp(34px, 9vw, 56px); margin: 8px 0 14px; }
    .gc-cat-hero__desc { font-size: 14.5px; margin-bottom: 22px; }
    .gc-cat-hero__kpi { gap: 24px 36px; }
    .gc-cat-hero__kpi-item .num { font-size: 28px; }
    .gc-cat-hero__kpi-item .lbl { font-size: 10.5px; }
}

/* ===== GC HERO CATÉGORIES RACINES — fin ===== */
