@import url("bootstrap-icons.min.css");
@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&amp;display=swap');
@font-face {
    font-family: 'scFont'; /* Choose a name for your font */
    src: url('../otf/myriadpro-boldit.otf') format('opentype');
}

/* Make the whole card reliably clickable with stretched-link */
.service-card { position: relative; overflow: hidden; }
.service-card .service-img { display:block; width:100%; height:auto; }

/* Put content below the click layer */
.service-card .service-content,
.service-card .service-img { position: relative; z-index: 1; }

/* Ensure the stretched-link's hit area is on top */
.service-card > .stretched-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;          /* key line: above other children */
}

/* keep the visible button above too so it’s focusable and right-clickable */
.service-card .btn-quote { position: relative; z-index: 6; }


body {
  background-color: #fff;
  font-family: Outfit, sans-serif;
  font-weight: 400;
  color: #000;
}

.font-brand {
  font-family: scFont;
}

.text-brand {
  color: #D4000E;
}
.bg-brand {
	background-color: #D4000E;
	color: #fff;
}

.btn-brand {
    background-color: #D4000E;
    border-color: #D4000E;
    color: #fff;
  }
  .btn-brand:hover,
  .btn-brand:focus {
    background-color: #b0000c;
    border-color: #b0000c;
    color: #fff;
  }

.navbar-brand {
  font-size: 1.5em;
  margin-right: 2px;
}
span.trademark {
  font-weight: normal;
  color: #fff;
  font-family: Outfit, sans-serif;
}

.sequential-text {
  gap: 0.5rem;
}

.sequential-text span {
  opacity: 0;
  transform: translateY(20px);
  animation: fadeInUp 1s ease forwards;
  animation-delay: var(--delay);
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.card-hover {
  position: relative;
  border-radius: 24px;
  background-size: cover;
  background-position: 50% 15%;
  overflow: hidden;
  transition: transform 0.4s ease, box-shadow 0.3s ease;
  cursor: pointer;
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.05);

  height: 220px !important;
}

.card-hover:hover {
  transform: scale(1.015);
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.1);
}

.card-overlay {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.5rem;
  color: #fff;
}

.card-title {
  font-size: 1.5rem;
  font-weight: 600;
}

.card-desc {
  font-size: 1rem;
  font-weight: 300;
  opacity: 0.9;
}

.cardModal {
	background-color: rgb(0,0,0,0);
}
.modal-content {
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 8px 60px rgba(0, 0, 0, 0.15);
}

.modal-img {
  height: 400px;
  background-size: cover;
  background-position: center;
  margin: 0 auto;
}

.quote-btn {
  position: absolute;
  top: 16px;
  right: 16px;
  opacity: 0;
  transform: translateY(10px);
  transition: all 0.3s ease;
}

.card-hover:hover .quote-btn {
  opacity: 1;
  transform: translateY(0);
}



/* Featurettes
------------------------- */

.marketing {
	background-color: #F4F4F4;
}
.featurette-divider {
	margin: 5rem 0; /* Space out the Bootstrap <hr> more */
}

/* Thin out the marketing headings */
/* rtl:begin:remove */
.featurette-heading {
	letter-spacing: -.05rem;
}

@media (min-width: 50em) {
  .featurette-heading {
    font-size: 50px;
  }
}



/* pre-footer */
.pre-footer {
  
  color: #fff;
}
.pre-footer a, .pre-footer a:visited, .pre-footer a:focus {
  color: #969696;
}
.pre-footer a:hover {
  color:#fff;
}


/*Video*/
#bgVideo {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  z-index: -2; /* Keeps it behind everything */
}

.video-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgb(0 0 0 / 50%); /* Dark overlay for readability */
  z-index: -1;
}

.product {
  position: relative;
  z-index: 1;
  padding: 130px 24px !important;
}

.dropdown-item {
  border-radius: 15px;
}


/*
.service-card {
  background-color: #000;
  color: #fff;
  border-radius: 16px;
  padding: 30px 20px;
  text-align: center;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  height: 100%;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-shadow: 0 0 0 transparent;
}

.service-card:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 20px 30px rgba(255, 255, 255, 0.05);
}

.service-card .icon {
  font-size: 48px;
  margin-bottom: 20px;
  color: white;
}

.service-card h3 {
  font-size: 20px;
  margin-bottom: 10px;
  font-weight: 600;
}

.service-card p {
  font-size: 14px;
  opacity: 0.85;
}
*/






.service-card {
  display: flex;
  flex-direction: row;
  align-items: center;

  background: #fff;
  border-radius: 32px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  text-align: center;
  padding: 10px 20px;
  transition: transform 0.3s ease;
}

.service-card:hover {
  transform: translateY(-5px);
}

.service-img {
  max-width: 150px;
  object-fit: cover;
  border-radius: 12px;
}

.service-card h3 {
  font-size: 18px;
  margin: 5px 0;
  font-weight: 600;
  color: #000;
}

.service-card p {
  font-size: 14px;
  color: #555;
  margin-bottom: 10px;
}

.service-content {
  width: 70%;
}

.btn-quote {
  display: inline-block;
  background: #d4000e;
  color: #fff;
  padding: 10px 20px;
  border-radius: 30px;
  text-decoration: none;
  transition: background 0.3s ease;
}

