/* Custom Styles */

/* ========================================================================= */
        /* --- GLOBAL STYLES (Colors, Typography, Reusable Utilities) --- */
        /* ========================================================================= */
:root {
    /* Primary Brand Colors */
    --bs-primary: #275070;
    --penkz-blue-dark: #275070;
    --penkz-blue-light: #528EBC;
    --penkz-off-white: #F6F8F9;
    --penkz-text-muted: #6c757d;
    --penkz-green: #38a169; 
    
    
    --color-primary: #275070;
    --color-primary-light: #EEF7FF;
    --color-primary-dark: #042B43;
    --color-off-white: #F6F8F9;
    --color-white: #fff;
    --color-dark: #1F1F1F;
    --color-secondary: var(--color-primary);
}

body {
    line-height: 1.7 !important;
}

.bg-primary {
  background: var(--color-primary);
  color: white;
}

.bg-primary-light {
  background: var(--color-primary-light);
  color: black;
}

.bg-primary-dark {
  background: var(--color-primary-dark);
  color: white;
}

.bg-secondary {
  background: var(--color-secondary);
  color: white;
}

.bg-off-white {
  background: var(--color-off-white) !important;
  color: black;
}

.bg-white {
  background: var(--color-white);
  color: black;
}

.bg-image {
  color: white;
}

@media (max-width: 575px) {
  body:not([class*=elementor-page-]) .site-main {
        padding-inline-end: 0;
        padding-inline-start: 0;
    }
}

        body {
            font-family: 'Nunito Sans', sans-serif;
            color: #0d0d0e;
            line-height: 1.6;
        }

        p {
            font-size: 1.1rem;
            margin-bottom: 0.5rem;
            line-height: 1.5;
        }

        h1, h2, h3, h4, h5, h6 {
            font-family: 'Readex Pro', sans-serif;
            font-weight: 700;
        }
        

        h2, .h2{
            font-weight: bold;
        }

        /* Reusable Color Classes */
        .bg-primary-dark {
            background-color: var(--penkz-blue-dark) !important;
        }
        .text-primary-color {
            color: var(--penkz-blue-dark) !important;
        }
        .bg-light-gray {
            background-color: var(--penkz-off-white) !important; 
        }
        .text-light-blue-muted { 
            color: #cccccc !important; 
        }

        /* Custom Button Style */
        .btn-primary-custom {
            background-color: var(--penkz-blue-dark);
            border-color: var(--penkz-blue-dark);
            color: #fff;
            padding: 0.75rem 1.75rem;
            font-weight: 600;
            border-radius: 6px;
            transition: all 0.3s ease;
        }
        .btn-primary-custom:hover {
            background-color: #1a334d;
            border-color: #1a334d;
            color: #fff;
        }
        .btn-outline-light-custom {
            border: 2px solid #fff;
            color: #fff;
            padding: 0.75rem 1.75rem;
            font-weight: 600;
            border-radius: 6px;
            transition: all 0.3s ease;
        }
        .btn-outline-light-custom:hover {
            background-color: #fff;
            color: var(--penkz-blue-dark);
        }
        .btn-light-custom {
            background-color: #fff;
            border-color: #fff;
            color: var(--penkz-blue-dark);
            padding: 0.75rem 1.75rem;
            font-weight: 600;
            border-radius: 6px;
            transition: all 0.3s ease;
        }
        .btn-light-custom:hover {
            opacity: 0.8;
            color: var(--penkz-blue-dark);
        }

        /* Generic Heading Styles */
        .section-heading-meta {
            font-size: 0.9rem;
            font-weight: 700;
            letter-spacing: 0.1em;
            text-transform: uppercase;
            color: var(--penkz-blue-dark);
        }
        .section-heading-main {
            font-size: 2.5rem;
            margin-top: 0.25rem;
            margin-bottom: 2rem;
        }
        @media (min-width: 992px) {
            .section-heading-main {
                font-size: 3rem;
            }
        }
        


.site-main {
  max-width: 100% !important;
}

ul#menu-footer-menu-2, ul#menu-footer-menu-1{
    padding-left: 0;
}
#menu-footer-menu-2.menu li.menu-item, #menu-footer-menu-1.menu li.menu-item {
    list-style: none;
}

