@import url('https://fonts.googleapis.com/css2?family=Source+Sans+Pro&display=swap');
@import url('https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic');
@import url('https://fonts.googleapis.com/css?family=Fira+Mono:400,700');
@import url('https://fonts.googleapis.com/css?family=Source+Code+Pro');
@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700,700i&display=swap');
@import url('https://fonts.googleapis.com/css?family=Prata&display=swap');
@import url('https://fonts.googleapis.com/css?family=Bree+Serif&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans&display=swap');

body {
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  color: #1A1F4D;
}

#title-slide .title {
  color: red;
}

@media print {
  body {
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
  }
}
@page { margin: 0; }

.rounded-box {
  background-color: #f8f9fa; /* Light background color */
  border: 1px solid #dee2e6;  /* Subtle border */
  border-radius: 12px;      /* Adjust for desired roundness */
  padding: 20px;            /* Spacing inside the box */
  margin-bottom: 20px;      /* Spacing below the box */
}

/* Ragged border */
.bulletproof-torn-paper {
  /* Complex polygon creating tight, organic paper shreds */
  clip-path: polygon(
    0% 4%, 4% 1%, 11% 5%, 18% 0%, 26% 3%, 31% 1%, 40% 4%, 48% 0%,
    57% 5%, 63% 1%, 72% 4%, 79% 0%, 86% 3%, 93% 1%, 100% 5%,
    99% 14%, 96% 23%, 100% 34%, 97% 45%, 99% 56%, 96% 68%, 100% 79%, 97% 91%, 99% 100%,
    92% 97%, 84% 100%, 76% 96%, 69% 99%, 60% 96%, 52% 100%, 43% 97%, 35% 99%, 27% 96%, 19% 100%, 11% 96%, 0% 99%,
    2% 88%, 0% 77%, 4% 65%, 1% 53%, 3% 41%, 0% 29%, 3% 16%
  );

  /* Create a paper-like subtle drop shadow */
  filter: drop-shadow(4px 6px 8px rgba(0, 0, 0, 0.25));

  /* Prevents RevealJS from stretching or overriding the dimensions abruptly */
  object-fit: cover;
}

/* Alternate Color Table*/
.custom-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.6em !important;
}
/* Style the Header */
.custom-table th {
  background-color: #1f4e78 !important; /* Dark Blue */
  color: white !important;
  font-weight: bold;
  padding: 12px;
}
/* Style Alternating Rows */
.custom-table tr:nth-child(even) {
  background-color: #f2f2f2; /* Light Gray */
}
.custom-table tr:nth-child(odd) {
  background-color: #ffffff; /* White */
}
/* Style cell padding */
.custom-table td {
  padding: 10px;
}

/* Style of Pillars */
/* Layout Grid for Perfect Equality */
.alignment-grid {
  display: flex;
  justify-content: space-between;
  align-items: stretch; /* Forces equal height for all shapes */
  gap: 20px;
  margin-top: 40px;
  width: 100%;
}

/* Identical Sizing for All Pillars */
.pillar {
  flex: 1; /* Distributes space 1:1:1 exactly */
  display: flex;
  flex-direction: column;
  background: #1e1e24;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 16px rgba(0,0,0,0.4);
  border: 1px solid #333;
}

/* Top Accent Block */
.pillar-header {
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  font-size: 0.9em;
  letter-spacing: 1px;
  color: #fff;
}

/* Body Styling */
.pillar-body {
  padding: 30px 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex-grow: 1;
}

.pillar-body h3 {
  margin: 0 0 15px 0 !important;
  font-size: 1.4em !important;
  letter-spacing: 2px;
  font-weight: 800;
}

.pillar-body p {
  margin: 0;
  font-size: 0.85em;
  line-height: 1.4;
  opacity: 0.8;
  color: white;
}

/* Harmonious Color Accents (Equally Weighted) */
.target-pillar .pillar-header { background-color: #2a9d8f; }
.target-pillar h3 { color: #2a9d8f; }

.process-pillar .pillar-header { background-color: #e9c46a; color: #222; }
.process-pillar h3 { color: #e9c46a; }

.assessment-pillar .pillar-header { background-color: #e76f51; }
.assessment-pillar h3 { color: #e76f51; }