.btn-quote:hover {
  background: #a8000b;
}

@media (max-width: 1199px) {
  .product {
    padding: 48px 24px !important;
  }
  .service-img {
    max-width: 100px;
  }
}



#canadian-provinces .flag-card {
  background: #fff;
  border-radius: 12px;
  padding: 15px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
#canadian-provinces .flag-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 15px rgba(0,0,0,0.15);
}
#canadian-provinces .row img {
  height: auto;
  display: block;
  margin: 0 auto;
  transition: transform 0.2s ease-in-out;
}
#canadian-provinces .row img:hover {
  transform: scale(1.05);
}


/* ===== White header bar base ===== */
.sc-logos-bar{
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.06);
  position:relative;
  z-index:1000;
}

/* Main wrap: awards left, everything else to the right */
.sc-logos-wrap{
  display:flex;
  align-items:center;
  gap:1rem;
  padding:.5rem 1rem;
}

/* ===== Awards block (left) ===== */
.sc-logos-left{
  display:flex;
  align-items:center;
  gap:.6rem;
  min-width:0;
}
.sc-award{
  display:block;
  height:38px;           /* desktop default */
  width:auto;
}
.sc-award-copy{
  display:flex;
  flex-direction:column;
  line-height:1.1;
  white-space:nowrap;
}
.sc-eyebrow{
  font-size:.72rem;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:#6b7280;
}
.sc-award-line{
  font-size:.9rem;
  color:#111827;
  font-weight:600;
}

/* ===== Right region ===== */
.sc-logos-right{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-left:auto;             /* pushes whole block to the right side of the bar */
  min-width:0;
}

/* ShipCanada brand: fixed at the left of the right region */
.sc-logo-brand{
  height:54px;                  /* desktop */
  width:auto;
  display:block;
	padding-left: 160px;
}

/* Other logos live in a strip that flows to the far right */
.right-logos{
  display:flex;
  align-items:center;
  gap:1rem;
  margin-left:auto;             /* pushes the group to the far right */
  min-width:0;
}

/* All logos: consistent height + preserved aspect ratio */
.sc-logo{
  display:block;
  height:40px;                  /* desktop */
  width:auto;
  object-fit:contain;
}

/* ===== Mobile behavior ===== */
@media (max-width: 991.98px){
  .sc-logo-brand{ height:48px; }
  .sc-logo{ height:34px; }
  .sc-award{ height:32px; }
}
@media (max-width: 575.98px){
  /* Make the right-side logos a smooth horizontal scroller on phones */
  .right-logos{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:thin;
    padding-bottom:.25rem;      /* room for scrollbar */
  }
  .right-logos .sc-logo-link{
    flex:0 0 auto;              /* prevents shrinking so logos stay readable */
  }

  /* Slightly smaller assets to avoid crowding */
  .sc-logo-brand{ height:44px; }
  .sc-logo{ height:30px; }
  .sc-award{ height:28px; }

  /* Hide the award copy label if space is tight */
  .sc-award-copy{ display:none; }
}

/* Optional: subtle scrollbar styling (webkit) */
.right-logos::-webkit-scrollbar{ height:6px; }
.right-logos::-webkit-scrollbar-track{ background:transparent; }
.right-logos::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.15); border-radius:3px; }

/* Hide white headerbar on mobile screens */
@media (max-width: 576px) {
  .sc-logos-bar {
    display: none !important;
  }
}

/* Brand as tracking indicator */
.tracking-brand{
  display:flex;
  align-items:center;
  gap:.5rem;
  color:#fff;                 /* contrasts on bg-black */
  text-decoration:none;
}
.tracking-brand:hover,
.tracking-brand:focus{
  color:#fff;
  text-decoration:none;
  opacity:.9;
}

/* Text sizing matches .navbar-brand h1 scale */
.tracking-text{
  font-weight:700;
  letter-spacing:.2px;
  font-size:1.125rem;         /* ~18px */
  line-height:1;
}

/* Green "ON" pill */
.badge-on{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.2rem .55rem;
  border-radius:999px;
  background:#16a34a;         /* green-600 */
  color:#08130a;              /* near-black text for contrast */
  font-weight:700;
  font-size:.75rem;           /* 12px */
  line-height:1;
  box-shadow:0 0 0 1px rgba(0,0,0,.2) inset;
}

/* Make sure it scales nicely on small screens */
@media (max-width: 575.98px){
  .tracking-text{ font-size:1rem; }
  .badge-on{ font-size:.7rem; padding:.18rem .5rem; }
}


/* Ensure the hero/video section allows absolutely positioned items */
.hero-section {
  position: relative;
}

/* Awards Badge Overlay */
.hero-awards {
  position: absolute;
  top: 100px;        /* distance from top of the hero/video */
  right: 60px;      /* distance from right edge */
  z-index: 20;      /* ensures it sits above the video */
}

.hero-awards img {
  width: 300px;
  height: 75px;
  object-fit: contain;  /* keeps your PNG crisp */
  display: block;
}

/*  Hide awards image on mobile devices */
@media (max-width: 767.98px) {
  .hero-awards {
    display: none;
  }
}


