/*
	Theme Name: iwf2026
	Template: hello-elementor
	Theme URI: https://leap.net/?utm_source=wp-themes&utm_campaign=theme-uri&utm_medium=wp-dash
	Description: IWF2026 is a child theme, based on the Hello Elementor theme that was built specifically to work seamlessly with the Elementor site builder plugin. The Hello Elementor theme is free, open-source, and designed for users who want a flexible, easy-to-use, and customizable website. The theme, which is optimized for performance, provides a solid foundation for users to build their own unique designs using the Elementor drag-and-drop site builder. Its simplicity and flexibility make it a great choice for both beginners and experienced Web Creators.
	Author: Developed by Leap, based on work done by the Elementor Team
	Author URI: https://leap.net/?utm_source=wp-themes&utm_campaign=author-uri&utm_medium=wp-dash
	Version: 1.0.0
	Stable tag: 1.0.0
	Requires at least: 6.0
	Tested up to: 6.8
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: iwf2026
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready,
*/

/* FONTS */
/* ------------------------------------- RESTORE IF NOT LOADING THROUGH THEME!!!
@font-face {
    font-family: 'Gilroy';
    font-weight: 300;
    font-style: normal;
    src: url('assets/fonts/gilroy/gilroy-light/font.woff2') format('woff2'), url('assets/fonts/gilroy/gilroy-light/font.woff') format('woff');
}
@font-face {
    font-family: 'Gilroy';
    font-weight: 400;
    font-style: normal;
    src: url('assets/fonts/gilroy/gilroy-regular/font.woff2') format('woff2'), url('assets/fonts/gilroy/gilroy-regular/font.woff') format('woff');
}
@font-face {
    font-family: 'Gilroy';
    font-weight: 500;
    font-style: normal;
    src: url('assets/fonts/gilroy/gilroy-medium/font.woff2') format('woff2'), url('assets/fonts/gilroy/gilroy-medium/font.woff') format('woff');
}
@font-face {
    font-family: 'Gilroy';
    font-weight: 600;
    font-style: normal;
    src: url('assets/fonts/gilroy/gilroy-semibold/font.woff2') format('woff2'), url('assets/fonts/gilroy/gilroy-semibold/font.woff') format('woff');
}
@font-face {
    font-family: 'Gilroy';
    font-weight: 700;
    font-style: normal;
    src: url('assets/fonts/gilroy/gilroy-bold/font.woff2') format('woff2'), url('assets/fonts/gilroy/gilroy-bold/font.woff') format('woff');
}
*/
/* CUSTOM FONT ICONS */
/* -------------------------------------  RESTORE IF NOT LOADING THROUGH THEME!!!
@font-face {
  font-family: 'www-icons';
  src:  url('assets/fonts/www-icons/www-icons.eot?2mqin8');
  src:  url('assets/fonts/www-icons/www-icons.eot?2mqin8#iefix') format('embedded-opentype'),
    	url('assets/fonts/www-icons/www-icons.ttf?2mqin8') format('truetype'),
    	url('assets/fonts/www-icons/www-icons.woff?2mqin8') format('woff'),
    	url('assets/fonts/www-icons/www-icons.svg?2mqin8#www-icons') format('svg');
  font-weight: normal;
  font-style: normal;
}
*/
/* SOCIAL ICONS */
/* -------------------------------------  RESTORE IF NOT LOADING THROUGH THEME!!!
@font-face {
    font-family: 'social-icons';
    src:url('assets/fonts/social/social.eot?5oq4lx');
    src:url('assets/fonts/social/social.eot?5oq4lx#iefix') format('embedded-opentype'),
        url('assets/fonts/social/social.ttf?5oq4lx') format('truetype'),
        url('assets/fonts/social/social.woff?5oq4lx') format('woff'),
        url('assets/fonts/social/social.svg?5oq4lx#social') format('svg');
    font-weight: normal;
    font-style: normal;
}
*/


:root {
    --color-primary: #ECBC09;
    --color-secondary: #c15230;
    --color-text: #332F21;
    --color-text75: #615e52;
    --color-light: #f8f9fa;
	--color-tan: #EDECE3;
    --color-tan-dark: #AEA8A5;
    --color-tan-alt: #BEB6AB;
	--color-black: #231F20;
	--white: #FFF;
    --black: #000;

	--font-fallback: 'Montserrat', Corbel, 'URW Gothic', source-sans-pro;
	--font-default: 'Gilroy', var(--font-fallback), sans-serif; 
}

.www-icons {
	font-family: 'www-icons' !important;
}

.social-icons {
	font-family: 'social-icons' !important;
}

.logos {
	font-family: 'logos';	
}

body {
	font-family: var(--font-default);
    color: var(--color-text) !important;
    font-weight: 400;
}
body.single-iwf_exhibitor {
    background-color: var(--white);
}
body.theme-dark, .theme-dark {
    background-color: var(--color-black);
}
body.theme-warm, .theme-warm {
    background-color: var(--color-tan);
}
body.theme-light, .theme-light {
    background-color: var(--white);
}
body.theme-brand, .theme-brand {
    background-color: var(--color-primary);
}


a {
    background-color: transparent;
    color: var(--color-text);
    /*text-decoration: none;*/
    text-decoration-line: underline; /* Ensures the line is present */
    text-underline-offset: 4px; /* Adjusts the space */
    text-decoration-thickness: 2px;
}
.theme-dark a {
    color: var(--white);
}
a:hover {
    color: var(--color-primary);
    /*text-decoration: none !important;*/
    text-decoration-line: underline; /* Ensures the line is present */
    text-underline-offset: 4px; /* Adjusts the space */
    text-decoration-thickness: 2px;
}
a:hover span {
    color: var(--color-primary);
}

a.elementor-button:hover {
    text-decoration-line: none;
}
a.elementor-button:hover span {
    color: inherit;
}

span.a-style, a.a-style, .a-style {
    text-decoration-line: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;
    font-weight:700;
    cursor: pointer;
    color: inherit !important;
}
span.a-style:hover, a.a-style:hover, .a-style:hover {
    color: inherit !important;
}
/*.theme-dark a, .theme-dark span.a-style:hover, .theme-dark a.a-style:hover, .theme-dark .a-style:hover {
    color: var(--white);
}*/

/*.theme-brand a:hover, .theme-brand a.a-style:hover, .theme-light a:hover, .theme-light a.a-style:hover {
    color: var(--color-black);
}*/


#header-banner .elementor-icon-box-icon {
	margin-bottom:-8px;
}

.main-option {
	cursor: pointer;
    width:50% !important;
}
.main-option, .main-option.active, .main-option:hover, .main-option.active:hover {
    text-decoration-line: none !important;
    color:inherit !important;
}
.main-option p, .main-option.active p {
    font-size:14px !important;
    line-height:1.25em !important;
}
.main-option:hover p, .main-option:hover p.elementor-heading-title {
	color:var(--white) !important;
}
.main-option.active {
	cursor: default;
}
.main-option.active:hover p, .main-option.active:hover p.elementor-heading-title {
	color:inherit !important;
}


/* Headings - Desktop */
.elementor-widget-heading .elementor-heading-title {
    font-size: inherit;
    line-height: inherit;
	font-weight: inherit;
}

p {
    font-size: 1rem;      /* 16px */
    line-height: 1.34em;
	font-weight: inherit;
}

.subcallout p, .subcallout {
    font-size: 1.125rem !important;   /* 18px */
    line-height: 1.25em !important;
}
.callout p, .callout {
    font-size: 1.5rem !important;   /* 24px */
    line-height: 1.25em !important;
	font-weight:400;
}

h1, h1.elementor-heading-title {
    font-size: 4rem !important;      /* 64px */
    line-height: 1.1em !important;
	font-weight:900;
}

h2, h2.elementor-heading-title {
    font-size: 3rem !important;      /* 48px */
    line-height: 1em !important;
	font-weight:900;
}

h3, h3.elementor-heading-title {
    font-size: 2.25rem !important;   /* 36px */
    line-height: 1.2em !important;
	font-weight:700;
}

h4, h4.elementor-heading-title {
    font-size: 1.75rem !important;   /* 28px */
    line-height: 1.25em !important;
	font-weight:700;
}

.post-title-loop h4.elementor-heading-title {
    font-size: 1.5rem !important;   /* 24px */
    line-height: 1.1em !important;
	font-weight:700 !important;
}

.post-title-loop h4.elementor-heading-title a {
    text-decoration-line: underline; /* Ensures the line is present */
    text-underline-offset: 4px; /* Adjusts the space */
    text-decoration-thickness: 1px;
}

h5 {
    font-size: 1.125rem !important;   /* 18px */
    line-height: 1.25em !important;
	font-weight: 400;
}
h5.elementor-heading-title {
    font-size: 1.25rem !important;   /* 20px */
    line-height: 1.3em !important;
	font-weight:600 !important;
}

