/* //////////////////////////////////////////////////////////////////////////////////////////

Footer:

////////////////////////////////////////////////////////////////////////////////////////// */


.footer {
  background-color: #0c0c10;
}

/* //////////////////////////////////////////////////////////////////////////////////////////

Footer:
Let's Get Started Today! (Call To Action / CTA)

////////////////////////////////////////////////////////////////////////////////////////// */


.footer-cta-container {
  position: relative;
  z-index: 2;
  background-color: #e30613;
  padding: min(5vw + 75px, 160px) 20px;
  padding: clamp(100px, calc(80px + 5vw), 150px) 20px;
  display: grid;
  gap: 42px;
  /* PREVENTS SELECTING + DRAGGING */
  user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}
  @media screen and (max-width: 600px) {
    .footer-cta-container {
      gap: 30px;
    }
  }

.footer-cta-heading {
  font-family: 'Proxima Intervlag Extrabold', Helvetica, Arial, sans-serif;
  font-size: clamp(32px, calc(16px + 2.5vw), 45px);
  text-transform: uppercase;
  text-align: center;
  color: #fff;
  line-height: 0.85;
}
  /* Hide break on desktop */
  @media screen and (min-width: 601px) {
    .footer-cta-heading br {
      display: none;
    }
  }

/* "TODAY" Black Higlight */
.footer-cta-heading color {
  color: #000;
}


.footer-cta-subtext {
  font-family: 'Proxima Nova Bold', Helvetica, Arial, sans-serif;
  font-size: clamp(14px, calc(12px + 1vw), 16px);
  text-align: center;
  color: #fff;
  line-height: 1.45;
  margin-bottom: 12px;
}


/* ////// */


/* Call To Action Button */

.footer-cta-btn-container {
  width: 100%;
}

.footer-cta-btn {
  margin: auto;
  background-color: #fff;
  width: fit-content;
  padding: 30px 52px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5em;
  color: #e30613;
  font-family: 'Proxima Nova Bold', Helvetica, Arial, sans-serif;
  text-align: center;
  line-height: 1;
  font-size: clamp(14px, calc(12px + 1vw), 16px);
  cursor: pointer;
  border: 0;
  outline: 0;
  text-decoration: none;
  gap: 0;
  transition: background-color 0.45s ease 0.05s, color 0.45s ease 0.05s, gap 0.12s ease 0.05s;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  -ms-user-select: none;
  -webkit-user-select: none;
}
  .footer-cta-btn:hover {
    background-color: #00000025;
    color: #fff;
    transition: 0.12s ease 0.02s;
    gap: 20px;
    padding-right: 48px;
  }
  .footer-cta-btn:active {
    background-color: #00000050;
    transition: 0.1s ease;
  }

.footer-cta-btn::after {
  content: '';
  width: 0;
  height: 20px;
  opacity: 0;
  transform: scale(0);
  transform-origin: center left;
  background-color: #fff;
  transition: width 0.25s ease 0.075s, transform 0.3s ease 0.075s, opacity 0.05s ease 0.075s;
  will-change: transform, opacity;

  /* SVG Arrow Icon */
  -webkit-mask-image: url('data:image/svg+xml,<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M19.7070312,9.2929688l-5.6005859-5.6005859c-0.390625-0.390625-1.0234375-0.390625-1.4140625,0 s-0.390625,1.0234375,0,1.4140625L16.5859375,9H1c-0.5522461,0-1,0.4477539-1,1s0.4477539,1,1,1h15.5859375l-3.8935547,3.8935547 c-0.390625,0.390625-0.390625,1.0234375,0,1.4140625c0.1953125,0.1953125,0.4511719,0.2929688,0.7070312,0.2929688 s0.5117188-0.0976562,0.7070312-0.2929688l5.6005859-5.6005859C20.0976562,10.3164062,20.0976562,9.6835938,19.7070312,9.2929688z" /></svg>');
  mask-image: url('data:image/svg+xml,<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M19.7070312,9.2929688l-5.6005859-5.6005859c-0.390625-0.390625-1.0234375-0.390625-1.4140625,0 s-0.390625,1.0234375,0,1.4140625L16.5859375,9H1c-0.5522461,0-1,0.4477539-1,1s0.4477539,1,1,1h15.5859375l-3.8935547,3.8935547 c-0.390625,0.390625-0.390625,1.0234375,0,1.4140625c0.1953125,0.1953125,0.4511719,0.2929688,0.7070312,0.2929688 s0.5117188-0.0976562,0.7070312-0.2929688l5.6005859-5.6005859C20.0976562,10.3164062,20.0976562,9.6835938,19.7070312,9.2929688z" /></svg>');
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 20px 20px;
  mask-size: 20px 20px;
}
  .footer-cta-btn:hover::after {
    transition: width 0.25s ease 0.02s, transform 0.3s ease 0.02s, opacity 0.05s ease 0.02s;
    width: 20px;
    opacity: 1;
    transform: scale(1);
  }

