@font-face {
  font-family: "Open Sans";
  src: url("/assets/fonts/OpenSans-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url("/assets/fonts/OpenSans-Italic.ttf") format("truetype");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url("/assets/fonts/OpenSans-Bold.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Open Sans";
  src: url("/assets/fonts/OpenSans-BoldItalic.ttf") format("truetype");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}

:root{
  /*
    CCArndt Ventures color palette
    Red:       #E10600
    Green:     #76cd26
    Duke Blue: #2708A0
    Grey:      #96A1A8
    Yellow:    #F3ED82
  */

  --cca-red: #E10600;
  --cca-green: #76cd26;
  --cca-blue: #2708A0;
  --cca-grey: #96A1A8;
  --cca-yellow: #F3ED82;

  --cca-white: #ffffff;
  --cca-cream: #fffdf2;
  --cca-light: #f8f9fa;
  --cca-ink: #1f2430;
  --cca-muted: #5f6871;
  --cca-border: rgba(31, 36, 48, 0.14);

  --cca-font: "Open Sans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  --cca-radius: 1rem;
  --cca-shadow: 0 1rem 2.5rem rgba(31, 36, 48, 0.12);
}

html{
  scroll-behavior: smooth;
}

body{
  background: var(--cca-cream);
  color: var(--cca-ink);
  font-family: var(--cca-font);
  line-height: 1.6;
}

a{
  color: var(--cca-blue);
}

a:hover,
a:focus{
  color: var(--cca-red);
}

/* Navbar */
.cca-navbar {
  background: linear-gradient(90deg, var(--cca-blue), #18065f);
  box-shadow: 0 .35rem 1rem rgba(31, 36, 48, 0.16);
}

.cca-navbar .navbar-brand{
  font-weight: 700;
  letter-spacing: .02em;
}

.cca-navbar .nav-link{
  color: rgba(255,255,255,0.9);
  border-radius: .5rem;
  transition: color .15s ease, background-color .15s ease, text-decoration-color .15s ease;
  text-underline-offset: .25rem;
}

.cca-navbar .nav-link:hover,
.cca-navbar .nav-link:focus{
  color: #fff;
  background-color: rgba(243, 237, 130, 0.18);
  text-decoration: underline;
  text-decoration-color: rgba(243, 237, 130, 0.95);
}

.cca-navbar .nav-link.active{
  color: #fff;
  background-color: rgba(243, 237, 130, 0.24);
}

/* Header / logo */
.cca-header{
  background:
    radial-gradient(circle at top left, rgba(118, 205, 38, 0.22), transparent 32rem),
    radial-gradient(circle at bottom right, rgba(243, 237, 130, 0.32), transparent 28rem),
    #ffffff;
  border-bottom: 1px solid var(--cca-border);
}

.cca-header__inner{
  padding: 2rem 0;
}

.cca-header__logo{
  max-width: min(100%, 520px);
  height: auto;
}

.cca-header__logo-link{
  display: inline-block;
}

/* Sections */
.cca-section{
  padding: 4rem 0;
}

.cca-section-muted{
  background: rgba(150, 161, 168, 0.12);
  border-top: 1px solid var(--cca-border);
  border-bottom: 1px solid var(--cca-border);
}

.cca-section-title{
  font-weight: 800;
  color: var(--cca-blue);
  margin-bottom: 1rem;
}

.cca-section-intro{
  color: var(--cca-muted);
  font-size: 1.1rem;
  max-width: 52rem;
  margin-left: auto;
  margin-right: auto;
}

.cca-eyebrow{
  color: var(--cca-red);
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .82rem;
}

/* Buttons */
.btn-cca-primary{
  --bs-btn-color: #fff;
  --bs-btn-bg: var(--cca-blue);
  --bs-btn-border-color: var(--cca-blue);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: #1f0682;
  --bs-btn-hover-border-color: #1f0682;
  --bs-btn-focus-shadow-rgb: 39, 8, 160;
  --bs-btn-active-color: #fff;
  --bs-btn-active-bg: #1a056c;
  --bs-btn-active-border-color: #1a056c;
}

.btn-cca-outline{
  --bs-btn-color: var(--cca-blue);
  --bs-btn-border-color: var(--cca-blue);
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-bg: var(--cca-blue);
  --bs-btn-hover-border-color: var(--cca-blue);
  --bs-btn-focus-shadow-rgb: 39, 8, 160;
  background: rgba(255,255,255,0.7);
}

/* Facebook Icon */
.cca-social-link{
  color: rgba(255, 255, 255, 0.82);
  cursor: pointer;
  border-radius: .5rem;
  transition: color .15s ease, background-color .15s ease, transform .15s ease;
  padding: .35rem .45rem;
}

.cca-social-link:hover,
.cca-social-link:focus{
  color: #fff;
  background-color: rgba(243, 237, 130, 0.18);
  transform: translateY(-1px);
}

.cca-social-icon{
  fill: currentColor;
}

/* Shared */
.cca-card-icon{
  width: 3rem;
  height: 3rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: #fff;
  font-weight: 900;
  margin-bottom: 1rem;
}

.cca-card-icon-blue{
  background: var(--cca-blue);
}

.cca-card-icon-green{
  background: var(--cca-green);
  color: var(--cca-ink);
}

.cca-card-icon-red{
  background: var(--cca-red);
}

.cca-feature-box{
  background: #fff;
  border: 1px solid var(--cca-border);
  border-left: .35rem solid var(--cca-yellow);
  border-radius: var(--cca-radius);
  padding: 1.25rem;
}

.cca-feature-box h3{
  color: var(--cca-blue);
  font-weight: 800;
}

.cca-feature-box p{
  color: var(--cca-muted);
  margin-bottom: 0;
}

.cca-cta{
  padding: 4rem 0 1rem;
}

.cca-cta-box{
  background:
    linear-gradient(135deg, rgba(39, 8, 160, 0.95), rgba(39, 8, 160, 0.86)),
    radial-gradient(circle at top left, rgba(243, 237, 130, 0.35), transparent 22rem);
  color: #fff;
  border-radius: calc(var(--cca-radius) * 1.25);
  padding: 3rem 1.5rem;
  box-shadow: var(--cca-shadow);
}

.cca-cta-box p{
  color: rgba(255, 255, 255, 0.88);
  max-width: 46rem;
  margin-left: auto;
  margin-right: auto;
}

.cca-cta-box .btn-cca-primary{
  --bs-btn-color: var(--cca-ink);
  --bs-btn-bg: var(--cca-yellow);
  --bs-btn-border-color: var(--cca-yellow);
  --bs-btn-hover-color: var(--cca-ink);
  --bs-btn-hover-bg: #eee46c;
  --bs-btn-hover-border-color: #eee46c;
}

/* General content card */
.cca-content-card{
  background: #fff;
  border: 1px solid var(--cca-border);
  border-radius: var(--cca-radius);
  padding: 1.75rem;
  box-shadow: 0 .75rem 1.75rem rgba(31, 36, 48, 0.08);
}

.cca-content-card p{
  color: var(--cca-muted);
}

/* Person cards */
.cca-person-card{
  background: #fff;
  border: 1px solid var(--cca-border);
  border-radius: var(--cca-radius);
  padding: 1.75rem;
  box-shadow: 0 .75rem 1.75rem rgba(31, 36, 48, 0.08);
}

.cca-person-card h3{
  color: var(--cca-blue);
  font-weight: 800;
  margin-bottom: .25rem;
}

.cca-person-card p{
  color: var(--cca-muted);
}

.cca-person-card__subtitle{
  color: var(--cca-red);
  font-weight: 800;
  margin-bottom: 1rem;
}

/* Consultant / cat card on about.php page */
.cca-consultant-card{
  background: #fff;
  border: 1px solid var(--cca-border);
  border-top: .4rem solid var(--cca-red);
  border-radius: var(--cca-radius);
  overflow: hidden;
  box-shadow: 0 .75rem 1.75rem rgba(31, 36, 48, 0.08);
}

.cca-consultant-card__image{
  display: block;
  width: 100%;
  max-height: 28rem;
  object-fit: cover;
}

.cca-consultant-card__body{
  padding: 1.5rem;
}

.cca-consultant-card__body h3{
  color: var(--cca-blue);
  font-weight: 800;
  margin-bottom: .5rem;
}

.cca-consultant-card__body p{
  color: var(--cca-muted);
}

/* Footer */
.cca-footer{
  background: var(--cca-blue);
  color: rgba(255, 255, 255, 0.92);
}

/* Global mobile tweaks */
@media (max-width: 576px){
  .cca-section{
    padding: 2.75rem 0;
  }

  .display-3{
    font-size: calc(1.6rem + 1.5vw);
  }

  .display-4{
    font-size: calc(1.5rem + 1.2vw);
  }

  .display-5{
    font-size: calc(1.55rem + 1.1vw);
  }

  .cca-navbar .nav-link{
    padding: .65rem .75rem;
  }

  .cca-header__inner{
    padding: 1.4rem 0;
  }
}