h6, h6.elementor-heading-title {
    font-size: 1rem !important;      /* 16px */
    line-height: 1.4em !important;
	font-weight:700 !important;
    text-transform: uppercase;
}

.reg-mark {
    /*display:inline-block;*/
    font-size: 0.6em;         /* Scale down */
    vertical-align: super;    /* Lift to super position */
    line-height: 0;           /* Prevents changing line height */
    position: relative;       /* For fine-tuning */
    top: -0.2em;              /* Nudge up if necessary */
    font-family: sans-serif;  /* Ensure clean display */
    color:inherit;
}

/* Main Nav */
nav.e-n-menu .e-n-menu-wrapper {
    background-color: transparent;
}

nav.e-n-menu .e-n-menu-wrapper .elementor-icon-box-wrapper .elementor-icon-box-content {
    font-family: var(--font-default) !important;
    font-size:16px;
    letter-spacing:0;
}

nav.e-n-menu .e-n-menu-wrapper .elementor-icon-box-wrapper .elementor-icon-box-content .elementor-icon-box-title, nav.e-n-menu .e-n-menu-wrapper .elementor-icon-box-wrapper .elementor-icon-box-content .elementor-icon-box-title a {
    font-family: var(--font-default) !important;
    font-size:16px !important;
    font-weight:700 !important;
    color: var(--color-black) !important;
    line-height:1.2em;
}
/*
.e-n-menu-item .e-n-menu-content .elementor-icon-box-wrapper>.elementor-icon-box-content>.elementor-icon-box-title a:hover {
    color: var(--color-primary);
}
*/
nav.e-n-menu .e-n-menu-wrapper .elementor-icon-box-wrapper .elementor-icon-box-content .elementor-icon-box-title, nav.e-n-menu .e-n-menu-wrapper .elementor-icon-box-wrapper .elementor-icon-box-content .elementor-icon-box-title a:hover {
    color: var(--color-primary) !important;
    /*color: var(--color-black) !important;*/
}

.e-n-menu-item a, .e-n-menu-item a:hover {
    text-decoration-line: none;
}
.e-n-menu-item>.e-n-menu-title>a:hover span, .e-n-menu-item:hover>.e-n-menu-title>a span, .e-n-menu-item>.e-n-menu-title:hover {
    color: var(--color-black);
}

/* .e-n-menu-item a.e-n-menu-title-container.e-focus.e-link */
.e-n-menu-item a.e-n-menu-title-container.e-focus.e-link {
    position: relative;
}

.e-n-menu-item:hover a.e-n-menu-title-container.e-focus.e-link::before {
    content: '';
    position: absolute;
    top: -20px;
    right: -25px;
    bottom: -30px;
    left: -10px;
    background-color: #FFF;
    border-radius: 10px 10px 0 0;
    z-index: -1;
}

.e-n-menu-item:not(:has(.e-n-menu-content)):hover a.e-n-menu-title-container.e-focus.e-link::before {
    /* styles for menu items WITHOUT .e-n-menu-content child */
    background-color: transparent;
}

/* Use IDs because the stupid mega menu doesn't allow class setting for menu items with no dropdowns */
/*#e-n-menu-title-1494:hover a.e-n-menu-title-container.e-focus.e-link::before, #e-n-menu-title-1495:hover a.e-n-menu-title-container.e-focus.e-link::before {
    background-color: transparent;
}*/

nav.e-n-menu .e-n-menu-wrapper .elementor-icon-box-wrapper .elementor-icon-box-content .elementor-icon-box-description {
    font-family: var(--font-default) !important;
    font-size:16px !important;
    font-weight:400 !important;
    color: var(--color-text) !important;
    line-height:1.25em;
}
nav.e-n-menu .e-n-menu-wrapper .elementor-icon-box-wrapper .elementor-icon-box-content .elementor-icon-box-description a.cta-list-item {
    font-family: inherit;
    font-size: inherit;
    font-weight:700;
    color: var(--color-black) !important;
    margin:0;
    display:inline-block;
    border-left: 2px var(--color-primary) solid;
    padding-left:10px;
    box-sizing: border-box;
}
nav.e-n-menu .e-n-menu-wrapper .elementor-icon-box-wrapper .elementor-icon-box-content .elementor-icon-box-description a.cta-list-item:hover {
    color: var(--color-primary) !important;
    /*border-left: 2px var(--color-black) solid;*/
}

nav.e-n-menu .e-n-menu-wrapper .e-con-full.e-child a:hover {
    color: var(--color-primary) !important;
}

/* ==========================================================================
   IWF Atlanta – Mobile Mega Menu Fullscreen Takeover  (v3)
   
   STRATEGY:
   - JS adds "iwf-menu-open" to <html> ONLY at ≤1024 px when toggle opens.
   - Every rule below is gated behind  html.iwf-menu-open  so desktop is
     never touched and the default closed mobile state is never touched.
   - Elementor content panels use inline  var(--position) / var(--width).
     We override those custom properties on the wrapper — no need to fight
     inline styles with !important on each panel.
   - We NEVER set or override `display` on .e-n-menu-wrapper.
   ========================================================================== */

/* Global: always hidden by default (prevents desktop bleed from theme button styles) */
.iwf-mobile-menu-close {
  display: none !important;
}

.mainnav-logo {
    max-width:250px;
}

@media (max-width: 1024px) {

  /* ---------------------------------------------------------------------- */
  /*  1.  WRAPPER → fixed fullscreen overlay                                */
  /* ---------------------------------------------------------------------- */

  html.iwf-menu-open .e-n-menu .e-n-menu-wrapper {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100vh !important;           /* fallback                         */
    height: 100dvh !important;
    max-height: none !important;
    z-index: 9999 !important;
    background: var(--white) !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    flex-direction: column !important;

    /*  Cascade into content-panel inline  var(--position) / var(--width)   */
    --position: static !important;
    --width: 100% !important;
  }

  /* ---------------------------------------------------------------------- */
  /*  2.  INJECTED CLOSE BAR  (hidden until menu opens)                     */
  /* ---------------------------------------------------------------------- */

  html.iwf-menu-open .iwf-mobile-menu-close {
    display: flex !important;
    align-items: center;
    justify-content: flex-end;
    flex: 0 0 auto;
    /*padding: 14px 20px;*/
    padding: 10px 5px;
    background: #fff;
    border-bottom: 1px solid var(--color-tan);
    z-index: 2;
  }
  .iwf-mobile-menu-close button {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    -webkit-tap-highlight-color: transparent;
  }
  .iwf-mobile-menu-close button svg {
    width: 24px;
    height: 24px;
    stroke: #1a1a1a;
    stroke-width: 2.5;
    stroke-linecap: round;
  }
  .iwf-mobile-menu-close button:active svg { opacity: .4; }

  /* ---------------------------------------------------------------------- */
  /*  3.  SCROLLABLE HEADING LIST                                           */
  /* ---------------------------------------------------------------------- */

  html.iwf-menu-open .e-n-menu-heading {
    /*flex: 1 1 auto !important;*/
    /*flex:none;*/
    flex: 1 1 0% !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-y: contain;
    padding: 0 0 40px 0 !important;
    margin: 0 !important;
    max-height: none !important;
    display: block !important;
  }

  /* ---------------------------------------------------------------------- */
  /*  4.  MENU ITEM ROWS                                                    */
  /* ---------------------------------------------------------------------- */

  html.iwf-menu-open .e-n-menu-item {
    padding: 15px;
    border-bottom: 1px solid #EDECE3;
  }

  html.iwf-menu-open .e-n-menu-title {
    display: flex !important;
    align-items: center;
    justify-content: space-between !important;
    padding: 8px 0 !important;
    font-weight: 800;
  }
  html.iwf-menu-open .e-n-menu-title>a {
    width:80%;
  }

  html.iwf-menu-open .e-n-menu-title-text {
    font-size: 18px !important;
    font-weight: 600 !important;
  }

  html.iwf-menu-open .e-n-menu-dropdown-icon {
    width: 44px;
    height: 44px;
    flex-shrink: 0;
    margin-right:4px;
  }

  /* ---------------------------------------------------------------------- */
  /*  5.  EXPANDED CONTENT PANELS                                           */
  /*  --position and --width are set on the wrapper (§1), so inline         */
  /*  var(--position) / var(--width) on each panel resolve correctly.        */
  /*  We just clean up cosmetics here.                                      */
  /* ---------------------------------------------------------------------- */
  html.iwf-menu-open .e-n-menu-content {
    max-width: 100% !important;
  }

  html.iwf-menu-open .e-n-menu-content > .e-con {
    box-shadow: none !important;
    border: none !important;
    background: #fff !important;
    padding: 8px 0 8px 0!important;
    left: 0 !important;           /* override any inline left:0px          */
    max-width: 100% !important;
  }

  /*  Flatten Elementor grid → single-column stack                          */
  html.iwf-menu-open .e-n-menu-content .e-grid {
    display: block !important;
  }

  html.iwf-menu-open .e-n-menu-content .e-con-inner {
    padding: 0 !important;
  }

  /*  Sub-item cards                                                        */
  html.iwf-menu-open .e-n-menu-content .elementor-icon-box-wrapper {
    padding: 12px 0 2px 0 !important;
    border-bottom: 1px solid var(--color-tan);
  }
  html.iwf-menu-open .e-n-menu-content .elementor-widget-icon-box:last-child .elementor-icon-box-wrapper {
    border-bottom: none;
  }

  html.iwf-menu-open .e-n-menu-content .elementor-icon-box-title {
    margin-bottom: 6px !important;
  }
  html.iwf-menu-open .e-n-menu-content .elementor-icon-box-title a {
    font-size: 15px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
  }
  html.iwf-menu-open .e-n-menu-content .elementor-icon-box-description {
    font-size: 14px !important;
    line-height: 1.25 !important;
    display:none;
  }
  html.iwf-menu-open .e-n-menu-content .mbl-showdesc .elementor-icon-box-description {
    display:block;
  }

  /*  CTA links with gold left-border accent                                */
  html.iwf-menu-open .e-n-menu-content .cta-list-item {
    display: block !important;
    padding: 4px 0 4px 12px !important;
    border-left: 3px solid var(--color-primary) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--color-text) !important;
    text-decoration: none !important;
    margin-top: 6px;
  }

  /* ---------------------------------------------------------------------- */
  /*  6.  BODY SCROLL LOCK                                                  */
  /* ---------------------------------------------------------------------- */

  html.iwf-menu-open,
  html.iwf-menu-open body {
    overflow: hidden !important;
  }
  html.iwf-menu-open body {
    position: fixed !important;
    width: 100% !important;
    left: 0 !important;
    /* JS sets  body.style.top = `-${scrollY}px`  */
  }

  /* ---------------------------------------------------------------------- */
  /*  7.  ORIGINAL TOGGLE — hidden while overlay is up                      */
  /* ---------------------------------------------------------------------- */

  html.iwf-menu-open .e-n-menu-toggle {
    opacity: 0 !important;
    pointer-events: none !important;
    position: absolute !important;
  }
}