.social-icons img {
    height: 32px;
}

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1440px !important;
    }
}




        /* ========================================================================= */
        /* --- FOOTER STYLES --- */
        /* ========================================================================= */
        .footer-block {
            background-color: #1a334d; /* Slightly darker shade of the primary dark */
            padding-top: 4rem;
            padding-bottom: 2rem;
            color: white;
        }
        .footer-logo-text {
            font-weight: 700;
            font-size: 1.5rem;
        }
        .footer-block h5 {
            font-weight: 700;
            font-size: 1.15rem;
            margin-bottom: 1.5rem;
            color: #fff;
        }
        .footer-block .info-text {
            font-size: 1rem;
            opacity: 1;
            margin-bottom: 1rem;
        }

        .footer-block a {
            color: white;
            text-decoration: none;
        }
        
        .footer-block a:hover {
            text-decoration: underline;
        }

        .footer-block p {
            font-size: 1rem;
            margin-bottom: 0.5rem;
            opacity: 1;
        }

        .footer-block .quick-link-list a,
        .footer-block .service-list a {
            display: block;
            color: #fff;
            text-decoration: none;
            font-size: 1rem;
            margin-bottom: 0.5rem;
            opacity: 1;
            transition: opacity 0.3s ease;
        }
        .footer-block .quick-link-list a:hover,
        .footer-block .service-list a:hover {
            opacity: 1;
        }
        .footer-block .social-icons a {
            color: #fff;
            font-size: 1.25rem;
            margin-right: 0.75rem;
            opacity: 0.8;
            transition: opacity 0.3s ease;
        }
        .footer-block .social-icons a:hover {
            opacity: 1;
        }
        .footer-block .footer-bottom {
            border-top: 1px solid rgba(255, 255, 255, 0.1);
            padding-top: 1.5rem;
            margin-top: 2rem;
            font-size: 1rem;
            opacity: 1;
        }
        .footer-block .subscribe-input {
            background-color: rgba(255, 255, 255, 0.1);
            border: 1px solid rgba(255, 255, 255, 0.2);
            color: #fff;
            padding: 0.75rem 1rem;
            border-radius: 4px;
            width: 100%;
        }
        .footer-block .subscribe-input::placeholder {
            color: rgba(255, 255, 255, 0.7);
        }
        .footer-block .subscribe-button {
            width: 100%;
            margin-top: 0.75rem;
            padding: 0.75rem;
        }


.comments-area a, .page-content a {
    text-decoration: unset;
}




/* Search button */
.fullscreen-search {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(39, 80, 112);
  z-index: 1050;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s ease;
}

.fullscreen-search.show {
  display: flex !important;
  opacity: 1;
}

.fullscreen-search.d-none {
  opacity: 0;
  pointer-events: none;
}

.fullscreen-search input::placeholder {
  color: rgba(255, 255, 255, 0.7);
}

.search-overlay-content {
  position: relative;
  width: 100%;
  max-width: 600px;
}



/* Make close button larger and easier to tap */
#close-search {
      width: 3rem;
    height: 3rem;
    font-size: 2rem;
    opacity: 1;
    transition: transform 0.2s ease, opacity 0.2s ease;
    position: fixed !important;
    top: 50px !important;
    right: 0 !important;
    z-index: 10;
}

#close-search:hover,
#close-search:focus {
  opacity: 1;
  transform: scale(1.1);
  outline: none;
    background-color: unset;
}

/* Remove blue glow / focus ring from input */
.fullscreen-search input:focus {
  outline: none !important;
  box-shadow: none !important;
  border-color: #fff !important;
}

/* Input field adjustments */
.fullscreen-search input {
  border-bottom: 3px solid rgba(255, 255, 255, 0.7);
  color: #fff;
}

.fullscreen-search input::placeholder {
  color: rgba(255, 255, 255, 0.6);
}

/* Submit button styling */
.fullscreen-search button[type="submit"] {
  border-width: 2px;
  background-color: #fff;
  color: #131313;
  font-size: 1.2rem;
  transition: background-color 0.3s, color 0.3s;
}

.fullscreen-search button[type="submit"]:hover,
.fullscreen-search button[type="submit"]:focus {
  background-color: #fff;
  color: #275070;
}

/* Accessibility: keyboard users still see outline for navigation */
#close-search:focus-visible,
.fullscreen-search button[type="submit"]:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 4px;
}


/* Responsive Image scaling with device width*/
.navbar-brand img {
  max-width: clamp(150px, 46.875vw, 300px);
}

@media (min-width: 992px) {
  .navbar-brand img {
    max-width: none;
  }
}



/* Nav menu items */
ul#menu-primary {
  color: white;
  list-style-type: none;
  margin-bottom: 0;
}

/* Apply flex only from lg and above */
@media (min-width: 992px) {
  ul#menu-primary {
    display: flex;
    gap: 20px;
  }
}

ul#menu-primary a {
  color: white;
  text-decoration: none;
  font-weight: 500;
  text-transform: uppercase;
  font-size: clamp(0.75rem, 0.9rem + 0.5vw, 1rem);
}

@media (max-width: 992px) {
  ul#menu-primary {
      text-align: center;
      margin-top: 70px;
      display: flex;
      flex-direction: column;
      row-gap: 1.5rem;
      padding-left: 0;
  }
}

.navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30' width='30' height='30' fill='none'%3E%3Cpath d='M4 7h22M4 15h22M4 23h22' stroke='%23ffffff' stroke-linecap='round' stroke-miterlimit='10' stroke-width='4'/%3E%3C/svg%3E") !important;

    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
}

[type=button]:focus, [type=button]:hover, [type=submit]:focus, [type=submit]:hover, button:focus, button:hover {
    background-color: unset;
    text-decoration: none;
}


.search-container .cpt-big-img img {
    height: 350px;
    object-fit: cover;
    object-position: top;
}

footer a.navbar-brand {
    z-index: 1;
}

@media (min-width: 1200px) {
    .page-header .entry-title{
        max-width: 1420px;
    }
}

.active>.page-link, .page-link.active {
    z-index: 3;
    color: white !important;
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}

.btn:focus-visible, .btn:active {
    color: white;
    background-color: var(--bs-primary) !important;
    border-color: var(--bs-primary) !important;
}