@media screen and (max-width: 500px) {
  .footer-cta-btn {
    width: 100%;
    padding: max(15px, 2.594svh);
  }
    .footer-cta-btn:hover {
      gap: 2.2svh;
      padding-right: max(10px, 2svh);
    }

  .footer-cta-btn::after {
    height: 2.196svh;
    -webkit-mask-size: 2.196svh 2.196svh;
    mask-size: 2.196svh 2.196svh;
  }
}


/* //////////////////////////////////////////////////////////////////////////////////////////

Footer:
Main

////////////////////////////////////////////////////////////////////////////////////////// */

.footer-main {
  position: sticky;
  bottom: 0;
  z-index: 1;
  padding-top: clamp(100px, calc(60px + 5.5vw), 150px);
  padding-bottom: clamp(90px, calc(55px + 5vw), 140px);
  width: 100%;
  box-sizing: border-box;
  transform: translateZ(0);
}
  @media screen and (max-width: 800px) {
    .footer-main {
      padding-bottom: 60px;
    }
  }
  /* Not STICKY on mobile */
  @media screen and (max-width: 500px) {
    .footer-main {
      position: relative;
    }
  }


.footer-content {
  display: grid;
  gap: 150px;
  width: 100%;
  max-width: 1480px;
  margin: auto;
  padding: 0 35px;
  box-sizing: border-box;

  font-family: 'Proxima Nova Medium', Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.1px;
  color: #fff;
}
  @media screen and (max-width: 1575px) {
    .footer-content {
      max-width: 1350px;
    }
  }
  @media screen and (max-width: 1300px) {
    .footer-content {
      gap: 90px;
      font-size: 14px;
      line-height: 1.45;
    }
  }
  @media screen and (max-width: 800px) {
    .footer-content {
      gap: 60px;
    }
  }
  @media screen and (max-width: 600px) {
    .footer-content {
      padding: 0 20px;
    }
  }


/* ////////// */


/* Row - Top (Logo + Contact) */

.footer-row-top {
  display: flex;
  gap: 10px;
}
  @media screen and (max-width: 800px) {
    .footer-row-top {
      display: grid;
      gap: inherit;
    }
  }


/* Logo */

.footer-logo {
  width: 100%;
}
  @media screen and (max-width: 1200px) {
    .footer-logo {
      width: 50%;
    }
  }

.footer-logo a {
  border: 0;
  outline: 0;
  -webkit-tap-highlight-color: transparent;
}

.footer-logo svg {
  width: 159px;
  height: auto;
}
  @media screen and (max-width: 1200px) {
    .footer-logo svg {
      width: 137px;
    }
  }
  @media screen and (max-width: 800px) {
    .footer-logo svg {
      width: 115px;
    }
  }
  @media screen and (max-width: 600px) {
    .footer-logo svg {
      width: 85px;
    }
  }


/* ////////// */


/* Contact */

.footer-col-contact {
  width: 100%;
  display: flex;
  gap: 10px;
  align-items: center;
}
  @media screen and (max-width: 500px) {
    .footer-col-contact {
      display: grid;
      gap: 45px;
    }
  }

.footer-cell-contact {
  width: 100%;
}

.footer-content a {
  color: #fff;
  text-decoration: none;
  display: block;
}

.footer-subtext {
  color: #a6a6a6 !important;
  margin-top: 26px;
  width: fit-content;
  position: relative;
}
  @media screen and (max-width: 500px) {
    .footer-subtext {
      margin-top: 22px;
    }
  }


/* Google Maps Link Underline Hover Effect */

.footer-subtext.link::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #a6a6a6;
  transform: scaleX(0); 
  transform-origin: left;
  transition: transform 0.2s ease 0.04s;
}
  .footer-subtext.link:hover::after {
    transform: scaleX(1);
  }



/* //////////////////////////////////////////////////////////////////////////////////////////

Footer:
Bottom (Socials + Legal + Business Numbers)

////////////////////////////////////////////////////////////////////////////////////////// */


.footer-bottom {
  position: relative;
  z-index: 2;
  padding: 0 35px;
  padding-bottom: clamp(70px, calc(30px + 5vw), 120px);

  font-family: 'Proxima Nova Medium', Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  letter-spacing: 0.1px;
  color: #fff;
}
  @media screen and (max-width: 1300px) {
    .footer-bottom {
      font-size: 14px;
      line-height: 1.45;
    }
  }
  @media screen and (max-width: 600px) {
    .footer-bottom {
      padding: 0 20px;
      padding-bottom: min(5vw + 50px, 110px);
    }
  }