.mbl-logo-link {
    position:absolute;
    top:22px;
    left:25px;
    width:160px;
    z-index:3;
}
.mbl-ctas .elementor-widget-button {
    margin: 8px auto;
    width: 96%;
}

.mbl-legal {
    text-align: center;
}
.mbl-legal>p {
    font-size:14px;
    max-width: 280px;
    margin:auto;
}
.disclaimer>p {
    font-size:14px;
}
.mbl-legal>p a, .disclaimer>p a {
    text-decoration-line: underline; /* Ensures the line is present */
    text-underline-offset: 3px; /* Adjusts the space */
    text-decoration-thickness: 1px;
}


/* Footer */
footer.elementor-location-footer a {
    background-color: transparent;
    color: inherit;
    /*text-decoration: none;*/
    text-decoration-line: underline; /* Ensures the line is present */
    text-underline-offset: 4px; /* Adjusts the space */
    text-decoration-thickness: 0.5px;
}
footer.elementor-location-footer a:hover {
    color: var(--white);
    text-decoration-line: underline; /* Ensures the line is present */
    text-underline-offset: 4px; /* Adjusts the space */
    text-decoration-thickness: 1px;
}

/* Button styles */
/* classes that change styling: body.theme-dark, body.theme-warm, body.theme-light, body.theme-brand */

.elementor-button, .elementor-button.elementor-button-link {
    font-family: var(--font-default) !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 32px !important;
    border-radius: 60px 60px 60px 60px !important;
    padding: 8px 32px 8px 32px !important;
    min-width:160px !important;
}
.btn-primary>a.elementor-button {
    background-color: transparent !important;
    color:  var(--color-black) !important;
    border-style: solid !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: var(--color-black) !important;
}
.btn-primary:hover>a.elementor-button {
    background-color:  var(--color-black) !important;
    color:  var(--white) !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: var(--color-black) !important;
    text-decoration-line: none !important;
}

.btn-cta>a.elementor-button {
    background-color:  var(--color-primary) !important;
    color:  var(--color-black) !important;
    border-style: solid !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: var(--color-primary) !important;
}
.btn-cta:hover>a.elementor-button {
    background-color:  var(--color-black) !important;
    color:  var(--white) !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: var(--color-black) !important;
    text-decoration-line: none !important;
}

.btn-secondary>a.elementor-button, .theme-brand #mainnav-grid .btn-cta>a.elementor-button {
    background-color:  var(--color-black) !important;
    color:  var(--white) !important;
    border-style: solid !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: var(--color-black) !important;
}
.btn-secondary:hover>a.elementor-button, .theme-brand #mainnav-grid .btn-cta:hover>a.elementor-button {
    background-color:  var(--white) !important;
    color:  var(--color-black) !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: var(--white) !important;
    text-decoration-line: none !important;
}

.theme-dark.btn-cta:hover>a.elementor-button {
    background-color:  var(--white) !important;
    color:  var(--color-black) !important;
    border-style: solid !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: var(--white) !important;
}

.btn-noradius .elementor-button, .btn-noradius .elementor-button.elementor-button-link {
    padding: 6px 4px 6px 4px !important;
    border-radius: 0px 0px 0px 0px !important;
    min-width:auto !important;
}

/* Buttons border for theme specifics */
/* classes that change styling: body.theme-dark, body.theme-warm, body.theme-light, body.theme-brand */
.theme-dark.btn-primary:hover>a.elementor-button, .theme-dark #mainnav-grid .btn-cta:hover>a.elementor-button {
    border-color: var(--color-white) !important;
}
.theme-dark #mainnav-grid .btn-primary>a.elementor-button {
    background-color: transparent !important;
    color: var(--white) !important;
    border-color: var(--white) !important;
}
.theme-dark #mainnav-grid .btn-primary:hover>a.elementor-button {
    background-color: var(--white) !important;
    color: var(--color-black) !important;
    border-color: var(--white) !important;
}
.theme-light.btn-secondary.btn-outline>a.elementor-button {
    border-color: var(--color-black) !important;
}
.theme-dark.btn-cta.btn-outline:hover>a.elementor-button {
    border-color: var(--white) !important;
}

.theme-dark #mainnav-grid .e-n-menu-title-text {
    color: var(--white) !important;
}

.theme-dark #mainnav-grid .e-n-menu-item:hover .e-n-menu-title-text {
    color: var(--color-black) !important;
}


.theme-dark #mainnav-grid .e-n-menu-item:not(:has(.e-n-menu-content)) a.e-n-menu-title-container.e-focus.e-link,
.theme-dark #mainnav-grid .e-n-menu-item:not(:has(.e-n-menu-content)):hover a.e-n-menu-title-container.e-focus.e-link,
.theme-dark #mainnav-grid .e-n-menu-item:not(:has(.e-n-menu-content)):hover a.e-n-menu-title-container.e-focus.e-link .e-n-menu-title-text,
.theme-dark #mainnav-grid .e-n-menu-item:not(:has(.e-n-menu-content)):hover a.e-n-menu-title-container.e-focus.e-link .e-n-menu-title-text {
    color: var(--white) !important;
}

/* Address issue with logo: 
https://internationalwoodworkingfair.kinsta.cloud/wp-content/uploads/2026/01/iwf-atlanta-logo_231F20.svg */
.theme-dark #mainnav-grid .mainnav-logo img {
    filter: brightness(0) invert(1);
}


.btn-minwidth .elementor-button, .btn-minwidth .elementor-button.elementor-button-link {
    min-width:auto !important;
}

.btn-pull-left>.elementor-button.elementor-button-link {
    padding-left: 0 !important;
}
.btn-pull-right>.elementor-button.elementor-button-link {
    padding-right: 0 !important;
}

.elementor-button-icon {
    margin-left:-8px;
}

.soldout>a.elementor-button, .disabled>a.elementor-button, .soldout:hover>a.elementor-button, .disabled:hover>a.elementor-button {
    pointer-events: none;
    /*opacity: 0.5;*/
    cursor: not-allowed;
}
.soldout>a.elementor-button, .soldout:hover>a.elementor-button {
    background-color:  var(--color-secondary) !important;
    color:  var(--white) !important;
    border-color: var(--color-secondary) !important;
    text-transform: uppercase;
}
.disabled>a.elementor-button, .disabled:hover>a.elementor-button {
    /*background-color:  var(--color-tan) !important;
    color:  var(--color-text75) !important;
    border-color: var(--color-tan) !important;*/
    background-color:  var(--color-black) !important;
    color:  var(--white) !important;
    border-color: var(--color-black) !important;
    opacity: 0.2;
}

