:root {
  --dark-blue: #222344;
  --dark-blue-faded: #22234488;
  --dark-tan: #cdad7d;
  --med-tan: #e8d1ae;
  --med-tan: #eeead6;
  --light-tan: #f4f1ec;
  --action-red: #940606;
  --bg-start: #fdf8e8; --bg-mid: #f7edca; --bg-end: #ede4c4;
  --card: #fff; --accent: #e8c840; --accent-pale: #fdf6d8; --accent-hover: #d4b530;
  --dark: #2c2c2c; --dark-text: #f5f2ea;
  --text: #1a1a1a; --text-sec: #6b6558; --text-muted: #9e9788;
  --border: #e8e3d4;
  --error: #c44737; --error-bg: #fef0ee; --error-border: #f0b8b0;
  --success: #3a8a3e; --success-bg: #edf7ee; --success-border: #b8ddb9;
  --font: 'DM Sans', -apple-system, sans-serif;
  --font-d: 'DM Serif Display', Georgia, serif;
}

html, body {
    color: var(--dark-blue);
    font-size: 20px;
    font-weight: 300;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Libre Baskerville";
}

strong {
  font-weight: 600;
}

h2 {
  font-size: 2.25rem;
}

h5 {
  font-size: 1.15rem;
}

p, div, li, a {
    font-family: Poppins;
}

.ibb-section-blue {
  background-color: var(--dark-blue);
}

.ibb-section-blue h2,
.ibb-section-blue h4 {
  color: var(--dark-tan);
}


.ibb-section-hero h1 {
    color: var(--dark-tan);
    line-height: 89px;
    letter-spacing: -0.04em;
    text-transform: none;
    list-style-type: none;
    font-weight: 700;
    font-size: 3.5rem;
}

.ibb-section-hero p {
    font-weight: 500;
    font-style: normal;
    color: var(--med-tan);
}

.ibb-button {
  background-color: var(--dark-blue);
  color: white;
  padding: 10px 35px;
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  font-size: 1.0rem;
  letter-spacing: 1px;
}

.ibb-button:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  color: white;
  filter: brightness(0.9);
  transition: filter 0.2s ease;
}
  
.ibb-button:after {
  content: " >";
  /* Optional: adds a little space and styling */
}

.ibb-button-action {
  background-color: var(--action-red);
  color: white;
}

.ibb-button-action:hover {
  color: white;
}

.ibb-button-more {
    background-color: var(--dark-tan);
    color: var(--dark-blue);
}

.ibb-button-more:hover {
  color: var(--dark-blue);
}

.ibb-button.uk-button-small {
  font-size: 0.75rem;
  line-height: 20px;
}

.uk-navbar-nav li a {
    color: var(--dark-blue);
    font-family: Poppins;
    text-transform: initial;
/*    font-size: 1.1rem; */
}

.ibb-section-wheat {
    background-color: rgb(232, 209, 174);
}

.uk-navbar-nav li a {
  min-height: 55px;
}

.uk-navbar-nav li a.uk-active {
    font-weight: bold;
}
.uk-dotnav > * > * {
    width: 20px;
    height: 20px;
    border-radius: 0;
    background-color: #e3e3e3;
}
    
.uk-dotnav > .uk-active > * {
    background-color: #007a9f;
}

.uk-navbar-nav li a.ibb-action {
  background-color: var(--action-red);
  color: white;
  padding: 0 15px;
}

.uk-subnav-pill > * > :first-child {
  border: 1px solid var(--dark-blue);
  color: var(--dark-blue);
}

.uk-subnav-pill > .uk-active > a {
  background-color: var(--dark-blue);
}

.uk-subnav-pill > * > a:hover {
  background-color: #eee;
  color: var(--dark-blue);
}

.square-crop {
  /* Set a fixed size or use aspect-ratio for responsiveness */
  max-width: 300px;
  max-height: 300px;
  
  /* Modern browsers support the aspect-ratio property */
  /* aspect-ratio: 1 / 1; */

  /* The magic property: covers the area without stretching */
  object-fit: cover;
  
  /* Ensures the center of the image is the focal point */
/* object-position: center; */

  /* Rounded edges */
  border-radius: 50%;
  
  /* Optional: smoothing for certain browsers */
  overflow: hidden;
}



@media (max-width: 639px) {
  html, body {
    font-size: 16px;
  }

  h2 {
    font-size: 2rem;
  }

  .ibb-section-hero h1 {
    font-size: 2.25rem;
    line-height: 2.6rem;
    letter-spacing: -0.02em;
  }

  .ibb-section-hero p {
    line-height: 1.5;
  }

  a.ibb-button {
    padding: 8px 25px;
    font-size: 0.9rem;
  }  
  
  .uk-navbar-nav li a {
  }
}

.uk-list li a.uk-link {
  color: var(--dark-blue);
  font-weight: 500;
  border-bottom: 2px dotted #ccc;
}

.uk-list li a.uk-link:hover {
  text-decoration: none;
  border-color: var(--dark-blue);
  border-bottom-style: solid;
  transition: 0.5s ease;
}

.hp {
  position: absolute;
  left: -9999px;
  opacity: 0;
  height: 0;
  width: 0;
}

/* Messages */
.msg { border-radius: 8px; padding: 0.9rem 1.1rem; margin-bottom: 1.25rem; font-size: 0.88rem; }
.msg-error { background: var(--error-bg); border: 1px solid var(--error-border); color: var(--error); }
.msg-error ul { margin: 0.4rem 0 0 1.1rem; padding: 0; }
.msg-error li { margin-bottom: 0.2rem; }
.msg-success { background: var(--success-bg); border: 1px solid var(--success-border); color: var(--success); }