.footer-row-bottom {
  display: grid;
  gap: 20px;
}
  @media screen and (max-width: 1200px) {
    .footer-row-bottom {
      gap: 15px;
    }
  }
  @media screen and (max-width: 800px) {
    .footer-row-bottom {
      gap: 60px;
    }
  }


/* Socials + Legal Links */

.footer-col-socials-legal {
  display: flex;
  gap: 45px;
  align-items: center;
  justify-content: center;
}
  @media screen and (max-width: 800px) {
    .footer-col-socials-legal {
      display: grid;
      gap: 30px;
      justify-content: left;
    }
  }
  @media screen and (max-width: 500px) {
    .footer-col-socials-legal {
      gap: 25px;
    }
  }


/* Socials */

.footer-social-container {
  display: flex;
  gap: 10px;
}

.footer-social {
  width: 36px;
  height: 36px;
  position: relative;
  border: 0;
  outline: 0;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
  @media screen and (max-width: 800px) {
    .footer-social {
      background-color: #ffffff20;
      border-radius: 100%;
    }
  }

.footer-social span::before {
  content: '';
  position: absolute;
  background-color: #a6a6a6;
  left: 0;
  top: 0;
  width: 36px;
  height: 36px;
  -webkit-mask-size: contain;
  mask-size: contain;
}
.icon-linkedin::before {
  -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='%23ffffff'><path d='M15.21698,22.8060551C15.21698,22.9134712,15.1291447,23,15.0204239,23h-2.4468832 c-0.1087208,0-0.1967421-0.0865288-0.1967421-0.1939449v-7.7563257c0-0.1070423,0.0880213-0.1939449,0.1967421-0.1939449h2.4468832 c0.1087208,0,0.1965561,0.0869026,0.1965561,0.1939449V22.8060551z'/> <path d='M13.797822,14.1836891c-0.8902845,0-1.6147823-0.714242-1.6147823-1.5922174 C12.1830397,11.7138681,12.9075375,11,13.797822,11c0.8897238,0,1.6134768,0.7138681,1.6134768,1.5914717 C15.4112988,13.4694471,14.6875458,14.1836891,13.797822,14.1836891z'/> <path d='M24.3721371,22.8060551C24.3721371,22.9134712,24.2841148,23,24.175581,23h-2.4425945 c-0.1085339,0-0.1965561-0.0865288-0.1965561-0.1939449V19.034935c0-1.0558834-0.0790691-1.8633671-1.0739727-1.8633671 c-0.9135952,0-1.269783,0.5038834-1.269783,1.796978v3.8375092C19.1926746,22.9134712,19.1046524,23,18.9961185,23h-2.4414749 c-0.1087208,0-0.196743-0.0865288-0.196743-0.1939449v-7.7563257c0-0.1070423,0.0880222-0.1939449,0.196743-0.1939449h2.3433838 c0.1085339,0,0.1965561,0.0869026,0.1965561,0.1939449v0.5038853c0.4406662-0.4736738,1.1670284-0.8906574,2.1498108-0.8906574 c2.7562618,0,3.1277428,1.9659357,3.1277428,3.8886061V22.8060551z'/></svg>");
  mask-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='%23ffffff'><path d='M15.21698,22.8060551C15.21698,22.9134712,15.1291447,23,15.0204239,23h-2.4468832 c-0.1087208,0-0.1967421-0.0865288-0.1967421-0.1939449v-7.7563257c0-0.1070423,0.0880213-0.1939449,0.1967421-0.1939449h2.4468832 c0.1087208,0,0.1965561,0.0869026,0.1965561,0.1939449V22.8060551z'/> <path d='M13.797822,14.1836891c-0.8902845,0-1.6147823-0.714242-1.6147823-1.5922174 C12.1830397,11.7138681,12.9075375,11,13.797822,11c0.8897238,0,1.6134768,0.7138681,1.6134768,1.5914717 C15.4112988,13.4694471,14.6875458,14.1836891,13.797822,14.1836891z'/> <path d='M24.3721371,22.8060551C24.3721371,22.9134712,24.2841148,23,24.175581,23h-2.4425945 c-0.1085339,0-0.1965561-0.0865288-0.1965561-0.1939449V19.034935c0-1.0558834-0.0790691-1.8633671-1.0739727-1.8633671 c-0.9135952,0-1.269783,0.5038834-1.269783,1.796978v3.8375092C19.1926746,22.9134712,19.1046524,23,18.9961185,23h-2.4414749 c-0.1087208,0-0.196743-0.0865288-0.196743-0.1939449v-7.7563257c0-0.1070423,0.0880222-0.1939449,0.196743-0.1939449h2.3433838 c0.1085339,0,0.1965561,0.0869026,0.1965561,0.1939449v0.5038853c0.4406662-0.4736738,1.1670284-0.8906574,2.1498108-0.8906574 c2.7562618,0,3.1277428,1.9659357,3.1277428,3.8886061V22.8060551z'/></svg>");
}
.icon-youtube::before {
  -webkit-mask-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='%23ffffff'><path d='M25.4306526,14.3215504c-0.1786308-0.6551781-0.7022572-1.1714859-1.3661404-1.3479414 c-1.2128296-0.3275881-6.064743-0.3275881-6.064743-0.3275881s-4.851716,0-6.0645466,0.3153238 c-0.6510229,0.1760588-1.1875095,0.7054234-1.3661404,1.3602057C10.25,15.5183573,10.25,18.0001984,10.25,18.0001984 s0,2.4941044,0.3190823,3.6782513c0.1788292,0.6551781,0.7022591,1.1714859,1.3663378,1.3479404 c1.2254906,0.327589,6.0645475,0.327589,6.0645475,0.327589s4.8517151,0,6.0645447-0.3149281 c0.6640797-0.1764545,1.1875095-0.6931591,1.3663387-1.3479404c0.3190823-1.1968079,0.3190823-3.6782532,0.3190823-3.6782532 S25.7627926,15.5183573,25.4306526,14.3215504z M16.4551964,20.292923v-4.5854511l4.0343266,2.2927265L16.4551964,20.292923z'/></svg>");
  mask-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 36' fill='%23ffffff'><path d='M25.4306526,14.3215504c-0.1786308-0.6551781-0.7022572-1.1714859-1.3661404-1.3479414 c-1.2128296-0.3275881-6.064743-0.3275881-6.064743-0.3275881s-4.851716,0-6.0645466,0.3153238 c-0.6510229,0.1760588-1.1875095,0.7054234-1.3661404,1.3602057C10.25,15.5183573,10.25,18.0001984,10.25,18.0001984 s0,2.4941044,0.3190823,3.6782513c0.1788292,0.6551781,0.7022591,1.1714859,1.3663378,1.3479404 c1.2254906,0.327589,6.0645475,0.327589,6.0645475,0.327589s4.8517151,0,6.0645447-0.3149281 c0.6640797-0.1764545,1.1875095-0.6931591,1.3663387-1.3479404c0.3190823-1.1968079,0.3190823-3.6782532,0.3190823-3.6782532 S25.7627926,15.5183573,25.4306526,14.3215504z M16.4551964,20.292923v-4.5854511l4.0343266,2.2927265L16.4551964,20.292923z'/></svg>");
}





/* Business Numbers */

.footer-col-business-numbers {
  display: flex;
  gap: 45px;
  align-items: center;
  justify-content: center;
}
  @media screen and (max-width: 800px) {
    .footer-col-business-numbers {
      display: grid;
      gap: 10px;
      justify-content: left;
      grid-template-columns: 1fr 1fr;
    }
  }
  @media screen and (min-width: 801px) and (max-width: 1200px) {
    .footer-col-business-numbers {
      font-size: 13px;
    }
  }
  @media screen and (max-width: 385px) {
    .footer-col-business-numbers {
      display: grid;
      grid-template-columns: unset;
    }
  }

.footer-business-number {
  display: flex;
  gap: 10px;
}
  @media screen and (max-width: 800px) {
    .footer-business-number {
      margin-bottom: 22px;
      display: grid;
      gap: 0;
      width: 100%;
    }
  }
  @media screen and (max-width: 350px) {
    .footer-business-number {
      margin-bottom: 10px;
    }
  }

.footer-business-number span {
  color: #a6a6a6;
}


/* Legal*/

.footer-legal-container {
  display: flex;
  gap: inherit;
  color: #a6a6a6;
  font-size: 14px;
  line-height: 1.45;
  letter-spacing: 0.1px;
}
  @media screen and (max-width: 300px) {
    .footer-legal-container {
      display: grid;
      gap: 0;
    }
  }

.footer-legal-container a {
  color: #a6a6a6;
  text-decoration: none;
  display: block;
}



/* //////////////////////////////////////////////////////////////////////////////////////////

Footer:
Slogan (We Love Flags)

////////////////////////////////////////////////////////////////////////////////////////// */


.footer-slogan {
  position: relative;
  z-index: 2;
  width: 100%;
  overflow: hidden;
}

.footer-slogan svg {
  fill: #fff;
  display: block;
  width: 100%;
  height: auto;
  transform: scale(1.055) translateY(5%);
}