.elementor-widget-icon-list .elementor-icon-list-item a, .elementor-widget-icon-list .elementor-icon-list-item a:hover {
    text-decoration:none !important;
}
.elementor-widget-icon-list .elementor-icon-list-item a>.elementor-icon-list-icon, .elementor-widget-icon-list .elementor-icon-list-item a:hover>.elementor-icon-list-icon {
    text-decoration:none !important;
}
.elementor-widget-icon-list .elementor-icon-list-item a:hover>.elementor-icon-list-text {
    text-decoration:underline !important;
}

.iconbox-ctas .elementor-icon-box-icon {
    transform: translate(6px, 14px);
}

.inline-links a {
    display:inline-block;
    margin:8px 8px;
}
.inline-links a:first-child {
    margin-left:0;
}

/* Stats and Icons 
.icon-stats
<div class="elementor-counter">
    <p class="elementor-counter-title">IWF is buyers' must-attend show.</p>			
    <div class="elementor-counter-number-wrapper">
        <span class="elementor-counter-number-prefix"></span>
        <span class="elementor-counter-number" data-duration="2000" data-to-value="83" data-from-value="0">83</span>
        <span class="elementor-counter-number-suffix">%</span>
    </div>
</div>

*/
.icon-stats .elementor-icon-wrapper>.elementor-icon {
    font-size:45px;
}
.icon-stats .elementor-counter>.elementor-counter-number-wrapper {
    font-size:4rem;
    font-weight:900;
    line-height:1.2;
}
.icon-stats .elementor-counter>.elementor-counter-number-wrapper>.elementor-counter-number-prefix, .icon-stats .elementor-counter>.elementor-counter-number-wrapper>.elementor-counter-number, .icon-stats .elementor-counter>.elementor-counter-number-wrapper>.elementor-counter-number-suffix {
    font-size:inherit;
}

.icon-stats .elementor-counter>.elementor-counter-number-wrapper>.elementor-counter-number {
    font-size: 4rem;
}


.icon-stats .elementor-counter>.elementor-counter-title {
    font-size:1.2rem;
    padding-right: 20px;
}


/* Form Elements */
input.elementor-field, input[type=text], input[type=tel], input[type=email] {
    font-family: var(--font-default) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 32px !important;
    background-color: #ffffff;
    border-color:  var(--black);
    border-radius: 40px 40px 40px 40px; /* 10px 10px 10px 10px */
    min-height:50px !important;
}

label, .form-cta label, label.entry__label {
    font-size: 18px;
    font-weight: 700;
    line-height: 32px;
    margin-bottom:4px;
}

.entry__label::after {
    content: attr(data-required);
    font-size: 1em;
    color: var(--color-secondary);
    text-decoration: none;
    word-wrap: break-all;
    word-wrap: break-word;
    display: inline;
}

.entry__choice label span p {
    font-weight: 400;
    line-height:1.125em;
}
.entry__choice label p {
    display: inline
}
.entry__choice {
    padding-left: 1.5em;
    text-indent: -1.5em
}

.entry__choice .checkbox,
.entry__choice .radio-button {
    margin-right: .5em
}

.entry__choice .sib-toggletip {
    text-indent: 0
}

label.entry__error, label.entry__error--primary {
    font-weight:400;
    font-size:1rem;
    color: var(--color-secondary);
    padding-left:15px;
    border-left: solid 3px var(--color-secondary);
    line-height:1;
    margin-top:4px;
    margin-bottom:10px;
}

.form__label-row {
    display:block;
    padding-bottom:8px;
}

.form-cta .form-section {
    /*padding-bottom:30px;
    border-bottom: 1px solid var(--color-tan-alt);*/
    margin-bottom:30px;
}

.form-cta input.elementor-field, .form-cta input[type=text], .form-cta input[type=tel], .form-cta input[type=email] {
    color: var(--black);
    border-color:  var(--color-tan-dark) !important;
    border-radius: 40px 40px 40px 40px !important;
}
.form-cta .elementor-button, .form-cta button {
    background-color:  var(--color-primary) !important;
    color:  var(--black) !important;
    border-style: solid !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: var(--color-primary) !important;
}
.form-cta .elementor-button:hover, .form-cta button:hover {
    background-color:  var(--black) !important;
    color:  var(--white) !important;
    border-width: 2px 2px 2px 2px !important;
    border-color: var(--black) !important;
}

/* Standard syntax for modern browsers */
.form-cta input.elementor-field::placeholder, .form-cta input[type=text], .form-cta input[type=tel], .form-cta input[type=email]::placeholder, #sib-container input::placeholder, #sib-container textarea::placeholder {
    color: var(--black) !important;
    font-weight: 700 !important;
    opacity: 1;
}

.form-cta input.elementor-field::-webkit-input-placeholder, .form-cta input[type=text], .form-cta input[type=tel], .form-cta input[type=email]::-webkit-input-placeholder {
    color: var(--black) !important;
    font-weight: 700 !important;
    opacity: 1;
}

.form-cta input.elementor-field::-moz-placeholder, .form-cta input[type=text], .form-cta input[type=tel], .form-cta input[type=email]::-moz-placeholder {
    color: var(--black) !important;
    font-weight: 700 !important;
    opacity: 1;
}

.form-cta input.elementor-field:-ms-input-placeholder, .form-cta input[type=text], .form-cta input[type=tel], .form-cta input[type=email]:-ms-input-placeholder, #sib-container input:-ms-input-placeholder {
    color: var(--black) !important;
    font-weight: 700 !important;
    opacity: 1;
}

.form-cta .elementor-button-icon {
    margin-left:-8px;
    display: inline;
}

.form-cta button {
    min-width: 180px;
    font-weight: 700 !important;
}


/* Elementor Form Stack */
/* =============================================================
   IWF2026 — Elementor Form Styles v2
   Clean, minimal, elegant. No gradients. No text-shadows.
   Refactored to match .form-cta design intent.
   Includes .theme-dark overrides.
   ============================================================= */

/* -------------------------------------------------------------
   BASE — Inputs
   ------------------------------------------------------------- */

.elementor-form input.elementor-field,
.elementor-form input[type=text],
.elementor-form input[type=tel],
.elementor-form input[type=email],
.elementor-form input[type=url],
.elementor-form input[type=number] {
    font-family: var(--font-default) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 32px !important;
    background-color: var(--white);
    color: var(--black);
    border-color: var(--color-tan-dark);
    border-width: 1px;
    border-style: solid;
    border-radius: 40px;
    min-height: 50px !important;
    padding: 0 20px;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    appearance: none;
    -webkit-appearance: none;
}

.elementor-form input.elementor-field:focus,
.elementor-form input[type=text]:focus,
.elementor-form input[type=tel]:focus,
.elementor-form input[type=email]:focus,
.elementor-form input[type=url]:focus,
.elementor-form input[type=number]:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb, 0,0,0), 0.10);
}

/* Placeholders */
.elementor-form input.elementor-field::placeholder,
.elementor-form input[type=text]::placeholder,
.elementor-form input[type=tel]::placeholder,
.elementor-form input[type=email]::placeholder,
.elementor-form input[type=url]::placeholder {
    color: var(--black) !important;
    font-weight: 700 !important;
    opacity: 1;
}

.elementor-form input.elementor-field::-webkit-input-placeholder,
.elementor-form input[type=text]::-webkit-input-placeholder,
.elementor-form input[type=tel]::-webkit-input-placeholder,
.elementor-form input[type=email]::-webkit-input-placeholder {
    color: var(--black) !important;
    font-weight: 700 !important;
    opacity: 1;
}

.elementor-form input.elementor-field::-moz-placeholder,
.elementor-form input[type=text]::-moz-placeholder,
.elementor-form input[type=tel]::-moz-placeholder,
.elementor-form input[type=email]::-moz-placeholder {
    color: var(--black) !important;
    font-weight: 700 !important;
    opacity: 1;
}

/* -------------------------------------------------------------
   TEXTAREA
   ------------------------------------------------------------- */

.elementor-form textarea.elementor-field {
    font-family: var(--font-default) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    background-color: var(--white);
    color: var(--black);
    border: 1px solid var(--color-tan-dark);
    border-radius: 20px;
    min-height: 140px;
    padding: 16px 20px;
    width: 100%;
    box-sizing: border-box;
    resize: vertical;
    line-height: 1.6;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    appearance: none;
    -webkit-appearance: none;
}

.elementor-form textarea.elementor-field:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb, 0,0,0), 0.10);
}

.elementor-form textarea.elementor-field::placeholder {
    color: var(--black) !important;
    font-weight: 700 !important;
    opacity: 1;
}

/* -------------------------------------------------------------
   SELECT
   ------------------------------------------------------------- */

