html {
  font-size: 100%; 
}


@media (max-width: 768px) {
  html {
    font-size: 87.5%; 
  }
}

:root {
    --primary: #9F1438; 
    --primary-dark: #8a1130; 
    --primary-light: #f3e0e5; 
    --primary-lighter: #faf5f6; 

    --dark-gray: #465662; 
    --darker-gray: #35404A; 
    --medium-gray: #879BA9; 
    --light-gray: #AFBCC6; 
    --lighter-gray: #D7DEE2; 

    --dark: #2d2d2d;
    --border: #e0e0e0;
    --box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    --transition: all 0.25s ease;

    --heading-line-height: 1.3;
    --body-line-height: 1.6;
    --heading-font: 'Abel', sans-serif;
    --body-font: 'Arial Narrow', Arial, Helvetica, sans-serif;

    --spacing-sm: 0.5rem;
    --spacing-md: 1rem;
    --spacing-lg: 2rem;
    --spacing-xl: 3.75rem; 
}

@font-face {
  font-family: 'Abel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;

  /* IE9 Compat Modes */
  src: url('../assets/fonts/abel-v18-latin-regular.eot');

  /* IE6–IE8 */
  src: url('../assets/fonts/abel-v18-latin-regular.eot?#iefix') format('embedded-opentype'),
       /* Modern Browsers */
       url('../assets/fonts/abel-v18-latin-regular.woff2') format('woff2'),
       url('../assets/fonts/abel-v18-latin-regular.woff')  format('woff'),
       url('../assets/fonts/abel-v18-latin-regular.ttf')   format('truetype'),
       /* Legacy iOS */
       url('../assets/fonts/abel-v18-latin-regular.svg#Abel') format('svg');
}


@font-face {
  font-family: 'Arial Narrow';
  src: local('Arial Narrow'), local('ArialNarrow');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: 'Arial Narrow';
  src: local('Arial Narrow Bold'), local('ArialNarrow-Bold');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

.site-main h1, 
.site-main h2, 
.site-main h3, 
.site-main h4, 
.site-main h5, 
.site-main h6,
.elementor-heading-title,
.elementor h1, 
.elementor h2, 
.elementor h3, 
.elementor h4, 
.elementor h5, 
.elementor h6 {
  font-family: var(--heading-font);
  font-weight: 400;
  line-height: var(--heading-line-height);
  margin-bottom: var(--spacing-sm);
}

.site-main h1, .elementor h1, .site-main .h1 {
  font-size: 1.7rem; 
}

.site-main h2, .elementor h2, .site-main .h2 {
  font-size: 1.6rem; 
}

.site-main h3, .elementor h3, .site-main .h3 {
  font-size: 1.5rem; 
}

.site-main h4, .elementor h4, .site-main .h4 {
  font-size: 1.3rem; 
}

.site-main h5, .elementor h5, .site-main .h5 {
  font-size: 1.2rem; 
}

.site-main h6, .elementor h6, .site-main .h6 {
  font-size: 1.1rem; 
}

.site-main p,
.site-main li,
.site-main a,
.site-main div,
.elementor p,
.elementor li,
.elementor a,
.elementor-widget-text-editor {
  font-family: var(--body-font);
  font-size: 1.25rem; 
  line-height: var(--body-line-height);
}

.content-section {
  margin-top: var(--spacing-xl); 
}

html, body {
  height: 100%;
  margin: 0;
  padding: 0;
}

body {
  margin: 0;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  color: var(--dark);
}

a {
  text-decoration: none;
  color: var(--primary);
  transition: var(--transition);
}

a:hover, a:focus {
  color: var(--primary-dark);
}


#content, .site-content, main {
  flex: 1 0 auto;
  padding-top: 8.75rem; 
}

body.logged-in .admin-bar {
  top: 2rem;
}

body:not(.logged-in) .admin-bar {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  position: absolute !important;
}

body:not(.logged-in) {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body:not(.logged-in) .navbar.fixed-top {
  top: 0 !important;
}

.close-icon {
  float: right !important;
}

@media screen and (max-width: 782px) {
  body.logged-in .admin-bar .navbar.fixed-top {
    top: 2.875rem; 
  }
	
	#content, .site-content, main {
  padding-top: 1rem; 
}
}

button.navbar-toggler,
.mobile-menu-toggle,
button[aria-label="Toggle navigation menu"],
[class*="mobile-menu-toggle"],
.navbar-light .navbar-toggler {
  color: #333333 !important;
  background-color: transparent !important;
  border-color: #666666 !important;
  outline: none !important;
  padding: 0.5rem;
  transition: var(--transition);
}

.fa.fa-bars,
button.navbar-toggler i,
button.navbar-toggler svg,
.mobile-menu-toggle i,
.mobile-menu-toggle svg {
  color: #333333 !important;
}

button.navbar-toggler:hover,
button.navbar-toggler:focus,
button.navbar-toggler:active,
.mobile-menu-toggle:hover,
.mobile-menu-toggle:focus,
.mobile-menu-toggle:active {
  color: #333333 !important;
  background-color: transparent !important;
  border-color: #666666 !important;
}

[type=button]:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  outline: none !important;
  color: #333333 !important;
  background-color: transparent !important;
}

@media (max-width: 991.98px) {
  .navbar-collapse,
  #navbarSupportedContent,
  .mobile-menu,
  .mobile-navigation {
    background-color: transparent !important;
  }

  .navbar-nav .nav-item .nav-link,
  .mobile-menu a,
  #mobile-menu a {
    color: #333333 !important;
    padding: 0.75rem 1rem;
  }

  .navbar-nav .nav-item .nav-link:hover,
  .navbar-nav .nav-item .nav-link:focus,
  .mobile-menu a:hover,
  .mobile-menu a:focus {
    color: #333333 !important;
    background-color: transparent !important;
  }
}

@media (max-width: 767px) {
  .site-main h1, .elementor h1, .site-main .h1 {
    font-size: 1.7rem; 
  }

  .site-main h2, .elementor h2, .site-main .h2 {
    font-size: 1.6rem; 
  }

  .site-main h3, .elementor h3, .site-main .h3 {
    font-size: 1.4rem; 
  }

  .site-main h4, .elementor h4, .site-main .h4 {
    font-size: 1.2rem; 
  }

  .content-section {
    margin-top: 2.5rem; 
  }
}