/* Generated by tools/bootcamps/build.mjs. The rules the site header and footer need from css/rise-base.css, scoped so they cannot
   reach the bootcamp pages' content, which uses main's stylesheet. Hand-written rules are in tools/bootcamps/chrome-overrides.css. */
:where(.lt-site-footer, .lt-import) strong{ font-weight: bold; }
:where(.lt-site-footer, .lt-import) button{ color: inherit; font: inherit; margin: 0; }
:where(.lt-site-footer, .lt-import) button{ text-transform: none; }
:where(.lt-site-footer, .lt-import) button{ -webkit-appearance: button; }
:where(.lt-site-footer, .lt-import) img{ display: inline-block; max-width: 100%; vertical-align: middle; }
:where(.lt-site-footer, .lt-import) p{ margin-top: 0; }
:where(.lt-site-footer, .lt-import) button{ border: 0; cursor: pointer; }
:where(.lt-site-footer) .lt-inline-block{ max-width: 100%; }
:where(.lt-site-footer) .lt-container{ max-width: 940px; margin-left: auto; margin-right: auto; }
:where(.lt-site-footer) .lt-container::before, :where(.lt-site-footer) .lt-container::after{ content: " "; display: table; grid-area: 1 / 1 / 2 / 2; }
:where(.lt-site-footer) .lt-container::after{ clear: both; }
@media screen and (max-width: 991px){
:where(.lt-site-footer) .lt-container{ max-width: 728px; }
}
@media screen and (max-width: 479px){
:where(.lt-site-footer) .lt-container{ max-width: none; }
}
:where(.lt-site-footer) .lt-blockcontainer{ max-width: 940px; margin-left: auto; margin-right: auto; }
@media screen and (max-width: 991px){
:where(.lt-site-footer) .lt-blockcontainer{ max-width: 728px; }
}
@media screen and (max-width: 767px){
:where(.lt-site-footer) .lt-blockcontainer{ max-width: none; }
}
.lt-site-footer, .lt-import{
  --black: #050505;
  --white: whitesmoke;
  --transparent: transparent;
  --lt-font: Inter, sans-serif;
  --lt-grey: #aaa;
  --lt-highlight: var(--lt-grey);   /* words lit as you scroll (js/lunartech-home-motion.js reads it) */
  --lt-quiet: #999;                 /* words before they light up */
  --lt-red: #f9452d;
  --lt-line: #ffffff0d;             /* hairlines */
  --lt-veil: #ffffff05;             /* the faint fill behind the moving label */
  --lt-radius: 8px;
  /* Sizes that grow with the window on a desktop and step down on smaller screens (set again on body below, per screen). */
  --lt-h2: 4.44vw;
  --lt-h3: 3.33vw;
  --lt-space-1: 1.1vw;
  --lt-space-4: 4.4vw;
  --lt-space-10: 11.11vw;
}
:where(.lt-site-footer, .lt-import) h1{ font-family: var(--lt-font); }
:where(.lt-site-footer, .lt-import) h2{ margin-top: 0; margin-bottom: 0; font-size: var(--lt-h2); font-weight: 300; line-height: 1.1; letter-spacing: -.01em; text-transform: capitalize; }
:where(.lt-site-footer, .lt-import) h3{ margin-top: 0; margin-bottom: 0; font-family: var(--lt-font); font-size: var(--lt-h3); font-weight: 300; line-height: 1.1; letter-spacing: -.05em; text-transform: capitalize; }
:where(.lt-site-footer, .lt-import) p{ margin-bottom: 0; font-family: var(--lt-font); font-size: 1rem; font-weight: 300; line-height: 1.6; }
:where(.lt-site-footer, .lt-import) a{ color: var(--white); text-decoration: none; transition: color .3s; }
:where(.lt-site-footer, .lt-import) ul, :where(.lt-site-footer, .lt-import) ol{ display: flex; flex-direction: column; }
:where(.lt-site-footer, .lt-import) li{ font-size: 1rem; font-weight: 200; line-height: 1.6; }
:where(.lt-site-footer, .lt-import) img{ display: inline-block; object-fit: cover; }
:where(.lt-site-footer) .container{ width: 100%; max-width: 100%; margin-left: auto; margin-right: auto; overflow: hidden; }
:where(.lt-site-footer) .container.padding-4-5rem{ padding-left: 4.5rem; padding-right: 4.5rem; }
:where(.lt-site-footer) .footer-flex-bottom{ display: flex; justify-content: flex-start; align-items: flex-start; }
:where(.lt-site-footer) .footer-block{ display: flex; flex-direction: column; align-items: flex-start; gap: .6vw; }
:where(.lt-site-footer) .footer-flex{ display: flex; justify-content: flex-start; align-items: flex-start; gap: 1rem; }
:where(.lt-site-footer) .footer-footer-bottom{ display: flex; justify-content: space-between; align-items: flex-start; padding-top: 2.2vw; padding-bottom: 2.2vw; }
:where(.lt-site-footer) .footer-line{ display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 2.2vw; height: .07vw; background-color: var(--lt-line); text-align: center; }
:where(.lt-site-footer) .footer-top{ display: flex; justify-content: space-between; align-items: flex-start; }
:where(.lt-site-footer) .footer-section{ position: relative; z-index: 1001; }
@media screen and (max-width: 991px){
:where(.lt-site-footer) .container{ max-width: 100%; }
:where(.lt-site-footer) .container.padding-4-5rem{ padding-left: 10%; padding-right: 10%; }
:where(.lt-site-footer) .footer-block{ justify-content: flex-start; align-items: center; gap: .5rem; text-align: center; }
:where(.lt-site-footer) .footer-footer-bottom{ flex-direction: column; align-items: center; padding-top: 2rem; padding-bottom: 2rem; text-align: center; }
:where(.lt-site-footer) .footer-line{ gap: 2rem; height: .06rem; }
:where(.lt-site-footer) .footer-top{ max-width: 100%; }
}
@media screen and (max-width: 767px){
:where(.lt-site-footer) .container{ max-width: 100%; }
:where(.lt-site-footer) .footer-block{ justify-content: center; }
}
@media screen and (max-width: 479px){
:where(.lt-site-footer) .footer-flex{ flex-direction: column; align-items: center; row-gap: 0; }
}

/* ---------- The site's header and footer on main's stylesheet ---------- */

/* What they inherit from the body on the rest of the site. */
.lt-site-footer, .lt-import { font-family: Inter, sans-serif; font-size: 1rem; line-height: 1.7; font-weight: 200; color: #9a9a9a; }
.lt-site-footer { position: relative; background-color: #000; }
.lt-site-footer .container { min-width: 0; color: inherit; }

/* ---------- Our additions to main's layout ---------- */

/* The new bootcamps have no plans to list yet, so the pricing heading carries its own button. */
.lt-price-ask { display: flex; justify-content: center; margin-top: 2rem; }

/* Main's pictures, re-tinted so each new bootcamp has its own colour. Placeholders until they have their own art (see art.mjs). */
.lt-tint-autonomous-systems-drones .size-card-image img,
.lt-tint-autonomous-systems-drones .card-image-2 img,
.lt-tint-autonomous-systems-drones .intro-text a { filter: hue-rotate(110deg) saturate(1.1); }
.lt-tint-embedded-edge-ai .size-card-image img,
.lt-tint-embedded-edge-ai .card-image-2 img,
.lt-tint-embedded-edge-ai .intro-text a { filter: hue-rotate(50deg) saturate(1.15); }