.elementor-form select.elementor-field,
.elementor-form .elementor-field-select select {
    font-family: var(--font-default) !important;
    font-size: 16px !important;
    font-weight: 400 !important;
    background-color: var(--white);
    color: var(--black);
    border: 1px solid var(--color-tan-dark);
    border-radius: 40px;
    min-height: 50px;
    padding: 0 44px 0 20px;
    width: 100%;
    box-sizing: border-box;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23000000' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.elementor-form select.elementor-field:focus,
.elementor-form .elementor-field-select select:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb, 0,0,0), 0.10);
}

/* -------------------------------------------------------------
   LABELS
   ------------------------------------------------------------- */

.elementor-form label,
.elementor-form .elementor-field-label {
    font-family: var(--font-default);
    font-size: 18px;
    font-weight: 700 !important;
    line-height: 32px;
    margin-bottom: 4px;
    display: block;
    color: var(--black);
}

/* Required asterisk */
.elementor-form .elementor-mark-required .elementor-field-label:after {
    content: " *";
    color: var(--color-secondary);
}

/* -------------------------------------------------------------
   FIELD GROUP SPACING
   ------------------------------------------------------------- */

.elementor-form .elementor-field-group {
    margin-bottom: 16px;
}

/* -------------------------------------------------------------
   CUSTOM RADIO BUTTONS
   30x30px circle, 2px border
   ------------------------------------------------------------- */

.elementor-form .elementor-field-type-radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.elementor-form .elementor-field-type-radio .elementor-field-option label {
    position: relative;
    padding-left: 44px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    display: inline-block;
    vertical-align: middle;
    color: var(--black);
    margin-bottom: 8px;
}

.elementor-form .elementor-field-type-radio .elementor-field-option label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 30px;
    width: 30px;
    border: 2px solid var(--color-tan-dark);
    background-color: var(--white);
    border-radius: 50%;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
}

.elementor-form .elementor-field-type-radio .elementor-field-option label::after {
    content: "";
    position: absolute;
    display: none;
    left: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background-color: var(--color-primary);
    border-radius: 50%;
}

.elementor-form .elementor-field-type-radio input[type="radio"]:checked + label::before {
    border-color: var(--color-primary);
}

.elementor-form .elementor-field-type-radio input[type="radio"]:checked + label::after {
    display: block;
}

.elementor-form .elementor-field-type-radio input[type="radio"]:focus + label::before {
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb, 0,0,0), 0.10);
}

/* -------------------------------------------------------------
   CUSTOM CHECKBOXES — Standard checkbox fields
   30x30px square, 6px border-radius, 2px border
   ------------------------------------------------------------- */

.elementor-form .elementor-field-type-checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.elementor-form .elementor-field-type-checkbox .elementor-field-option label {
    position: relative;
    padding-left: 44px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    display: inline-block;
    vertical-align: middle;
    color: var(--black);
    margin-bottom: 8px;
}

.elementor-form .elementor-field-type-checkbox .elementor-field-option label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 30px;
    width: 30px;
    border: 2px solid var(--color-tan-dark);
    background-color: var(--white);
    border-radius: 6px;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
}

.elementor-form .elementor-field-type-checkbox .elementor-field-option label::after {
    content: "";
    position: absolute;
    display: none;
    left: 10px;
    top: 50%;
    transform: translateY(-60%) rotate(45deg);
    width: 7px;
    height: 13px;
    border: solid var(--white);
    border-width: 0 3px 3px 0;
}

.elementor-form .elementor-field-type-checkbox input[type="checkbox"]:checked + label::before {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.elementor-form .elementor-field-type-checkbox input[type="checkbox"]:checked + label::after {
    display: block;
}

.elementor-form .elementor-field-type-checkbox input[type="checkbox"]:focus + label::before {
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb, 0,0,0), 0.10);
}

/* -------------------------------------------------------------
   ACCEPTANCE CHECKBOX — Special case
   Elementor renders this differently: .elementor-acceptance-field
   inside span.elementor-field-option, NOT inside
   .elementor-field-type-checkbox — requires its own selectors
   ------------------------------------------------------------- */

.elementor-form .elementor-field-type-acceptance input[type="checkbox"].elementor-acceptance-field {
    position: absolute;
    opacity: 0;
    cursor: pointer;
    height: 0;
    width: 0;
}

.elementor-form .elementor-field-type-acceptance .elementor-field-option label {
    position: relative;
    padding-left: 44px;
    cursor: pointer;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    display: inline-block;
    vertical-align: middle;
    color: var(--black);
}

/* Acceptance checkbox box */
.elementor-form .elementor-field-type-acceptance .elementor-field-option label::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 30px;
    width: 30px;
    border: 2px solid var(--color-tan-dark);
    background-color: var(--white);
    border-radius: 6px;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    box-sizing: border-box;
}

/* Acceptance checkmark */
.elementor-form .elementor-field-type-acceptance .elementor-field-option label::after {
    content: "";
    position: absolute;
    display: none;
    left: 10px;
    top: 50%;
    transform: translateY(-60%) rotate(45deg);
    width: 7px;
    height: 13px;
    border: solid var(--white);
    border-width: 0 3px 3px 0;
}

