/*
 * Font Awesome and Animation Styles - Extracted from landing.html lines 120-121
 * 
 * Complete Font Awesome font definitions and CSS animation keyframes
 * for the tire repair landing page.
 */

/* === FONT AWESOME FONT DEFINITIONS === */
@font-face {
  font-display: swap;
  font-family: Font Awesome\ 5 Free;
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/fontawesome-webfont.eot);
  src: url(../fonts/fontawesome-webfont-1.eot) format("embedded-opentype"),
       url(../fonts/fontawesome-webfont.woff2) format("woff2"),
       url(../fonts/fontawesome-webfont.woff) format("woff"),
       url(../fonts/fontawesome-webfont.ttf) format("truetype"),
       url(../fonts/fontawesome-webfont.svg) format("svg");
}

.far {
  font-weight: 400;
}

@font-face {
  font-display: swap;
  font-family: Font Awesome\ 5 Free;
  font-style: normal;
  font-weight: 900;
  src: url(../fonts/fontawesome-webfont.eot);
  src: url(../fonts/fontawesome-webfont-1.eot) format("embedded-opentype"),
       url(../fonts/fontawesome-webfont.woff2) format("woff2"),
       url(../fonts/fontawesome-webfont.woff) format("woff"),
       url(../fonts/fontawesome-webfont.ttf) format("truetype"),
       url(../fonts/fontawesome-webfont.svg) format("svg");
}

.fa,
.far,
.fas {
  font-family: Font Awesome\ 5 Free;
}

.fa,
.fas {
  font-weight: 900;
}

@font-face {
  font-display: swap;
  font-family: Font Awesome\ 5 Brands;
  font-style: normal;
  font-weight: 400;
  src: url(../fonts/fontawesome-webfont.eot);
  src: url(../fonts/fontawesome-webfont-1.eot) format("embedded-opentype"),
       url(../fonts/fontawesome-webfont.woff2) format("woff2"),
       url(../fonts/fontawesome-webfont.woff) format("woff"),
       url(../fonts/fontawesome-webfont.ttf) format("truetype"),
       url(../fonts/fontawesome-webfont.svg) format("svg");
}

.fab {
  font-family: Font Awesome\ 5 Brands;
  font-weight: 400;
}

/* === FONT AWESOME ICON DEFINITIONS === */
/* Phone icon for all buttons - Font Awesome 5 phone-volume (was volume-control-phone in v4) */
.fa-phone-volume:before {
  content: "\f2a0";
}

/* Footer location icons */
.fa-map-marker-alt:before {
  content: "\f3c5";
}

.fa-clock:before {
  content: "\f017";
}

.fa-phone:before {
  content: "\f095";
}

/* Ensure all Font Awesome icons display properly */
.fa, .fas, .far, .fab {
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  line-height: 1;
  text-rendering: auto;
}

/* === PHONE ICON POSITIONING === */
/* Universal phone icon spacing and alignment for all buttons */
.button-icon-start .fa-phone-volume {
  margin-right: 5px;
  vertical-align: middle;
  line-height: 1;
  position: relative;
  top: -1px; /* Fine-tune vertical alignment to center with text */
  font-size: inherit; /* Match button text size */
}

.button-icon-start {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.button-icon-end {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

/* Ensure main heading group aligns properly */
.main-heading-group {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
}

.main-heading-button {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

/* === SPECIFIC BUTTON ALIGNMENT FIXES === */
/* Ensure consistent icon alignment across different button sizes */
.cbutton-EN3FEVGBWs .button-icon-start .fa-phone-volume,
.cbutton-21OZBPzcUk .button-icon-start .fa-phone-volume,
.cbutton-uikKY2CTTl .button-icon-start .fa-phone-volume,
.cbutton-gVKoBoCVwg .button-icon-start .fa-phone-volume {
  vertical-align: middle;
  position: relative;
  top: 0px; /* Reset and center properly */
  transform: translateY(-1px); /* Fine adjustment for perfect alignment */
}

/* === REMOVE UNDERLINES FROM PHONE BUTTONS === */
/* Remove text decoration from all phone button links */
a.cbutton-EN3FEVGBWs,
a.cbutton-21OZBPzcUk,
a.cbutton-uikKY2CTTl,
a.cbutton-gVKoBoCVwg {
  text-decoration: none !important;
}

a.cbutton-EN3FEVGBWs:hover,
a.cbutton-21OZBPzcUk:hover,
a.cbutton-uikKY2CTTl:hover,
a.cbutton-gVKoBoCVwg:hover {
  text-decoration: none !important;
}

/* === ANIMATION SYSTEM === */
:root {
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1;
}

.animate__animated {
  animation-duration: 1s;
  animation-duration: var(--animate-duration);
  animation-fill-mode: both;
}

@media (prefers-reduced-motion: reduce), print {
  .animate__animated {
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
  
  .animate__animated[class*=Out] {
    opacity: 0;
  }
}

/* === FADE ANIMATIONS === */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.animate__fadeIn {
  animation-name: fadeIn;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInUp {
  animation-name: fadeInUp;
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInDown {
  animation-name: fadeInDown;
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInLeft {
  animation-name: fadeInLeft;
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translateZ(0);
  }
}

.animate__fadeInRight {
  animation-name: fadeInRight;
}

/* === SLIDE ANIMATIONS === */
@keyframes slideInUp {
  0% {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}

.animate__slideInUp {
  animation-name: slideInUp;
}

@keyframes slideInDown {
  0% {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}

.animate__slideInDown {
  animation-name: slideInDown;
}

@keyframes slideInLeft {
  0% {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}

.animate__slideInLeft {
  animation-name: slideInLeft;
}

@keyframes slideInRight {
  0% {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translateZ(0);
  }
}

.animate__slideInRight {
  animation-name: slideInRight;
}

/* === BOUNCE ANIMATIONS === */
@keyframes bounceIn {
  0%, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(.215, .61, .355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(.9, .9, .9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(.97, .97, .97);
  }
  to {
    opacity: 1;
    transform: scaleX(1);
  }
}

.animate__bounceIn {
  animation-duration: .75s;
  animation-duration: calc(var(--animate-duration) * .75);
  animation-name: bounceIn;
}

/* === ZOOM ANIMATIONS === */
@keyframes zoomIn {
  0% {
    opacity: 0;
    transform: scale3d(.3, .3, .3);
  }
  50% {
    opacity: 1;
  }
}

.animate__zoomIn {
  animation-name: zoomIn;
}

/* === FLIP ANIMATIONS === */
@keyframes flip {
  0% {
    animation-timing-function: ease-out;
    transform: perspective(400px) scaleX(1) translateZ(0) rotateY(-1turn);
  }
  40% {
    animation-timing-function: ease-out;
    transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-190deg);
  }
  50% {
    animation-timing-function: ease-in;
    transform: perspective(400px) scaleX(1) translateZ(150px) rotateY(-170deg);
  }
  80% {
    animation-timing-function: ease-in;
    transform: perspective(400px) scale3d(.95, .95, .95) translateZ(0) rotateY(0deg);
  }
  to {
    animation-timing-function: ease-in;
    transform: perspective(400px) scaleX(1) translateZ(0) rotateY(0deg);
  }
}

.animate__animated.animate__flip {
  animation-name: flip;
  backface-visibility: visible;
}
