.elementor-615 .elementor-element.elementor-element-3e8b8796{--display:flex;--min-height:237px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-615 .elementor-element.elementor-element-3e8b8796:not(.elementor-motion-effects-element-type-background), .elementor-615 .elementor-element.elementor-element-3e8b8796 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://nfh.ae/wp-content/uploads/2025/09/services-we-provide-banner.png");background-position:top left;}.elementor-615 .elementor-element.elementor-element-6ea50a64{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 93px;text-align:left;}.elementor-615 .elementor-element.elementor-element-6ea50a64.elementor-element{--align-self:center;}.elementor-615 .elementor-element.elementor-element-6ea50a64 .elementor-heading-title{font-family:"NFHsohne", Sans-serif;font-size:40px;font-weight:400;color:#514294;}.elementor-615 .elementor-element.elementor-element-7ad59aaf{--display:flex;--min-height:37px;border-style:solid;--border-style:solid;border-width:0px 0px 0.1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:0.1px;--border-left-width:0px;border-color:#003D5212;--border-color:#003D5212;}.elementor-615 .elementor-element.elementor-element-7ad59aaf:not(.elementor-motion-effects-element-type-background), .elementor-615 .elementor-element.elementor-element-7ad59aaf > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-615 .elementor-element.elementor-element-7ad59aaf:hover{box-shadow:0px 1px 13px 0px rgba(0, 60.999999999999964, 82.00000000000003, 0.07);}.elementor-615 .elementor-element.elementor-element-7ad59aaf.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-615 .elementor-element.elementor-element-c2315f5{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 93px;font-family:"NFHsohne", Sans-serif;font-weight:400;color:#003D52;}.elementor-615 .elementor-element.elementor-element-c2315f5.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-615 .elementor-element.elementor-element-4014c9d{--display:flex;}.elementor-615 .elementor-element.elementor-element-3262c877{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:55px;--padding-bottom:55px;--padding-left:0px;--padding-right:0px;}.elementor-615 .elementor-element.elementor-element-6b437990{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 93px;}.elementor-615 .elementor-element.elementor-element-6b437990 .elementor-heading-title{font-family:"NFHsohne", Sans-serif;font-size:22px;}.elementor-615 .elementor-element.elementor-element-41a76f54{--divider-border-style:solid;--divider-color:#E8E8E8;--divider-border-width:1px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 95px;}.elementor-615 .elementor-element.elementor-element-41a76f54 .elementor-divider-separator{width:20%;margin:0 auto;margin-left:0;}.elementor-615 .elementor-element.elementor-element-41a76f54 .elementor-divider{text-align:left;padding-block-start:15px;padding-block-end:15px;}.elementor-615 .elementor-element.elementor-element-745b5d91{width:var( --container-widget-width, 43% );max-width:43%;--e-transform-translateY:-61px;margin:0px -119px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:43%;--container-widget-flex-grow:0;}.elementor-615 .elementor-element.elementor-element-745b5d91.elementor-element{--align-self:flex-end;}.elementor-615 .elementor-element.elementor-element-17da998d{width:var( --container-widget-width, 47.037% );max-width:47.037%;margin:-318px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 93px;--container-widget-width:47.037%;--container-widget-flex-grow:0;font-family:"NFHtiempos", Sans-serif;font-size:17px;color:#253C49;}.elementor-615 .elementor-element.elementor-element-17da998d.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-615 .elementor-element.elementor-element-60c0a4c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 93px;font-family:"NFHsohne", Sans-serif;font-size:22px;}.elementor-615 .elementor-element.elementor-element-69742604{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 93px;font-family:"NFHtiempos", Sans-serif;}.elementor-615 .elementor-element.elementor-element-551fa6e2{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 93px;font-family:"NFHsohne", Sans-serif;font-size:22px;}.elementor-615 .elementor-element.elementor-element-682557ce{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 93px;font-family:"NFHtiempos", Sans-serif;}.elementor-615 .elementor-element.elementor-element-1108dee8{--display:flex;--min-height:454px;--flex-direction:row-reverse;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap-reverse;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0px;--margin-bottom:0px;--margin-left:-18px;--margin-right:0px;}.elementor-615 .elementor-element.elementor-element-5f2865d8{--display:flex;--min-height:358px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-615 .elementor-element.elementor-element-5f2865d8:not(.elementor-motion-effects-element-type-background), .elementor-615 .elementor-element.elementor-element-5f2865d8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://nfh.ae/wp-content/uploads/2025/09/mztwr.jpg");background-position:top left;background-size:cover;}.elementor-615 .elementor-element.elementor-element-66867f23{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-615 .elementor-element.elementor-element-66867f23:not(.elementor-motion-effects-element-type-background), .elementor-615 .elementor-element.elementor-element-66867f23 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://nfh.ae/wp-content/uploads/2025/09/nha.webp");background-repeat:no-repeat;background-size:100% auto;}.elementor-615 .elementor-element.elementor-element-57e59e7c{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 45px;}.elementor-615 .elementor-element.elementor-element-57e59e7c .elementor-heading-title{font-family:"NFHsohne", Sans-serif;font-size:48px;color:#105F50;}.elementor-615 .elementor-element.elementor-element-12af81a0{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 45px;font-family:"NFHtiempos", Sans-serif;font-size:17px;color:#253C49;}.elementor-615 .elementor-element.elementor-element-4e629b56{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 45px;}.elementor-615 .elementor-element.elementor-element-28809366{--display:flex;}.elementor-615 .elementor-element.elementor-element-36599549{--spacer-size:50px;}.elementor-615 .elementor-element.elementor-element-2d097719{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) -68px;}.elementor-615 .elementor-element.elementor-element-2d097719 .elementor-heading-title{font-family:"NFHsohne", Sans-serif;}.elementor-615 .elementor-element.elementor-element-13087550{--display:flex;}.elementor-615 .elementor-element.elementor-element-3054b468{--divider-border-style:solid;--divider-color:#E8E8E8;--divider-border-width:3.1px;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) -68px;}.elementor-615 .elementor-element.elementor-element-3054b468 .elementor-divider-separator{width:20%;margin:0 auto;margin-left:0;}.elementor-615 .elementor-element.elementor-element-3054b468 .elementor-divider{text-align:left;padding-block-start:15px;padding-block-end:15px;}.elementor-615 .elementor-element.elementor-element-227fc529{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:-68px;--margin-right:0px;--padding-top:0px;--padding-bottom:103px;--padding-left:0px;--padding-right:-24px;}@media(min-width:768px){.elementor-615 .elementor-element.elementor-element-5f2865d8{--width:50%;}.elementor-615 .elementor-element.elementor-element-66867f23{--width:50%;}}@media(max-width:767px){.elementor-615 .elementor-element.elementor-element-6ea50a64{--e-transform-translateX:-61px;}.elementor-615 .elementor-element.elementor-element-6ea50a64 .elementor-heading-title{font-size:25px;}.elementor-615 .elementor-element.elementor-element-7ad59aaf.e-con{--e-con-transform-translateX:-98px;}.elementor-615 .elementor-element.elementor-element-7ad59aaf{--width:481.8px;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;}.elementor-615 .elementor-element.elementor-element-c2315f5{width:var( --container-widget-width, 337.8px );max-width:337.8px;--e-transform-translateX:2px;--container-widget-width:337.8px;--container-widget-flex-grow:0;}.elementor-615 .elementor-element.elementor-element-1108dee8.e-con{--e-con-transform-translateX:12px;}.elementor-615 .elementor-element.elementor-element-1108dee8{--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-615 .elementor-element.elementor-element-57e59e7c .elementor-heading-title{font-size:25px;}.elementor-615 .elementor-element.elementor-element-4e629b56{--e-transform-translateX:-12px;--e-transform-translateY:-24px;--e-transform-scale:0.9;}.elementor-615 .elementor-element.elementor-element-2d097719{--e-transform-translateX:73px;}.elementor-615 .elementor-element.elementor-element-2d097719 .elementor-heading-title{font-size:20px;}.elementor-615 .elementor-element.elementor-element-227fc529.e-con{--e-con-transform-translateX:69px;--e-con-transform-translateY:-37px;}}/* Start custom CSS for text-editor, class: .elementor-element-c2315f5 *//* Main container */
.elementor-615 .elementor-element.elementor-element-c2315f5 .nfh-breadcrumbs {
    font-family: 'nfhSohne', sans-serif;
    font-size: 14px;
    font-weight: 500;
    display: flex;
    align-items: center;
}

/* Styling for the links */
.elementor-615 .elementor-element.elementor-element-c2315f5 .nfh-breadcrumbs a {
    color: #253c49;
    text-decoration: none;
}
.elementor-615 .elementor-element.elementor-element-c2315f5 .nfh-breadcrumbs a:hover {
    text-decoration: underline;
}

/* The arrow separator - now only placed AFTER the links */
.elementor-615 .elementor-element.elementor-element-c2315f5 .nfh-breadcrumbs a::after {
    content: '\203A'; /* The sleeker arrow */
    font-size: 20px;
    color: #253c49;
    margin: 0 12px;
    display: inline-block; /* Prevents underline */
}

/* THE FIX: Styling for the current page name */
.elementor-615 .elementor-element.elementor-element-c2315f5 .current-page {
    color: #666666; /* Your specified color */
    ;/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e246a59 *//* ==========================================================================
   Standard Content Section Styling (For Corporate, etc.)
   ========================================================================== */

/* --- 1. Main Container --- */
/* Establishes the overall layout, padding, and base typography. */
.content-section {
  max-width: 800px; 
  margin: 0 auto; /* Centers the container */
  padding: 2rem 1.5rem;
  
  /* Set the default body font and color for the whole component */
  font-family: 'NFHtiempos', serif;
  color: #253c49;
}


/* --- 2. Typography & Elements --- */

/* The main, dark-blue headline */
.content-section__headline {
  font-family: 'NFHsohne', sans-serif;
  font-size: 22px;
  line-height: 1.4;
  color: #003d52;
  margin: 0;
}

/* The subtle horizontal line divider */
.content-section__divider {
  border: 0;
  height: 1px;
  background-color: #E0E0E0; /* A soft, neutral grey */
  margin: 2rem 0;
}

/* All subsequent subheadings */
.content-section__subheading {
  font-family: 'NFHsohne', sans-serif;
  font-size: 22px;
  line-height: 1.4;
  color: #253c49;
  margin: 2.5rem 0 1rem 0;
}

/* All paragraphs and list items */
.content-section p,
.content-section li {
  font-family: 'NFHtiempos', serif;
  font-size: 17px;
  line-height: 1.7; /* Generous line height for readability */
  margin: 0;
}

/* Adds space between paragraphs */
.content-section p + p {
  margin-top: 1em;
}

/* Styling for the lists */
.content-section__list {
  list-style-type: disc;
  list-style-position: outside;
  padding-left: 1.2em; /* Cleaner indentation */
  margin-top: 1em;
}

.content-section__list li {
  margin-bottom: 0.6em; /* Space between list items */
}


/* --- 3. Responsive Adjustments --- */
/* On tablets and desktops (screens wider than 768px), we increase font sizes 
   and padding for a better reading experience. */

@media (min-width: 768px) {
  .content-section {
    padding: 3rem 2rem;
  }

  .content-section__headline,
  .content-section__subheading {
    font-size: 26px;
    line-height: 1.3;
  }

  .content-section p,
  .content-section li {
    font-size: 18px;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-745b5d91 *//* Main Card Container */
.elementor-615 .elementor-element.elementor-element-745b5d91 .nfh-get-in-touch-card {
    background-color: #E2F2F7; /* Your specified background color */
    padding: 30px;
    font-family: 'nfhSohne', sans-serif;
    max-width: 350px; /* Controls the card width */
}

/* "Get in touch" Heading */
.elementor-615 .elementor-element.elementor-element-745b5d91 .card-title {
    color: #105577; /* Your specified heading color */
    font-size: 18px; /* Your specified font size */
    font-weight: 500;
    margin: 0;
    padding-bottom: 12px;
    border-bottom: 1px solid #288ccd; /* Your specified line color */
}

/* The descriptive paragraph */
.elementor-615 .elementor-element.elementor-element-745b5d91 .card-description {
    color: #253c49; /* Your specified text color */
    font-size: 16px;
    line-height: 1.6;
    margin: 20px 0;
    font-family: nfhtiempos;
}

/* The list of contact links */
.elementor-615 .elementor-element.elementor-element-745b5d91 .card-contact-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Each individual list item */
.elementor-615 .elementor-element.elementor-element-745b5d91 .card-contact-list li {
    border-top: 1px solid #FFFFFF; /* The pure white divider line */
}

/* The clickable link for phone/email */
.elementor-615 .elementor-element.elementor-element-745b5d91 .card-contact-list a {
    color: #253c49; /* Your specified text color */
    text-decoration: none;
    font-size: 16px;
    padding: 14px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* The SVG arrow icon */
.elementor-615 .elementor-element.elementor-element-745b5d91 .contact-arrow {
    transition: transform 0.2s ease-out;
}

/* Optional: Move arrow slightly on hover */
.elementor-615 .elementor-element.elementor-element-745b5d91 .card-contact-list a:hover .contact-arrow {
    transform: translateX(5px);
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-4e629b56 *//* ==========================================================================
   NFH Animated CTA Button - FINAL CORRECTED VERSION
   ========================================================================== */

/*
 * THE FIX:
 * We've replaced '.elementor-615 .elementor-element.elementor-element-4e629b56' with '.elementor-widget' before your class.
 * This makes the rule more powerful by telling the browser: "Find a button with this class,
 * but ONLY if it's inside an Elementor widget." This is more specific and will
 * override the default Elementor styles that are breaking your animation.
*/
.elementor-widget .nfh-animatedd-button {
    /* --- Core Setup --- */
    all: unset; /* Resets default browser styles for a clean slate */
    box-sizing: border-box;
    display: inline-block;
    cursor: pointer;
    
    /* --- Text & Font --- */
    font-family: 'nfhSohne', sans-serif;
    font-size: 16px;
    font-weight: 400;
    text-align: center;
    text-decoration: none;

    /* --- Spacing & Border --- */
    padding: 12px 24px;
    border: 1px solid #105F50; /* The green border */

    /* --- The Animation Engine --- */
    position: relative; /* Needed for the background gradient */
    color: #105F50; /* The initial text color is green */
    background-image: linear-gradient(to top, #105F50 50%, transparent 50%);
    background-size: 100% 200%;
    background-position: top; /* Starts with the transparent half visible */
    transition: background-position 0.4s ease, color 0.4s ease;
}

/* --- The Hover State --- */
.elementor-widget .nfh-animatedd-button:hover {
    color: #ffffff; /* Text becomes white on hover */
    background-position: bottom; /* Slides the background up, revealing the green half */
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-12aa96fe *//* ==========================================================================
   NFH Static Practice Area Grid
   ========================================================================== */

/* --- 1. The Main Grid Container --- */
.nfh-practice-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* Creates the 3-column layout */
    gap: 24px; /* The space between the cards */
    max-width: 1200px;
    margin: 40px auto; /* Centers the grid on the page */
}

/* --- 2. The Card Styling --- */
.practice-card {
    display: flex;
    flex-direction: column;
    background-color: #F8F8F8;
    transition: box-shadow 0.3s ease;
    border: 1px solid #e8e8e8;
}
.practice-card:hover {
    box-shadow: 0 10px 30px -10px rgba(0,0,0,0.15);
}
.practice-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}
.card-content {
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
.card-title {
    color: #003d52;
    font-size: 21px;
    font-family: 'nfhSohne', sans-serif;
    font-weight: 400;
    margin: 0 0 15px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid #e0e0e0;
}
.card-description {
    color: #253c49;
    font-size: 17px;
    font-family: 'nfhtiempos', serif;
    line-height: 1.6;
    margin: 0 0 25px 0;
    flex-grow: 1;
}

/* --- 3. The Card CTA (Find out more) --- */
.card-cta {
    color: #003d52;
    font-family: 'nfhSohne', sans-serif;
    font-size: 16px;
    text-decoration: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 20px;
    margin: 0 -25px -25px -25px;
    position: relative;
    overflow: hidden;
}
.card-cta span, .card-cta .card-arrow {
    position: relative;
    z-index: 2;
    transition: color 0.4s ease;
    color: #253c49;
}
.card-cta::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #253c49;
    z-index: 1;
    transform: translateY(100%);
    transition: transform 1.3s cubic-bezier(0.23, 1, 0.32, 1);
}
.practice-card:hover .card-cta::before {
    transform: translateY(0);
}
.practice-card:hover .card-cta span,
.practice-card:hover .card-cta .card-arrow {
    color: #ffffff;
}

/* --- 4. Responsive Rules --- */
@media (max-width: 992px) {
    .nfh-practice-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 768px) {
    .nfh-practice-grid {
        grid-template-columns: 1fr;
    }
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'NFHsohne';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://nfh.ae/wp-content/uploads/2025/09/nfhsohne.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'NFHtiempos';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://nfh.ae/wp-content/uploads/2025/09/nfhtiemposregular.woff2') format('woff2');
}
@font-face {
	font-family: 'NFHtiempos';
	font-style: normal;
	font-weight: 100;
	font-display: auto;
	src: url('https://nfh.ae/wp-content/uploads/2025/09/nfhtiemposfinelight.woff2') format('woff2');
}
@font-face {
	font-family: 'NFHtiempos';
	font-style: italic;
	font-weight: normal;
	font-display: auto;
	src: url('https://nfh.ae/wp-content/uploads/2025/09/nfhtiempositalic.woff2') format('woff2');
}
/* End Custom Fonts CSS */