.elementor-form .elementor-field-type-acceptance input[type="checkbox"]:checked + label::before {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.elementor-form .elementor-field-type-acceptance input[type="checkbox"]:checked + label::after {
    display: block;
}

.elementor-form .elementor-field-type-acceptance input[type="checkbox"]:focus + label::before {
    box-shadow: 0 0 0 3px rgba(var(--color-primary-rgb, 0,0,0), 0.10);
}

/* -------------------------------------------------------------
   SUBMIT BUTTON
   ------------------------------------------------------------- */

.elementor-form .elementor-button,
.elementor-form button[type="submit"] {
    font-family: var(--font-default) !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    min-width: 180px;
    min-height: 50px;
    border-radius: 40px;
    background-color: var(--color-primary) !important;
    color: var(--black) !important;
    border-style: solid !important;
    border-width: 2px !important;
    border-color: var(--color-primary) !important;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
    letter-spacing: 0.02em;
}

.elementor-form .elementor-button:hover,
.elementor-form button[type="submit"]:hover {
    background-color: var(--black) !important;
    color: var(--white) !important;
    border-color: var(--black) !important;
}

.elementor-form .elementor-button-icon {
    margin-left: -8px;
    display: inline;
}

/* -------------------------------------------------------------
   FORM MESSAGES
   ------------------------------------------------------------- */

.elementor-form .elementor-message {
    font-family: var(--font-default);
    font-size: 0.9rem;
    font-weight: 600;
    padding: 12px 20px;
    border-radius: 40px;
    margin-top: 12px;
    border: 1px solid transparent;
}

.elementor-form .elementor-message.elementor-message-success {
    background-color: #f0fdf4;
    color: #166534;
    border-color: #bbf7d0;
}

.elementor-form .elementor-message.elementor-message-danger {
    background-color: #fef2f2;
    color: #991b1b;
    border-color: #fecaca;
}

.elementor-form .elementor-field-group .elementor-message {
    font-size: 0.8rem;
    padding: 6px 16px;
    margin-top: 6px;
    border-radius: 20px;
}

/* -------------------------------------------------------------
   DARK THEME — .theme-dark overrides
   ------------------------------------------------------------- */

.theme-dark .elementor-form input.elementor-field,
.theme-dark .elementor-form input[type=text],
.theme-dark .elementor-form input[type=tel],
.theme-dark .elementor-form input[type=email],
.theme-dark .elementor-form input[type=url],
.theme-dark .elementor-form input[type=number] {
    background-color: transparent;
    color: var(--white);
    border-color: rgba(255,255,255,0.4);
}

.theme-dark .elementor-form input.elementor-field::placeholder,
.theme-dark .elementor-form input[type=text]::placeholder,
.theme-dark .elementor-form input[type=tel]::placeholder,
.theme-dark .elementor-form input[type=email]::placeholder {
    color: var(--white) !important;
}

.theme-dark .elementor-form textarea.elementor-field {
    background-color: transparent;
    color: var(--white);
    border-color: rgba(255,255,255,0.4);
}

.theme-dark .elementor-form textarea.elementor-field::placeholder {
    color: var(--white) !important;
}

.theme-dark .elementor-form select.elementor-field,
.theme-dark .elementor-form .elementor-field-select select {
    background-color: transparent;
    color: var(--white);
    border-color: rgba(255,255,255,0.4);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
}

.theme-dark .elementor-form label,
.theme-dark .elementor-form .elementor-field-label {
    color: var(--white);
}

/* Dark radio */
.theme-dark .elementor-form .elementor-field-type-radio .elementor-field-option label {
    color: var(--white);
}

.theme-dark .elementor-form .elementor-field-type-radio .elementor-field-option label::before {
    border-color: rgba(255,255,255,0.4);
    background-color: transparent;
}

.theme-dark .elementor-form .elementor-field-type-radio input[type="radio"]:checked + label::before {
    border-color: var(--color-primary);
}

/* Dark checkboxes */
.theme-dark .elementor-form .elementor-field-type-checkbox .elementor-field-option label,
.theme-dark .elementor-form .elementor-field-type-acceptance .elementor-field-option label {
    color: var(--white);
}

.theme-dark .elementor-form .elementor-field-type-checkbox .elementor-field-option label::before,
.theme-dark .elementor-form .elementor-field-type-acceptance .elementor-field-option label::before {
    border-color: rgba(255,255,255,0.4);
    background-color: transparent;
}

.theme-dark .elementor-form .elementor-field-type-checkbox input[type="checkbox"]:checked + label::before,
.theme-dark .elementor-form .elementor-field-type-acceptance input[type="checkbox"]:checked + label::before {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

/* Dark messages */
.theme-dark .elementor-form .elementor-message.elementor-message-success {
    background-color: rgba(22, 101, 52, 0.3);
    color: #86efac;
    border-color: #166534;
}

.theme-dark .elementor-form .elementor-message.elementor-message-danger {
    background-color: rgba(153, 27, 27, 0.3);
    color: #fca5a5;
    border-color: #991b1b;
}

/* Dark button */
.theme-dark .elementor-form .elementor-button {
    background-color: var(--color-primary) !important;
    color: var(--black) !important;
    border-color: var(--color-primary) !important;
}

.theme-dark .elementor-form .elementor-button:hover {
    background-color: var(--white) !important;
    color: var(--black) !important;
    border-color: var(--white) !important;
}

/* Top aligned — stacked only, excludes inline */
.elementor-form .elementor-field-type-radio .elementor-subgroup:not(.elementor-subgroup-inline) .elementor-field-option label::before,
.elementor-form .elementor-field-type-checkbox .elementor-subgroup:not(.elementor-subgroup-inline) .elementor-field-option label::before,
.elementor-form .elementor-field-type-acceptance .elementor-field-option label::before {
    top: 4px;
    transform: none;
}

.elementor-form .elementor-field-type-checkbox .elementor-subgroup:not(.elementor-subgroup-inline) .elementor-field-option label::after,
.elementor-form .elementor-field-type-acceptance .elementor-field-option label::after {
    top: 11px;
    transform: rotate(45deg);
}

.elementor-form .elementor-field-type-radio .elementor-subgroup:not(.elementor-subgroup-inline) .elementor-field-option label::after {
    top: 12px;
    transform: none;
}

/* Middle aligned — inline groups restore original behavior */
.elementor-form .elementor-field-type-radio .elementor-subgroup-inline .elementor-field-option label::before,
.elementor-form .elementor-field-type-checkbox .elementor-subgroup-inline .elementor-field-option label::before {
    top: 50%;
    transform: translateY(-50%);
}

.elementor-form .elementor-field-type-checkbox .elementor-subgroup-inline .elementor-field-option label::after {
    top: 50%;
    transform: translateY(-60%) rotate(45deg);
}

.elementor-form .elementor-field-type-radio .elementor-subgroup-inline .elementor-field-option label::after {
    top: 50%;
    transform: translateY(-50%);
}


/* Additonal Form Elements */
p.form-instructions, .elementor-form p.form-instructions {
    color: var(--color-tan-dark);
    font-weight: 400;
    font-size: 1.125rem;
    line-height: 1.2;
    margin-top: 10px;
    margin-bottom: 5px;
    border-top: 1px solid var(--color-tan-dark);
    padding-top: 15px;
}

p.form-title {
    font-size:1.25rem;
    font-weight: 700;
    margin-bottom:-10px;
}
p.form-disclaimer {
    font-size:14px;
}

.color-tan-dark {
    color: var(--color-tan-dark) !important;
}

hr.std-solid {
  border: 0;
  border-top: 1px solid var(--color-tan-dark);
  margin: 15px 0;
  display:block;
  width:100%;
}

.elementor-subgroup-inline .elementor-field-option {
    margin-right:30px;
}

.elementor-field-type-checkbox .elementor-field-subgroup .elementor-field-option {
    margin-bottom:15px;
}






/* Popform Conditions */
.std-popup .iwf-search-bar {
    text-align:center;
}
.std-popup .iwf-search-bar-input {
    max-width: 360px;
}
.elementor-popup-modal .dialog-widget-content.dialog-lightbox-widget-content, .elementor-popup-modal .dialog-message.dialog-lightbox-message {
    border-radius: 10px;
}
.dialog-close-button.dialog-lightbox-close-button {
    text-decoration: none !important;
    font-size: 20px;
    font-weight: 400;
    color: var(--color-text);
}


/* Styles for functionality of Brevo Forms */
.sib-form-message-panel {
    margin: 0 0 1.25rem 0;
    width: 100%;
    padding: .4375rem;
    border: 1px solid;
    display: none;
}

.sib-form-message-panel--active {
    display: inline-block;
}

.sib-form-message-panel__text {
    display: flex;
    align-items: center;
    margin: 0;
    padding: .5rem;
    justify-content: center;
}

.sib-form-message-panel__text .sib-icon {
    contain: strict;
    display: inline-block;
    fill: currentColor;
}

.sib-form-message-panel__text .sib-notification__icon {
    height: 1.5em;
    width: 1.5em;
    flex-shrink: 0;
    margin-right: calc(1rem - 1px);
}

.sib-loader {
    display: inline-block;
    position: relative;
    width: 40px;
    height: 40px;
}

.checkbox_tick_positive:before {
    left: 49%;
}

#error-message, #success-message, .sib-form-message-panel__inner-text {
    font-weight: 700;
    /*border-width: 0 0 0 5px;*/
    border-radius:0; 
    border:0;
    line-height: 1.25em;
}

#error-message {
    color: var(--color-secondary); 
    /*border-color: var(--color-secondary);*/
}

/*#success-message {
    border-color: var(--color-primary);
}*/

#sib-container .subscribe-std {
  display: flex;
  align-items: center;
  gap: 8px;
}

#sib-container .subscribe-std #EMAIL {
  flex: 1;
  min-width: 0; /* prevents overflow in flex context */
}

#sib-container .subscribe-std .sib-form-block__button {
  flex-shrink: 0;
  white-space: nowrap;
}

#sib-container .subscribe-stacked .sib-form-block__button {
    box-sizing: border-box;
    width:100%;
    margin-top:15px;
}

