/* CSS Variables and Global Styles */

:root {
  --primary-color: #fbfaff;
  --secondary-color: #061021;
  --tertiary-color: #1a3dbd;

  --action-color: #3550a0;
}

* {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  font-family: 'Questrial', Helvetica, Arial, Lucida, sans-serif;
  -webkit-font-smoothing: antialiased;
}


/* Header Styles */

.header {
  padding: 1.90em 0;
  z-index: 100;
  box-shadow: rgba(80, 69, 187, 0.12) 0px 10px 40px -5px
}

.navbar {
  grid-template-columns: auto auto;
}

.branding {
  width: 145px;
  height: auto;
  transform: translateY(3px);
}

.navbar-items {
  font-size: 1.1rem;
}

.navbar-items a {
  text-decoration: none;
  color: rgba(0, 0, 0, .6);
}

.navbar-items a.active, .navbar-items a:hover, .link {
  color: var(--tertiary-color);
  position: relative;
}

.navbar-items a.active::after, .navbar-items a:hover::after, .link::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 3px;
  background: var(--tertiary-color);
  border-radius: 2px;
}

.link {
  text-decoration: none;
  font-weight: bold;
}

.slogan {
  font-size: 32px;
  color: white;
  padding: 5em 0;
}

.slogan div:nth-child(2) {
  font-size: 2em;
}


/* Footer Styles */

.footer {
  padding: 4em 0;
  color: white;
}

.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  text-align: start;
  gap: 2em;
}

.footer-grid div {
  width: 100%;
}

.footer-grid img {
  width: 145px;
}

.footer a {
  text-decoration: none;
  color: white;
}

.socials {
  display: flex;
}

.footer hr {
  border: none;
  height: .1px;
  color: #333;
  background-color: #a6a6a6;
}

.legal-links a {
  color: #a6a6a6;
  text-decoration: none;
  margin-right: 1rem;
}

.footer hr {
  margin: 2em 0;
}


/* Main Content Styles */

.content {
  padding-top: 96.2px;
}

.content-wrapper {
  max-width: 85%;
  margin: 0 auto;
  padding: 2em;
}

.card {
  background: white;
  border-radius: 2em;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  display: flex;
  gap: 2em;
  flex-direction: column;
  justify-content: space-between;
  flex: 1 1 0;
  width: 0;
}

.card:hover {
  box-shadow: 0 8px 12px rgba(0, 0, 0, 0.2);
  transform: scale(1.02);
  transition: box-shadow 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.services {
  display: grid;
  grid-template-columns: auto auto auto auto;
}

.services .card {
  width: 100%;
  gap: 1.5em;
  justify-content: start;
}

.services .card img {
  width: 80px;
  height: auto;
}

.services .card > div:last-child {
  height: 100% !important;
}

.services .card * {
    text-align: center;
}

.carousel {
  display: grid;
  gap: 4em;
  scroll-snap-type: x mandatory;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.carousel img {
  width: 150px;
  height: auto;
  scroll-snap-align: center;
  opacity: 0.7;
}

.carousel img:hover {
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}