@media (max-width: 600px) {
  #sib-container .subscribe-std {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Submit button with progress spinner */
.sib-form .clickable__icon:not(.sib-icon_standalone) {
    margin-right: calc(.7002rem - 1px);
}
.sib-form .progress-indicator__icon {
    -webkit-animation: indicator-spin 1.3s cubic-bezier(0.46, 0.35, 0.39, 0.85) infinite;
    animation: indicator-spin 1.3s cubic-bezier(0.46, 0.35, 0.39, 0.85) infinite;
}
.sib-form .clickable__icon {
    height: 1.5rem;
    vertical-align: bottom;
    width: 1.5rem;
}
.sib-hide-loader-icon {
    display: none;
}
.input--hidden {
    display: none !important
}

.sib-form-block {
    display:block;
}
.sib-optin.sib-form-block {
    margin-top:10px;
    margin-bottom:10px;
}

.links-only .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item.elementor-inline-item a {
    text-decoration-line: underline !important; /* Ensures the line is present */
    text-underline-offset: 3px !important; /* Adjusts the space */
    text-decoration-thickness: 1px !important;
}


/* Layout Styles */
.aspect-ratio-1-1 {
    aspect-ratio: 1 / 1;
}

.aspect-ratio-16-9 {
    aspect-ratio: 16 / 9;
}

.aspect-ratio-3-1 {
    /*aspect-ratio: 3 / 1;*/
    aspect-ratio: 3.25 / 1;
}

.aspect-ratio-50-23 {
    aspect-ratio: 50 / 23;
}

/* Max-width standards */
.max-640 {
    max-width: 640px !important;
    margin: 0 auto;
}
.max-700 {
    max-width: 700px !important;
    margin: 0 auto;
}
.max-900 {
    max-width: 900px !important;
    margin: 0 auto;
}
.max-1000 {
    max-width: 1000px !important;
    margin: 0 auto;
}

.grid-auto, .grid-auto .e-con-inner {
    grid-template-rows: auto !important;
}
.grid-auto>.e-con-full.e-flex, .grid-auto .e-con-inner>.e-con-full.e-flex {
    margin-bottom:120px;
}

.grid-2-items-3-columns {
    --e-con-grid-template-columns: repeat(2, 1fr) !important;
    max-width: 66.66%; /* 2/3 of parent width */
    margin: 0 auto;
}
.grid-1-item-3-columns {
    --e-con-grid-template-columns: repeat(1, 1fr) !important;
    max-width: 33.33%; /* 1/3 of parent width */
    margin: 0 auto;
}
/* Adjust for mobile */
@media (max-width: 767px) {
    .grid-1-item-3-columns,
    .grid-2-item-3-columns {
        --e-con-grid-template-columns: repeat(1, 1fr) !important;
        --grid-auto-flow: row;
        width:100%;
    }
}


/* Accordians */
.elementor-accordion-item .elementor-tab-title {
    border-bottom: solid 1px var(--color-tan-dark);
}
.elementor-accordion-item .elementor-tab-title.elementor-active {
    border-bottom: solid 1px var(--color-black);
    border-block-end-color: var(--color-black) !important;
}

.elementor-tab-title.highlite .elementor-accordion-title {
    color: var(--color-primary) !important;
}

/* MYS API Styles */
.iwf-not-wia .iwf-conditional, .iwf-no-media .iwf-conditional { display: none !important; }

.iwf-exhibitor-filters {
    display:block;
    width:100%;
    box-sizing: border-box;
    background-color: var(--white);
    padding: 40px;
    border-radius:10px;
}
.iwf-filter-group label {
    font-size:1rem;
    line-height:1.25em;
    font-weight:700;
    color: var(--color-black);
    /*margin: 8px 0;*/
    text-transform: none;
}
.iwf-filter-group label.iwf-filter-checkbox-label {
    font-weight:400;
}
.iwf-filter-group:first-child label {
    margin-top: 0;
}

.iwf-filter-group {
    margin-bottom:2px;
}
.iwf-filter-group:last-child {
    margin-bottom:0;
}
.iwf-filter-checkbox {
    margin: 0 8px 0 0;
    display: inline-block;
}
.iwf-filter-actions {
    margin-top:8px;
}
.iwf-exhibitor-filters select {
    -webkit-appearance: none; /* For older browsers */
    appearance: none;
    /* Add padding to the right to prevent text from overlapping your custom caret */
    padding: 0 40px 0 15px; 
    width: 100%; /* Optional: ensures select takes full width of container */
    /* Other styling like border, background, etc. */
    border-color:  var(--color-tan-dark);
    min-height:50px !important;
    font-weight:700;
}
.iwf-filter-reset {
    font-weight: 700;
    text-decoration: underline;
    margin-left: 30px;
    color: var(--color-text);
}

.custom-select {
  position: relative; /* Anchor for the absolute positioned caret */
  display: block; /* Or block, depending on layout */
}
.custom-select::before {
  content: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="20" height="20"><path d="M19.061,7.854a1.5,1.5,0,0,0-2.122,0l-4.586,4.585a.5.5,0,0,1-.707,0L7.061,7.854A1.5,1.5,0,0,0,4.939,9.975l4.586,4.586a3.5,3.5,0,0,0,4.95,0l4.586-4.586A1.5,1.5,0,0,0,19.061,7.854Z"/></svg>'); /* Replace with your left-pointing or down-pointing SVG */
  position: absolute;
  right: 10px; /* Adjust as needed */
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none; /* Ensures clicks go through to the select element */
  display:inline-block;
  width:24px;
  height:24px;
}

.exh-logo>img {
    width: auto;
    height: auto;
    max-width:200px;
    max-height:100px;
}

.exh-contact>a.elementor-button, .exh-media>a.elementor-button, .btn-details>a.elementor-button {
    line-height: 16px !important;
    border-radius: 15px 15px 15px 15px !important;
    padding: 6px 16px 7px 16px !important;
    min-width:160px !important;
    width:100%;
}
.exh-info>a.elementor-button {
    min-width:160px !important;
    width:100%;
}

.exh-contact>a.elementor-button {
    background-color:  var(--color-tan) !important;
    color:  var(--color-black) !important;
    border-style: solid !important;
    border-width: 1px 1px 1px 1px !important;
    border-color: var(--color-tan) !important;
}
.exh-media>a.elementor-button {
    background-color:  var(--color-text) !important;
    color:  var(--white) !important;
    border-style: solid !important;
    border-width: 1px 1px 1px 1px !important;
    border-color: var(--color-text) !important;
}
.exh-contact:hover>a.elementor-button, .exh-media:hover>a.elementor-button {
    background-color:  var(--white) !important;
    color:  var(--color-black) !important;
    border-width: 1px 1px 1px 1px !important;
    border-color: var(--color-black) !important;
    text-decoration-line: none !important;
}

/* Sessions Styling */
/* ─────────────────────────────────────────────────
   Session Track Blocks Widget [iwf_session_track_blocks]
   ───────────────────────────────────────────────── */
/*
.iwf-track-blocks {
    columns: 4;
    column-gap: 30px;
    margin: 30px 0;
}

.iwf-track-block {
    display: flex;
    align-items: flex-end;
    break-inside: avoid;
    margin-bottom: 16px;
    text-decoration: none;
    border-radius: 12px;
    overflow: hidden;
    background: var(--color-tan);
    color: var(--color-black);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
    box-sizing:border-box;
    aspect-ratio: 1 / 1;
}
*/
.iwf-track-blocks {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    column-gap: 30px;
    margin: 30px 0;
    align-items: start; /* critical — prevents columns from stretching to equal height */
}

.iwf-track-col {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Column offsets — 100% here refers to the column wrapper's width,
   which equals one card width, which equals one card height (1:1 aspect ratio) */
.iwf-track-col--1 { padding-top: calc(100% + 16px); }  /* 1 full block + 1 gap */
.iwf-track-col--2 { padding-top: calc(50% + 8px); }    /* 0.5 block + half gap */
.iwf-track-col--3 { padding-top: 0; }
.iwf-track-col--4 { padding-top: calc(50% + 8px); }    /* 0.5 block + half gap */

.iwf-track-block {
    display: flex;
    align-items: flex-end;
    text-decoration: none;
    border-radius: 12px;
    overflow: hidden;
    background: var(--color-tan);
    color: var(--color-black);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    position: relative;
    box-sizing: border-box;
    aspect-ratio: 1 / 1;
    width: 100%;
    box-shadow: 0 4px 12px rgba(0,0,0,0.5);
}

/* rest of your existing .iwf-track-block styles remain unchanged 
box-shadow: none | [inset? && [ <offset-x> <offset-y> <blur-radius>? <spread-radius>? <color>? ] ]#
*/

.iwf-track-block:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.12);
    text-decoration: none;
}
.iwf-track-block:hover, .iwf-track-block:hover span {
    color: var(--black) !important;
    background: var(--white);
}

.iwf-track-block__inner {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 30px 24px 30px;
    width: 100%;
    position: relative;
}

/* Arrow icon top-right — pure CSS */
/*.iwf-track-block::after {
    content: '↗';
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 1.5rem;
    font-weight:800;
    color: var(--color-black);
    line-height: 1;
}*/
.iwf-track-block::after {
    content: '';
    display: block;
    width: 16px;
    height: 16px;
    background-image: url('data:image/svg+xml,%3Csvg width="19" height="19" viewBox="0 0 19 19" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M4.19824 1H17.1982V14.5" stroke="%23231F20" stroke-width="2" stroke-linecap="square"/%3E%3Cpath d="M17.0912 2.71586L17.8071 2.01762L16.4106 0.585896L15.6948 1.28414L16.393 2L17.0912 2.71586ZM16.393 2L15.6948 1.28414L-2.4598e-05 16.5927L0.698218 17.3085L1.39646 18.0244L17.0912 2.71586L16.393 2Z" fill="%23231F20"/%3E%3C/svg%3E');
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 20px;
    right: 20px;
}

/* Even/odd height variation creates the diagonal stagger via columns */
.iwf-track-block--even .iwf-track-block__inner {
    /*min-height: 220px;*/
}

.iwf-track-block--odd .iwf-track-block__inner {
    /*min-height: 160px;*/
}

.iwf-track-block__name {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--color-black);
}

.iwf-track-block__desc {
    font-size: 0.85rem;
    line-height: 1.1;
    color: var(--color-text);
}

.iwf-track-block__count {
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--color-text);
}

@media (max-width: 768px) {
    .iwf-track-blocks {
        columns: 1;
    }

    .iwf-track-block--even .iwf-track-block__inner,
    .iwf-track-block--odd .iwf-track-block__inner {
        min-height: 140px;
    }
}



/* ─── Session List Track Filter Tabs ─── */
.iwf-session-track-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin: 0 0 28px;
    padding: 0;
    list-style: none;
}

.iwf-session-track-filters__item a {
    display: inline-block;
    color:var(--color-text);
    padding: 6px 16px;
    border-radius: 4px;
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease;
}

.iwf-session-track-filters__item a:hover,
.iwf-session-track-filters__item a.active {
    background: var(--color-tan);
    color: var(--black);
}











.column-links a {
    display:block;
    margin:4px 0;
}


/* Lightbox Style Overrides */
button.iwf-lightbox-close, button.iwf-lightbox-prev, button.iwf-lightbox-next {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    border-radius: 50%;
    line-height: 1;
    color: var(--color-tan-alt);
    border-style: solid;
    border-width: 1px 1px 1px 1px;
    border-color: var(--color-tan-alt);
    font-weight:400;
    background-color: transparent;
}

button.iwf-lightbox-close {
    border-color: var(--color-tan-alt);
    border-radius: 10px;
    font-size: 28px;
    right: -60px;
}

button.iwf-lightbox-close:hover, button.iwf-lightbox-prev:hover, button.iwf-lightbox-next:hover {
    background-color: transparent;
    border-color: var(--color-primary);
    color: var(--color-primary);
}

/* Play icon overlay for videos */
.iwf-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 48px;
    height: 48px;
    color: #fff;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,0.5));
    pointer-events: none;
    opacity: 0.85;
    transition: opacity 0.2s;
}

.iwf-media-item:hover .iwf-play-icon {
    opacity: 1;
}


/* News Posts */
.e-filter-item[data-filter^="home-page"], [class*="category-home-page"] {
    display: none;
}
.e-filter-item[data-filter^="education"], [class*="education"] {
    display: none;
}
.e-filter-item[data-filter^="iwf-woodworking-today"] {
    display: none;
}
/* News Hero Carousel */
.swiper.elementor-loop-container {
    border-radius:10px;
}
.swiper-pagination.swiper-pagination-bullets {
    margin-top:30px
}
.elementor-widget-loop-carousel .swiper-pagination-bullet, .swiper-pagination-bullet {
    background: var(--color-tan-dark);
    width:11px !important;
    height:11px !important;
    margin-right: 4px !important;
}
.elementor-widget-loop-carousel .swiper-pagination-bullet.swiper-pagination-bullet-active, .swiper-pagination-bullet.swiper-pagination-bullet-active {
    background: var(--color-primary);
}

.elementor-swiper-button {
    color:var(--color-tan-dark) !important;
}
.elementor-swiper-button:hover {
    color:var(--color-primary) !important;
}


.hero-news .elementor-heading-title:hover a, .hero-news .elementor-heading-title a:hover {
    text-decoration: none !important;
    color: var(--black) !important;
}

.hero-news .post-title-loop {
    margin: 0 auo;
    max-width:640px;
}

.post-category-tag.elementor-widget-post-info a {
    font-size:14px;
    line-height:1;
}

.hero-news .post-category-tag.elementor-widget-post-info a {
    font-size:16px;
    line-height:1;
}

.post-category-tag.elementor-widget-post-info:hover {
    background-color:var(--color-tan-dark) !important;
}
.post-category-tag.elementor-widget-post-info a:hover {
    /*text-decoration-line: underline;
    text-underline-offset: 4px;
    text-decoration-thickness: 1px;*/
    text-decoration-line: none;
}

.loop-news .post-category-tag.elementor-widget-post-info, .hero-news .post-category-tag.elementor-widget-post-info {
    background-color:var(--color-primary) !important;
}
.loop-news .post-category-tag.elementor-widget-post-info:hover, .hero-news .post-category-tag.elementor-widget-post-info:hover {
    background-color:var(--color-black) !important;
}
.loop-news .post-category-tag.elementor-widget-post-info a, .hero-news .post-category-tag.elementor-widget-post-info a {
    color: var(--color-black) !important;
}
.loop-news .post-category-tag.elementor-widget-post-info:hover a, .hero-news .post-category-tag.elementor-widget-post-info:hover a {
    color: var(--color-tan-dark) !important;
}
.loop-news .post-category-tag.elementor-widget-post-info a:hover, .hero-news .post-category-tag.elementor-widget-post-info a:hover {
    color: var(--color-light) !important;
}

.loop-news .post-category-tag {
    position:absolute;
    top:15px;
    left:15px;
}

.filters-std {
    padding: 15px 0;
}

.filters-std .e-filter-item {
    font-size:14px;
    line-height:1;
    font-weight:700;
    color: var(--color-black);
    padding:10px;
    background-color: transparent;
    border: 1px solid transparent !important;
    border-radius:10px;
}
.filters-std .e-filter-item:hover {
    color: var(--color-black);
    background-color: var(--white);
    border: 1px solid var(--white) !important;
}
.filters-std .e-filter-item[aria-pressed="true"] {
    color: var(--color-black);
    background-color: transparent;
    border: 1px solid var(--color-black) !important;
}

.post-content-std.elementor-widget-theme-post-content {
    padding-top:30px;
    padding-top:30px;
}

.post-content-std.elementor-widget-theme-post-content p:first-child {
    font-size: 1.5rem !important;   /* 24px */
    line-height: 1.25em !important;
    font-weight:700;
    color: var(--color-black);
}
.post-content-std.elementor-widget-theme-post-content .wp-block-image {
    margin-top:30px;
    margin-bottom:30px;
}
.post-content-std.elementor-widget-theme-post-content .wp-block-image img {
    border-radius:10px;
}

.post-content-std.elementor-widget-theme-post-content .wp-block-image .wp-element-caption {
    font-size: 14px !important;
    font-weight:500;
    text-align:left;
}

.post-content-std.elementor-widget-theme-post-content video {
    margin: 30px auto;
    border: 1px solid var(--color-black);
}

.elementor-post-navigation__link a {
    text-decoration-line: none;
}
.elementor-post-navigation__link a:hover .post-navigation__prev--title, .elementor-post-navigation__link a:hover .post-navigation__next--title {
    text-decoration-line: underline !important;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.elementor-post-navigation__link .post-navigation__prev--title, .elementor-post-navigation__link .post-navigation__next--title {
    max-width:360px;
}
.elementor-post-navigation__link a:hover .post-navigation__arrow-wrapper {
    text-decoration-line: none !important;
    color: var(--color-primary) !important;
    fill: var(--color-primary) !important;
}

.policy-wrapper {
    margin-top:15px;
    margin-bottom:70px;
}
.policy-wrapper h4 {
    margin-top:30px;
    margin-bottom:15px;
}
.policy-wrapper  .wp-block-list {
    padding: 8px 10px 30px 10px;
}


/* Media Queries */
@media (max-width: 1300px) {
    .mainnav-logo {
        max-width:200px !important;
    }
}
/* Tablet - 1024px and below */
@media (max-width: 1024px) {
    .callout p, .callout {
        font-size: 1.5rem !important;   /* 24px */
        line-height: 1.1em !important;
    }

    h1, h1.elementor-heading-title {
        font-size: 2.5rem !important;      /* 40px */
        line-height: 1.125em !important;
    }

    h2, h2.elementor-heading-title {
        font-size: 2.25rem !important;    /* 36px */
        line-height: 1.2em !important;
    }

    h3, h3.elementor-heading-title {
        font-size: 2rem !important;      /* 32px */
        line-height: 1.2em !important;
    }

    h4, h4.elementor-heading-title {
        font-size: 1.5rem !important;    /* 24px */
        line-height: 1.25em !important;
    }

    h5, h5.elementor-heading-title {
        font-size: 1.125rem !important;  /* 18px */
        line-height: 1.35em !important;
    }

    h6, h6.elementor-heading-title {
        font-size: 1rem !important;      /* 16px */
        line-height: 1.4em !important;
    }
}

/* Mobile - 767px and below */
@media (max-width: 767px) {
    .callout p, .callout {
        font-size: 1.25rem !important;   /* 24px */
        line-height: 1.1em !important;
    }

    h1, h1.elementor-heading-title {
        font-size: 2.25rem !important;   /* 36px */
        line-height: 1.2em !important;
    }

    h2, h2.elementor-heading-title {
        font-size: 1.875rem !important;  /* 30px */
        line-height: 1.2em !important;
    }

    h3, h3.elementor-heading-title {
        font-size: 1.5rem !important;    /* 24px */
        line-height: 1.25em !important;
    }

    h4, h4.elementor-heading-title {
        font-size: 1.25rem !important;   /* 20px */
        line-height: 1.3em !important;
    }

    h5, h5.elementor-heading-title {
        font-size: 1.125rem !important;  /* 18px */
        line-height: 1.35em !important;
    }

    h6, h6.elementor-heading-title {
        font-size: 1rem !important;      /* 16px */
        line-height: 1.4em !important;
    }

    /* Make buttons 100% width on mobile */
    .elementor-widget-button, .elementor-widget-button .elementor-button, .elementor-widget-button .elementor-button.elementor-button-link {
        width:100%;
    }

    .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item.elementor-inline-item {
        padding:8px 0;
    }

    .icon-stats .elementor-counter {
        max-width:200px;
    }

    .icon-stats .elementor-counter>.elementor-counter-number-wrapper>.elementor-counter-number {
        font-size: 68px !important;
        margin-top: 10px;
    }


    .footer-details p {
        font-size:12px !important;
        max-width: 240px;
        margin:auto;
    }




    .iar-ad.iar-ad--md-rectangle {
        margin: 15px 0;
    }
}
