/*!
Theme Name: smartegroup
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: smartegroup
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

smartegroup is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

@import url('https://fonts.googleapis.com/css2?family=Geist:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Instrument+Sans:ital,wght@0,400..700;1,400..700&display=swap');

@font-face {
  font-family: "Source Sans Pro semibold";
  src: url("SourceSansPro-Semibold.otf") format("opentype");
}

@font-face {
  font-family: "Source Sans Pro bold";
  src: url("SourceSansPro-Bold.otf") format("opentype");
}

.container,
.container-lg,
.container-md,
.container-sm,
.container-xl {
  max-width: 1320px !important;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
  font-family: "Source Sans 3", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 150%;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 0.8rem;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 0.75rem;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.15;
  margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  font-size: 1rem;
  /* base: 1rem = 16px */
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
  color: #404040;
  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu,
    Cantarell, "Helvetica Neue", sans-serif;
  font-size: 1rem;
  line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
}

p {
  margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", courier, monospace;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code,
kbd,
tt,
var {
  font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark,
ins {
  background: #fff9c0;
  text-decoration: none;
}

big {
  font-size: 1.25rem;
}

/* Elements
--------------------------------------------- */
body {
  background: #fff;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

ul,
ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li>ul,
li>ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 700;
}

dd {
  margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

img {
  height: auto;
  max-width: 100%;
}

figure {
  margin: 1em 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/* Links
--------------------------------------------- */
a {
  color: #4169e1;
}

a:visited {
  color: #800080;
}

a:hover,
a:focus,
a:active {
  color: #191970;
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
  border: 1px solid;
  border-color: #ccc #ccc #bbb;
  border-radius: 3px;
  background: #e6e6e6;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1;
  padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
  border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
  border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
  color: #666;
  border: 1px solid #ccc;
  border-radius: 3px;
  padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
  color: #111;
}

select {
  border: 1px solid #ccc;
}

textarea {
  width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
  display: block;
  width: 100%;
}

.main-navigation ul {
  display: none;
  list-style: none;
  margin: 0;
  padding-left: 0;
}

.main-navigation ul ul {
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
  float: left;
  position: absolute;
  top: 100%;
  left: -999em;
  z-index: 99999;
}

.main-navigation ul ul ul {
  left: -999em;
  top: 0;
}

.main-navigation ul ul li:hover>ul,
.main-navigation ul ul li.focus>ul {
  display: block;
  left: auto;
}

.main-navigation ul ul a {
  width: 200px;
}

.main-navigation ul li:hover>ul,
.main-navigation ul li.focus>ul {
  left: auto;
}

.main-navigation li {
  position: relative;
}

.main-navigation a {
  display: block;
  text-decoration: none;
}
ul.dropdown-menu.border-0.shadow-sm.show {
    background: #FAFAFA;
    border-radius: 10px;
border: 0.5px solid #E4E7EA !important;
    box-shadow: 0px 22px 21px -56px #00000033 !important;
    width: 200px;
    margin-top: 32px;
    padding: 15px;
}
/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }

  .main-navigation ul {
    display: flex;
  }
}

.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
  margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
  display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
  flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
  text-align: end;
  flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
  display: block;
}

.post,
.page {
  margin: 0 0 1.5em;
}

.updated:not(.published) {
  display: none;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 1.5em 0 0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
  margin: 0 0 1.5em;
}

.widget select {
  max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
  display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.wp-caption-text {
  text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
  margin-bottom: 1.5em;
  display: grid;
  grid-gap: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  width: 100%;
}

.gallery-columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
  grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
  grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
  grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
  grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
  grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
  grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
  grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
  display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  clip-path: none;
  color: #21759b;
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
  outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
  /*rtl:ignore*/
  float: left;

  /*rtl:ignore*/
  margin-right: 1.5em;
  margin-bottom: 1.5em;
}

.alignright {
  /*rtl:ignore*/
  float: right;

  /*rtl:ignore*/
  margin-left: 1.5em;
  margin-bottom: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5em;
}

/* ============================================================
   Smarte Group – Theme Custom Styles
   ============================================================ */

/* ── Typography ── */
body {
  font-family: "Source Sans 3";
  margin: 0 !important;
  padding: 0 !important;
}

/* Subtle CTA hover — scope: `teaser-section` (partners / Partner With Us block) */
.teaser-section .elementor-widget-button .elementor-button.elementor-size-sm,
.teaser-section .elementor-widget-button .elementor-button {
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    filter 0.2s ease;
}

.teaser-section .elementor-widget-button .elementor-button.elementor-size-sm:hover,
.teaser-section .elementor-widget-button .elementor-button.elementor-size-sm:focus-visible,
.teaser-section .elementor-widget-button .elementor-button:hover,
.teaser-section .elementor-widget-button .elementor-button:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.14);
  filter: saturate(1.03);
}

@media (prefers-reduced-motion: reduce) {

  .teaser-section .elementor-widget-button .elementor-button.elementor-size-sm,
  .teaser-section .elementor-widget-button .elementor-button {
    transition: none;
  }

  .teaser-section .elementor-widget-button .elementor-button.elementor-size-sm:hover,
  .teaser-section .elementor-widget-button .elementor-button.elementor-size-sm:focus-visible,
  .teaser-section .elementor-widget-button .elementor-button:hover,
  .teaser-section .elementor-widget-button .elementor-button:focus-visible {
    transform: none;
    box-shadow: none;
    filter: none;
  }
}

/* ============================================================
   Section scroll reveals — scope matches js/main.js
   Elementor section CSS classes: hero-section, tag-text-img-section,
   text-tile-preset-section, teaser-section, text-slide-marque-section,
   item-list-slide-section. Above-the-fold: no hide; below: fade up.
   ============================================================ */
@media (prefers-reduced-motion: no-preference) {

  .hero-section.sg-section--pending-reveal .e-con-inner>.elementor-element,
  .tag-text-img-section.sg-section--pending-reveal .e-con-inner>.elementor-element,
  .text-tile-preset-section.sg-section--pending-reveal .e-con-inner>.elementor-element,
  .teaser-section.sg-section--pending-reveal .e-con-inner>.elementor-element,
  .text-slide-marque-section.sg-section--pending-reveal .e-con-inner>.elementor-element,
  .item-list-slide-section.sg-section--pending-reveal .e-con-inner>.elementor-element {
    opacity: 0;
    transform: translateY(20px);
    will-change: opacity, transform;
  }

  .hero-section.sg-section--inview .e-con-inner>.elementor-element,
  .tag-text-img-section.sg-section--inview .e-con-inner>.elementor-element,
  .text-tile-preset-section.sg-section--inview .e-con-inner>.elementor-element,
  .teaser-section.sg-section--inview .e-con-inner>.elementor-element,
  .text-slide-marque-section.sg-section--inview .e-con-inner>.elementor-element,
  .item-list-slide-section.sg-section--inview .e-con-inner>.elementor-element {
    opacity: 1;
    transform: translateY(0);
    transition:
      opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .hero-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(1),
  .tag-text-img-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(1),
  .text-tile-preset-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(1),
  .teaser-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(1),
  .text-slide-marque-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(1),
  .item-list-slide-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(1) {
    transition-delay: 0ms;
  }

  .hero-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(2),
  .tag-text-img-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(2),
  .text-tile-preset-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(2),
  .teaser-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(2),
  .text-slide-marque-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(2),
  .item-list-slide-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(2) {
    transition-delay: 55ms;
  }

  .hero-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(3),
  .tag-text-img-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(3),
  .text-tile-preset-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(3),
  .teaser-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(3),
  .text-slide-marque-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(3),
  .item-list-slide-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(3) {
    transition-delay: 110ms;
  }

  .hero-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(4),
  .tag-text-img-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(4),
  .text-tile-preset-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(4),
  .teaser-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(4),
  .text-slide-marque-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(4),
  .item-list-slide-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(4) {
    transition-delay: 165ms;
  }

  .hero-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(5),
  .tag-text-img-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(5),
  .text-tile-preset-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(5),
  .teaser-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(5),
  .text-slide-marque-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(5),
  .item-list-slide-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(5) {
    transition-delay: 220ms;
  }

  .hero-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(6),
  .tag-text-img-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(6),
  .text-tile-preset-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(6),
  .teaser-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(6),
  .text-slide-marque-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(6),
  .item-list-slide-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(6) {
    transition-delay: 275ms;
  }

  .hero-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(7),
  .tag-text-img-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(7),
  .text-tile-preset-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(7),
  .teaser-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(7),
  .text-slide-marque-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(7),
  .item-list-slide-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(7) {
    transition-delay: 330ms;
  }

  .hero-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(8),
  .tag-text-img-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(8),
  .text-tile-preset-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(8),
  .teaser-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(8),
  .text-slide-marque-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(8),
  .item-list-slide-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(8) {
    transition-delay: 385ms;
  }

  .hero-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(n + 9),
  .tag-text-img-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(n + 9),
  .text-tile-preset-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(n + 9),
  .teaser-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(n + 9),
  .text-slide-marque-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(n + 9),
  .item-list-slide-section.sg-section--inview .e-con-inner>.elementor-element:nth-child(n + 9) {
    transition-delay: 440ms;
  }
}

/* ── Skip-to-content link (ADA) ── */
.skip-link {
  position: absolute;
  top: -100%;
  left: 1rem;
  z-index: 9999;
  padding: 0.5rem 1rem;
  background: #f5a800;
  color: #1a1a1a;
  font-weight: 600;
  border-radius: 0 0 4px 4px;
  transition: top 0.15s;
}

.skip-link:focus {
  top: 0;
}
/* ── Restore focus indicators — WCAG 2.4.7 ──────────── */

/* Global rule for all interactive elements */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible,
[role="link"]:focus-visible,
[role="menuitem"]:focus-visible {
  outline: 2px solid #23479B !important;
  outline-offset: 3px !important;
  box-shadow: none !important; /* remove Bootstrap's substitute */
}

/* ── Nav links ───────────────────────────────────────── */
.navbar-nav .nav-link:focus-visible,
.dropdown-item:focus-visible {
  outline: 2px solid #23479B !important;
  outline-offset: 3px !important;
  border-radius: 3px;
}

/* ── Buttons ─────────────────────────────────────────── */
.btn:focus-visible,
button:focus-visible {
  outline: 2px solid #23479B !important;
  outline-offset: 3px !important;
  box-shadow: none !important;
}

/* ── Footer links ────────────────────────────────────── */
.sg-footer a:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 3px !important;
}

/* ── On dark/navy backgrounds — switch to white outline ─ */
.sg-whoweare-navy a:focus-visible,
.sg-whoweare-navy button:focus-visible,
.hero-section a:focus-visible,
.hero-section button:focus-visible,
.w-hero-section a:focus-visible,
.w-hero-section button:focus-visible {
  outline: 2px solid #ffffff !important;
  outline-offset: 3px !important;
}

/* ── Never strip focus from keyboard users ───────────── */
/* Override Bootstrap's removal */
*:focus:not(:focus-visible) {
  outline: none !important; /* mouse clicks — intentionally no ring */
}

*:focus-visible {
  outline: 2px solid #23479B !important;
  outline-offset: 3px !important;
}
/* ============================================================
   CONTACT POPUP
   ============================================================ */
.sg-contact-modal {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
  align-items: center;
  justify-content: center;
}
.modal-title {
    font-size: 1.5rem;
    font-weight: 600;
    color: #000;
}
.sg-contact-modal.is-open {
  display: flex;
}

.sg-contact-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.55);
  cursor: pointer;
}

.sg-contact-modal__box {
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 0.75rem;
  width: min(96vw, 640px);
  height: min(90vh, 720px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 2rem 4rem rgba(0, 0, 0, 0.25);
}

.sg-contact-modal__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
  background: #fff;
  border: none;
  border-radius: 50%;
  width: 2rem;
  height: 2rem;
  font-size: 1rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.sg-contact-modal__iframe {
  flex: 1;
  width: 100%;
  height: 100%;
  border: none;
  display: block;
      padding: 0 25px 20px;
    background: #F4F8FF;
}
.modal-header {
    padding: 10px 20px !important;
    position: relative;
}
/* ============================================================
   HEADER
   ============================================================ */
header nav {
  padding: 20px 0 !important;
}

.sg-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
}

.sg-header .navbar-brand img,
.sg-header .navbar-brand .custom-logo {
  height: 40px;
  width: auto;
}

/* Logo sizing + alignment per mobile/tablet designs */
@media (max-width: 1024.98px) {

  .sg-header .navbar .container-xl,
  .g-header .navbar .container-xl {
    justify-content: space-between;
    flex-wrap: wrap;
  }

  ul#primary-menu {
    gap: 0;
    flex-direction: column;
    align-items: stretch !important;
    padding: 20px 0 28px;
    width: 100%;
  }

  .sg-header .navbar-brand,
  .g-header .navbar-brand,
  .sg-header .custom-logo-link,
  .g-header .custom-logo-link {
    margin-right: auto;
    margin-left: 0;
  }

  .sg-header .navbar-brand img,
  .sg-header .navbar-brand .custom-logo,
  .g-header .navbar-brand img,
  .g-header .navbar-brand .custom-logo {
    height: 27px;
  }
}

/* --- Mobile nav toggler (match pen design) --- */
.sg-header .navbar-toggler,
.g-header .navbar-toggler {
  width: 54px;
  height: 25px;
  padding: 0;
  align-items: center;
  justify-content: center;
  background: transparent;
}

.sg-header .navbar-toggler:focus,
.g-header .navbar-toggler:focus {
  box-shadow: none;
}

.sg-header .navbar-toggler:hover,
.sg-header .navbar-toggler:active,
.sg-header .navbar-toggler:focus,
.sg-header .navbar-toggler[aria-expanded="true"],
.g-header .navbar-toggler:hover,
.g-header .navbar-toggler:active,
.g-header .navbar-toggler:focus,
.g-header .navbar-toggler[aria-expanded="true"] {
  background: transparent;
}

/* Only show hamburger on mobile/tablet (navbar-expand-lg breakpoint) */
@media (max-width: 1024.98px) {

  .sg-header .navbar-toggler,
  .g-header .navbar-toggler {
    display: inline-flex;
  }
}

@media (min-width: 992px) {

  .sg-header .navbar-toggler,
  .g-header .navbar-toggler {
    display: none;
  }
}

/* Exact mobile icon from design: 24x24, short-long-short, blue */
.sg-header .sg-menu-icon,
.g-header .sg-menu-icon {
  width: 24px;
  height: 24px;
  display: inline-block;
  position: relative;
}

.sg-header .sg-menu-icon>span,
.g-header .sg-menu-icon>span {
  position: absolute;
  height: 2px;
  background: #23479b;
  border-radius: 999px;
  transform-origin: center;
  transition:
    transform 0.2s ease,
    top 0.2s ease,
    width 0.2s ease,
    opacity 0.2s ease,
    left 0.2s ease;
}

.sg-header .sg-menu-icon>span:nth-child(2),
.g-header .sg-menu-icon>span:nth-child(2) {
  width: 14px;
  /* long */
  left: 5px;
  top: 10.5px;
}

.sg-header .sg-menu-icon>span:nth-child(1),
.g-header .sg-menu-icon>span:nth-child(1) {
  width: 7px;
  /* short */
  left: 5px;
  /* left aligned */
  top: 6.5px;
}

.sg-header .sg-menu-icon>span:nth-child(3),
.g-header .sg-menu-icon>span:nth-child(3) {
  width: 7px;
  /* short */
  left: 12px;
  /* right aligned (5 + 14 - 7) */
  top: 14.5px;
}

/* Animate to X when menu is open */
.sg-header .navbar-toggler[aria-expanded="true"] .sg-menu-icon>span:nth-child(2),
.g-header .navbar-toggler[aria-expanded="true"] .sg-menu-icon>span:nth-child(2) {
  opacity: 0;
}

.sg-header .navbar-toggler[aria-expanded="true"] .sg-menu-icon>span:nth-child(1),
.sg-header .navbar-toggler[aria-expanded="true"] .sg-menu-icon>span:nth-child(3),
.g-header .navbar-toggler[aria-expanded="true"] .sg-menu-icon>span:nth-child(1),
.g-header .navbar-toggler[aria-expanded="true"] .sg-menu-icon>span:nth-child(3) {
  width: 14px;
  left: 5px;
  top: 10.5px;
}

.sg-header .navbar-toggler[aria-expanded="true"] .sg-menu-icon>span:nth-child(1),
.g-header .navbar-toggler[aria-expanded="true"] .sg-menu-icon>span:nth-child(1) {
  transform: rotate(45deg);
}

.sg-header .navbar-toggler[aria-expanded="true"] .sg-menu-icon>span:nth-child(3),
.g-header .navbar-toggler[aria-expanded="true"] .sg-menu-icon>span:nth-child(3) {
  transform: rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
}
@media (min-width: 1025px) {
  #primary-menu .dropdown:hover > .dropdown-menu {
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* One parent button wraps title + chevron; submenu is absolutely positioned */
  #primary-menu .nav-item.dropdown {
    position: relative;
    display: flex;
    align-items: center;
  }

  #primary-menu .sg-nav-parent-toggle {
    gap: 6px;
    width: auto;
    max-width: 100%;
    cursor: pointer;
  }

  #primary-menu .sg-nav-parent-chevron {
    display: inline-block;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    background: url('./images/arrow-down.png') no-repeat center center;
    pointer-events: none;
    transition: transform 0.25s ease;
  }

  #primary-menu .dropdown .dropdown-menu {
    margin-top: 0;
    position: absolute;
    top: calc(100% + 32px);
    padding: 8px;
    border: 0.5px solid #e4e7ea !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.12);
    width: 325px;
    max-width: min(325px, 90vw);
    border-radius: 12px;
  }

  /* Hover bridge between trigger row and panel */
  #primary-menu .dropdown .dropdown-menu::before {
    content: '';
    position: absolute;
    top: -32px;
    left: 0;
    right: 0;
    height: 32px;
  }

  #primary-menu .nav-item:last-child .dropdown-menu[data-bs-popper] {
    left: auto;
    right: 0;
  }
}

  .sg-header .sg-menu-icon>span,
  .g-header .sg-menu-icon>span {
    transition: none;
  }
.dropdown-toggle::after {
    display: none;
}

/* Rotate chevron when open (desktop + mobile) */
#primary-menu .sg-nav-parent-toggle[aria-expanded='true'] .sg-nav-parent-chevron,
#primary-menu .nav-item.dropdown.show .sg-nav-parent-chevron {
  transform: rotate(180deg);
}

#primary-menu .sg-nav-parent-text {
  pointer-events: none;
}

@media (max-width: 1024.98px) {
  #primary-menu .sg-nav-parent-toggle {
    width: 100%;
    cursor: pointer;
    min-height: 48px;
    box-sizing: border-box;
    padding: 12px 0 !important;
    align-items: center;
    flex-wrap: nowrap;
  }

  #primary-menu .sg-nav-parent-text {
    flex: 1 1 auto;
    text-align: left;
  }

  #primary-menu .sg-nav-parent-chevron {
    display: inline-block;
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    background: url('./images/arrow-down.png') no-repeat center center;
    transition: transform 0.3s ease-in-out;
  }

  #primary-menu .nav-item.dropdown {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    gap: 0.5rem;
    position: relative;
    row-gap: 0;
  }

  #primary-menu .nav-item.dropdown > .dropdown-menu {
    flex: 1 1 100%;
    order: 3;
  }
}

/* Mobile drawer: list rhythm, separators, submenu card (matches header breakpoint) */
@media (max-width: 1024.98px) {
  #primary-menu.navbar-nav {
    width: 100%;
  }

  #primary-menu > .nav-item {
    width: 100%;
    border-bottom: 1px solid rgba(53, 58, 64, 0.1);
  }

  #primary-menu > .nav-item:last-child {
    border-bottom: none;
  }

  #primary-menu > .nav-item:not(.dropdown) > .nav-link {
    padding: 16px 0 !important;
    min-height: 48px;
    box-sizing: border-box;
    align-items: center;
  }

  #primary-menu .nav-item.dropdown.show > .dropdown-menu,
  #primary-menu ul.dropdown-menu.border-0.shadow-sm {
    width: 100% !important;
    max-width: 100%;
    margin: 10px 0 16px !important;
    padding: 10px 12px 12px !important;
    border-radius: 12px;
    border: 0.5px solid #e4e7ea !important;
    background: rgba(248, 249, 251, 0.98);
    box-shadow: none !important;
    position: static !important;
    float: none !important;
    transform: none !important;
    top: auto !important;
    left: auto !important;
  }

  #primary-menu .dropdown-menu .dropdown-item {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center;
    width: 100% !important;
    box-sizing: border-box;
    padding: 12px 14px !important;
    margin: 0 0 6px !important;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.25;
    border-radius: 8px;
    text-align: left;
  }

  #primary-menu .dropdown-menu li:last-child .dropdown-item {
    margin-bottom: 0 !important;
  }
}
/* .dropdown-toggle::after {
    border:none;
           background: url(./images/arrow-down.png) no-repeat center;
    width: 16px;
    height: 16px;
        margin: 0px;
        transition: transform 0.3s ease-in-out;
        display: inline-block; 
    vertical-align: middle;
} */
/* .dropdown-toggle.show::after{
      transform: rotate(180deg);
} */
.sg-header .nav-link {
  color: #353a40;
  font-size: 1.063rem;
  font-family: "Source Sans 3", sans-serif;
  padding: 0 !important;
      display: flex;
    align-items: center;
    gap: 0.25rem;
}

ul#primary-menu {
  gap: 32px;
}

nav .container-xl {
  padding: 0;
}

.sg-header .nav-link:hover,
.sg-header .nav-link:focus {
  color: #f5a800;
}

.sg-header .nav-link.active {
  color: #23479b;
}

.sg-header .dropdown-item {
    color: #000;
    font-size: 1.063rem;
    font-family: "Source Sans 3", sans-serif;
    /* display: flex; */
    align-items: center;
    gap: 0.25rem;
    font-weight: 500;
    line-height: 100%;
    padding:  10px 12px !important;
        margin-bottom: 4px;
    border-radius: 8px;
        /* justify-content: center; */
         display: inline-flex;
}

.sg-header .dropdown-item:hover,
.sg-header .dropdown-item:focus {
  background-color: rgba(241, 241, 246, 1);
  /* color: #f5a800; */
}
.sg-header .dropdown-item:after{
  content: '';
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  opacity: 0;
  transition: opacity 0.2s ease;
  background-image: url('./images/arrow-right.svg');
  background-repeat: no-repeat;
  background-size: contain;
}
.sg-header .dropdown-item:hover::after {
  opacity: 1;
}
/* ============================================================
   FOOTER
   ============================================================ */
.bg-dark-charcoal {
  background-color: #2b2b2b;
}

footer.sg-footer {
  background: #252a2e;
  padding: 80px 0 70px;
}

footer .container-xl {
  padding: 0 !important;
}

.footer-nav li {
  margin-bottom: 12px !important;
}

.social-list {
  gap: 21px;
  display: flex;
  /* flex-direction: column; */
  margin: 0;
}

.sg-footer__tagline {
  font-size: 1rem;
  line-height: 150%;
  max-width: 20rem;
  color: #ffffffcc;
  margin: 0;
  font-family: "Geist", sans-serif;
}

.footer-top {
  padding-bottom: 40px;
  margin-bottom: 40px;
  /* border-bottom: 1px solid #FFFFFF33; */
  position: relative;
  align-items: center;
}

.footer-top:after {
  content: "";
  background: #ffffff33;
  position: absolute;
  width: calc(100% - 24px);
  height: 1px;
  bottom: 0;
  left: 11px;
}

.sg-footer__link {
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  transition: color 0.15s;
  font-family: 'Source Sans 3';
  /* font-family: "Inter", sans-serif; */
}

.sg-footer__link:visited,
.g-footer .sg-footer__link:visited,
.sg-footer .footer-nav a:visited,
.g-footer .footer-nav a:visited {
  color: #ffffff;
}

.sg-footer .footer-nav a:visited:hover,
.sg-footer .footer-nav a:visited:focus,
.g-footer .footer-nav a:visited:hover,
.g-footer .footer-nav a:visited:focus,
.sg-footer .sg-footer__link:visited:hover,
.sg-footer .sg-footer__link:visited:focus,
.g-footer .sg-footer__link:visited:hover,
.g-footer .sg-footer__link:visited:focus {
  color: #f5a800;
}

.sg-footer__link:hover,
.sg-footer__link:focus {
  color: #f5a800;
}

.footer-nav-wrap {
  display: flex;
  gap: 48px;
  justify-content: flex-end;
}

a.sg-footer__social-link svg {
  width: 24px;
  height: 24px;
  display: block !important;
}

.sg-footer__social-link:hover,
.sg-footer__social-link:focus {
  color: #f5a800;
  border-color: #f5a800;
  background-color: rgba(245, 168, 0, 0.08);
}

.sg-footer__copy {
  font-size: 0.875rem;
  color: #fff;
  font-weight: 400;
  margin: 0;
  font-family: "Instrument Sans", sans-serif;
}

.sg-footer__legal-link {
  color: #fff;
  font-size: 0.875rem;
  font-weight: 400;
  font-family: "Instrument Sans", sans-serif;
}

.sg-footer__legal-link:visited,
.g-footer .sg-footer__legal-link:visited,
.sg-footer nav[aria-label*="Legal"] a:visited,
.g-footer nav[aria-label*="Legal"] a:visited {
  color: #fff;
}

.legal-list {
  gap: 20px;
  margin-left: 0;
}

.sg-footer__legal-link:hover,
.sg-footer__legal-link:focus {
  color: rgba(255, 255, 255, 0.85);
}

.g-footer .legal-list a:hover,
.g-footer .legal-list a:focus,
.sg-footer .legal-list a:hover,
.sg-footer .legal-list a:focus {
  color: #f5a800;
}

/* Footer – mobile/tablet/desktop alignment fixes */
.sg-footer nav ul {
  margin-bottom: 0 !important;
  display: flex;
  gap: 12px;
}

@media (max-width: 767.98px) {
  .sg-footer {
    text-align: center;
  }

  /* Make footer columns full-width on mobile so centering works */
  .sg-footer .row.gy-4>[class*="col-6"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  /* Brand/logo + tagline (mobile design) */
  .sg-footer .col-12.col-md-5.col-lg-4 a {
    display: inline-block;
  }

  .sg-footer .col-12.col-md-5.col-lg-4 img {
    height: 38px !important;
    /* design ~37.68px */
    width: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block;
  }

  .sg-footer__tagline {
    max-width: 343px;
    margin-left: auto;
    margin-right: auto;
    font-size: 1rem;
    line-height: 1.5;
    color: rgba(255, 255, 255, 0.8) !important;
  }

  /* Footer links centered with correct spacing */
  .sg-footer nav[aria-label*="Footer"] ul {
    display: flex;
    flex-direction: column;
    align-items: center !important;
    gap: 20px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
  }

  .sg-footer nav[aria-label*="Footer"] .sg-footer__link {
    font-size: 1rem;
    font-weight: 500;
  }

  /* Social list should be a single row on mobile */
  .sg-footer .col-6.col-md-3.col-lg-2 ul,
  .sg-footer ul.list-unstyled.d-flex {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 8px !important;
    text-align: center;
    margin: 0;
  }
ul.list-unstyled.d-flex.flex-wrap.justify-content-md-end.legal-list {
    display: flex !important;
}
  .sg-footer .sg-footer__social-link {
    width: 44px;
    height: 44px;
  }

  /* Center legal menu on mobile */
  .sg-footer nav[aria-label*="Legal"] ul {
    justify-content: center !important;
    gap: 16px !important;
    row-gap: 12px !important;
  }
}
@media (max-width: 415px) {
.home-partner {
    max-width: 20rem !important;
}
}
@media (min-width: 768px) and (max-width: 991.98px) {

  /* Tablet: keep content aligned like design (brand left, socials right) */
  .sg-footer {
    text-align: left;
  }

  .sg-footer .row.gy-4 {
    align-items: flex-start;
  }

  .sg-footer .col-6.col-md-3.col-lg-2 ul {
    align-items: flex-end !important;
  }
}

/* ============================================================
   Utility overrides
   ============================================================ */
.text-white-75 {
  color: rgba(255, 255, 255, 0.75) !important;
}

/* Focus ring – visible but not distracting */
:focus-visible {
  outline: 2px solid #f5a800;
  outline-offset: 3px;
  border-radius: 2px;
}

.geist span.elementor-button-text {
  font-family: "Geist", sans-serif;
}

/* Adds a dark tint that disappears on hover */
.products {
    position: relative;
    transition: all 0.5s ease !important;
}

.products h2 {
    text-shadow: 2px 2px 6px rgba(0, 0, 0, 0.8);
    transition: opacity 0.6s ease;  /* smooth fade */
}

.products::after {
    content: '';
    position: absolute;
    width: 75%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(-90deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 45.19%, rgba(0, 0, 0, 0.6) 100%);
    z-index: -1;
    transition: opacity 0.6s ease;  /* smooth fade */
}

/* Fade out on hover instead of instant hide */
.products:hover::after {
    /* opacity: 0; */
}

.products:hover h2 {
    /* opacity: 0; */
}
/* 1. Set the initial position of the icon */
.button-effect .elementor-button-icon {
    transition: transform 0.3s ease-in-out !important;
    display: inline-block; /* Ensures transform works correctly */
}

/* 2. Move the icon to the right on hover */
.button-effect:hover .elementor-button-icon {
    transform: translateX(8px);
}
.quote-author {
    display: flex;
    align-items: center;
    gap: 1rem;
    line-height: 1;
}
.quote-icon{
  height:57px;
}
.hero-section{
      height: calc(100vh - 90px)!important;
      min-height: unset !important;
}
.home-deliver {
    background-position: top 1rem right 1rem !important;
}
@media (max-width:1024px){
  .hero-section{
      height: calc(100vh - 62px)!important;
}
}
/* ============================================================
   Industry card rows wrapper
   Add class "sg-grow-up"   to the FIRST row Elementor section
   Add class "sg-grow-down" to the SECOND row Elementor section
   ============================================================ */
.sg-industry-wrap {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  transform: translateZ(0);
  will-change: transform;
}

/* Remove Elementor's forced 950px min-height — let content determine section height */
.elementor-element-556a157 {
  min-height: 0 !important;
}

/* Mobile + tablet: slider layout is handled by JS (main.js applySliderLayout).
   This block only handles the grow-to-top visual effect and scrollbar hiding. */
@media (max-width: 991.98px) {

  /* Hide the scrollbar track (JS sets overflow-x:scroll) */
  .sg-industry-wrap::-webkit-scrollbar {
    height: 0 !important;
    display: none !important;
  }

  .sg-industry-wrap {
    scrollbar-width: none !important;
  }

  /* Undo desktop row min-height */
  .sg-grow-up,
  .sg-grow-down {
    min-height: unset !important;
  }

  /* Allow horizontal swipe on wrap and cards — prevents pan-y from winning */
  /* .sg-industry-wrap,
  .sg-industry-wrap>* {
    touch-action: pan-x !important;
  } */

  /* Cards: animate height for grow-to-top, disable translate */
  .sg-industry-card {
    transition: min-height 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
    transform: translateZ(0) !important;
    /* position: relative; */
  }

  /* Snapped card grows; others stay shorter so the grow reads clearly */
  .sg-industry-card:not(.sg-active) {
    min-height: 14rem !important;
  }

  .sg-industry-card.sg-active {
    min-height: 14rem !important;
  }

  .sg-industry-card.sg-active::after {
    transform: scaleX(1);
  }
}

/* Tablet (768–991): hover/focus grows cards like desktop; phones <768 rely on .sg-active only */
@media (min-width: 768px) and (max-width: 991.98px) {

  .sg-industry-wrap .sg-industry-card:hover,
  .sg-industry-wrap .sg-industry-card.sg-uw-hover,
  .sg-industry-wrap .sg-industry-card:focus-within {
    /* min-height: 22.625rem !important; */
  }
}

/* Desktop: fix both grid rows to exactly HOVER_HEIGHT so they never
   resize on hover. Elementor uses repeat(2,1fr) which sizes rows to
   content — overriding grid-template-rows with explicit px values
   locks the rows at 362px regardless of card min-height changes. */
@media (min-width: 992px) {
  .sg-industry-wrap {
    --sg-industry-hover-height: 22.625rem;
    --sg-industry-collapsed-height: 19rem;
    overflow-x: visible !important;
    overflow-y: visible !important;
    scroll-snap-type: none !important;
    grid-template-rows: repeat(2, var(--sg-industry-hover-height)) !important;
    grid-auto-rows: var(--sg-industry-hover-height) !important;
  }

  .sg-grow-up,
  .sg-grow-down {
    min-height: var(--sg-industry-hover-height) !important;
  }

  .sg-industry-card .elementor-widget-image img {
    width: 100% !important;
    height: 15rem !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: center;
  }

  /* Grow on hover / keyboard / touch press — all desktop widths (not only fine pointer) */
  .sg-grow-up .sg-industry-card {
    min-height: var(--sg-industry-collapsed-height) !important;
    align-self: end !important;
  }

  /* Fallback: some layouts don't include sg-grow-up/down wrappers */
  .sg-industry-wrap .sg-industry-card {
    min-height: var(--sg-industry-collapsed-height) !important;
  }

  .sg-grow-up .sg-industry-card:hover,
  .sg-grow-up .sg-industry-card.sg-uw-hover,
  .sg-grow-up .sg-industry-card:focus-within,
  .sg-grow-up .sg-industry-card:active {
    min-height: var(--sg-industry-hover-height) !important;
    align-self: stretch !important;
  }

  .sg-grow-down .sg-industry-card {
    min-height: var(--sg-industry-collapsed-height) !important;
    align-self: start !important;
  }

  .sg-grow-down .sg-industry-card:hover,
  .sg-grow-down .sg-industry-card.sg-uw-hover,
  .sg-grow-down .sg-industry-card:focus-within,
  .sg-grow-down .sg-industry-card:active {
    min-height: var(--sg-industry-hover-height) !important;
    align-self: stretch !important;
  }

  /* Same as backup: hover grow applies to every tile in the grid even when
     `.sg-grow-up` / `.sg-grow-down` sit on a different wrapper than expected.
     Row grow direction still comes from `.sg-grow-up` / `.sg-grow-down`
     margin + column rules above. */
  .sg-industry-wrap .sg-industry-card:hover,
  .sg-industry-wrap .sg-industry-card.sg-uw-hover,
  .sg-industry-wrap .sg-industry-card:focus-within,
  .sg-industry-wrap .sg-industry-card:active {
    /* min-height: var(--sg-industry-hover-height) !important; */
    align-self: stretch !important;
  }
}

/* Ultra-wide: scale row height with viewport so cards stay proportional.
   Collapsed height still remains below hover height to preserve grow behavior. */
@media (max-width: 1920px) {
  html {
    font-size: 1rem;
  }
}

@media (min-width: 2048px) {
  .elementor-element-556a157 .sg-industry-wrap {
    --sg-industry-hover-height: clamp(22.625rem, calc(12rem + 8vw), 32rem);
    --sg-industry-collapsed-height: clamp(18rem,
        calc(var(--sg-industry-hover-height) * 0.84),
        28rem);
    container-type: inline-size;
    container-name: sg-industry;
    grid-template-rows: repeat(2, var(--sg-industry-hover-height)) !important;
    grid-auto-rows: var(--sg-industry-hover-height) !important;
  }

  .elementor-element-556a157 .sg-grow-up,
  .elementor-element-556a157 .sg-grow-down {
    min-height: var(--sg-industry-hover-height) !important;
  }

  /* ~3rem total horizontal gap allowance across 4 columns */
  .elementor-element-556a157 .sg-industry-card .elementor-widget-image img {
    height: clamp(14rem,
        calc(var(--sg-industry-collapsed-height) - 4rem),
        23rem) !important;
  }

  .elementor-element-556a157 .sg-grow-up .sg-industry-card,
  .elementor-element-556a157 .sg-grow-down .sg-industry-card {
    min-height: var(--sg-industry-collapsed-height) !important;
  }

  /* Fallback for sections where cards are direct descendants */
  .elementor-element-556a157 .sg-industry-wrap .sg-industry-card {
    min-height: var(--sg-industry-collapsed-height) !important;
  }

  .elementor-element-556a157 .sg-grow-up .sg-industry-card:hover,
  .elementor-element-556a157 .sg-grow-up .sg-industry-card.sg-uw-hover,
  .elementor-element-556a157 .sg-grow-up .sg-industry-card:focus-within,
  .elementor-element-556a157 .sg-grow-up .sg-industry-card:active,
  .elementor-element-556a157 .sg-grow-down .sg-industry-card:hover,
  .elementor-element-556a157 .sg-grow-down .sg-industry-card.sg-uw-hover,
  .elementor-element-556a157 .sg-grow-down .sg-industry-card:focus-within,
  .elementor-element-556a157 .sg-grow-down .sg-industry-card:active,
  .elementor-element-556a157 .sg-industry-wrap .sg-industry-card:hover,
  .elementor-element-556a157 .sg-industry-wrap .sg-industry-card.sg-uw-hover,
  .elementor-element-556a157 .sg-industry-wrap .sg-industry-card:focus-within,
  .elementor-element-556a157 .sg-industry-wrap .sg-industry-card:active {
    /* min-height: var(--sg-industry-hover-height) !important; */
    align-self: stretch !important;
  }
}

/* Desktop: reduce whitespace on the Elementor wrapper (.e-con-inner) */
@media (min-width: 1025px) {
  .image-effect-wrap>.e-con-inner {
    padding-top: 80px !important;
    padding-bottom: 140px !important;
  }
}

@media (max-width: 1024px) {
  .image-effect-wrap>.e-con-inner {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
  }
}

@media (max-width: 991px) {
    .image-effect-wrap>.e-con-inner {
 padding-bottom: 45px !important;
}
.sg-industry-wrap {
    padding-bottom: 35px !important;
  }
}
@media (max-width: 768px) {
  .image-effect-wrap>.e-con-inner {
    padding-top: 68px !important;
    padding-bottom: 10px !important;
  }
}

/* ── Row 1: pre-allocate hover height so layout never shifts.
   margin-top:auto on every possible grid/flex item pushes cards
   to the BOTTOM — they grow upward into the reserved space above. ── */
.sg-grow-up .elementor-column,
.sg-grow-up .elementor-col-20,
.sg-grow-up .elementor-col-25,
.sg-grow-up .e-con>*,
.sg-grow-up .e-con-inner>* {
  margin-top: auto !important;
  align-self: end !important;
}

.sg-grow-up .elementor-widget-wrap {
  justify-content: flex-end !important;
  height: 100% !important;
}

.sg-grow-up .sg-industry-card {
  margin-top: auto !important;
}

/* ── Row 2: pre-allocate hover height so layout never shifts.
   Cards stay at the top and grow downward into the space below. ── */
.sg-grow-down .elementor-column,
.sg-grow-down .elementor-col-20,
.sg-grow-down .elementor-col-25,
.sg-grow-down .e-con>*,
.sg-grow-down .e-con-inner>* {
  margin-top: 0 !important;
  align-self: start !important;
}

.sg-grow-down .elementor-widget-wrap {
  justify-content: flex-start !important;
}

/* Prevent siblings from stretching in both rows */
.sg-industry-wrap .elementor-column,
.sg-industry-wrap .e-con>*,
.sg-industry-wrap .e-con-inner>* {
  height: auto !important;
}

/* ============================================================
   Industry card tiles — hover grow effect
   Usage: add CSS class "sg-industry-card" to each tile
   container in Elementor → Advanced → Additional CSS Classes
   ============================================================ */
.sg-industry-card {
  position: relative !important;
  overflow: hidden !important;
  /* cursor: pointer; */
  transition: min-height 0.35s cubic-bezier(0.4, 0, 0.2, 1) !important;
  transform: translateZ(0);
  will-change: min-height;
  backface-visibility: hidden;
  align-self: start !important;
  display: flex !important;
  flex-direction: column !important;
}

.sg-industry-card .elementor-widget-heading {
  margin-top: 0 !important;
  transition: margin-top 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Slider: snapped card always gets title shift. Phones (<768) have no hover rules below. */
.sg-industry-card.sg-active>.elementor-widget-heading {
  /* margin-top: auto !important; */
}

.sg-industry-card {
  box-shadow: 0px 68px 21px -56px #00000033;
}
.shadow:after{
  content:'';
  position: absolute;
   box-shadow: 0px 68px 21px -56px #00000033;
}
.shadow{
  position: relative;
}
@media (min-width: 768px) {

  .sg-industry-card:hover>.elementor-widget-heading,
  .sg-industry-card.sg-uw-hover>.elementor-widget-heading,
  .sg-industry-card:focus-within>.elementor-widget-heading {
    /* margin-top: auto !important; */
  }
}



.sg-industry-card .elementor-widget-heading .elementor-heading-title {
  white-space: nowrap !important;
  line-height: 1.2;
}

/* Gold bottom border reveal */

.sg-industry-card::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 5px;
  background: #f7b93a;
  transform: scaleX(1);
  transform-origin: left center;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 0 0 6px 6px;
  z-index: 2;
}

.sg-industry-card::before{
   content: "";
  position: absolute;
  width:75%;
  height:100%;
  left:0;
  top:0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%);

}
@media (min-width: 768px) {

  .sg-industry-card:hover::after,
  .sg-industry-card.sg-uw-hover::after,
  .sg-industry-card:focus-within::after {
    /* transform: scaleX(1); */
  }
}

/* ============================================================
   Item List Slide section — mobile/tablet slider
   JS (applyItemSliderLayout) drives the layout; this block
   only hides the scrollbar and sets touch-action.
   ============================================================ */
@media (max-width: 991.98px) {
  .item-list-slide-section-slide>.e-con-inner::-webkit-scrollbar {
    height: 0 !important;
    display: none !important;
  }

  .item-list-slide-section-slide>.e-con-inner {
    scrollbar-width: none !important;
  }

  /* Elementor column padding often indents the track — align first slide with content edge */
  .item-list-slide-section .item-list-slide-section-slide.elementor-element {
    padding-inline-start: 0 !important;
    margin-inline-start: 0 !important;
  }

  .elementor-element-556a157 .elementor-element.sg-industry-wrap {
    padding-inline-start: 0 !important;
    margin-inline-start: 0 !important;
  }

  .sg-industry-wrap .sg-industry-card .elementor-widget-image img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: unset !important;
    object-position: center;
    display: block;
  }

  /* .item-list-slide-section-slide>.e-con-inner,
  .item-list-slide-section-slide>.e-con-inner>* {
    touch-action: pan-x !important;
  } */
}

/* Desktop / ultra-wide: item row is NOT a slider — tiles wrap; images keep intrinsic aspect ratio */
@media (min-width: 992px) {
  .item-list-slide-section-slide>.e-con-inner {
    /* flex-wrap: wrap !important; */
    overflow-x: visible !important;
    overflow-y: visible !important;
    scroll-snap-type: none !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
  }

 

  .item-list-slide-section-slide .elementor-widget-image img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: unset !important;
    object-position: center;
    display: block;
  }
}
@media (min-width: 1024px) {
 .item-list-slide-section-slide>.e-con-inner>* {
    flex: 1 1 17% !important;
    min-width: 11.25rem !important;
    max-width: none !important;
    min-height: 15rem !important;
    box-sizing: border-box !important;
  }
}
@media (min-width: 2048px) {
  .item-list-slide-section-slide>.e-con-inner>* {
    min-height: 17rem !important;
  }

  .home-glance {
    padding-left: 7rem!important;
    padding-right: 7rem!important;
}
.home-deliver {
    background-position: top 2rem right 2rem !important;
}
}
.nav-link:focus-visible {
    box-shadow: none!important;
}
@media (min-width: 1366px) and (max-width: 1760px) {
.home-deliver {
    background-position: top 6rem right 1rem !important;
    background-size: 28em auto !important;
}
}
@media (max-width: 1366px) {
.home-deliver {
    background-size: 28em auto !important;
}
}
@media (max-width: 1024px) {
    .home-deliver {
        background-size: 22em auto !important;
    }
}
@media (max-width: 768px) {
    .home-deliver {
        background-size: 18em auto !important;
    }
}
@media (max-width: 600px) {
    .home-deliver {
        background-size: 12em auto !important;
        background-position: top 10px right 10px !important;
    }
}
@media (max-width: 480px) {
    .home-deliver {
        background-size: 10em auto !important;
    }
}
@media (min-width: 2560px) {
  
  .home-glance {
    padding-left: 12rem!important;
    padding-right: 12rem!important;
}
  .hero-tittle.leader-hero {
    max-width: 65rem !important;
}
  .item-list-slide-section-slide>.e-con-inner>* {
    min-height: 19rem !important;
  }

}

@media (min-width: 3840px) {
  .home-glance {
    padding-left: 15rem!important;
    padding-right: 15rem!important;
}
  .item-list-slide-section-slide>.e-con-inner>* {
    min-height: 21rem !important;
  }

}
@media (max-width: 1024px) {
 .item-list-slide-section-slide>.e-con-inner>* {
    flex: 1 1 17% !important;
    min-width: auto !important;
    max-width: none !important;
    min-height: 15rem !important;
    box-sizing: border-box !important;
  }
}

/* Slider mode (≤991): JS sets slide widths — images keep natural aspect ratio */
@media (max-width: 991.98px) {
  .item-list-slide-section-slide > .e-con-inner > * {
    flex: 0 0 auto !important;
    align-self: flex-start !important;
  }

  .item-list-slide-section-slide .elementor-widget-image img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: unset !important;
    object-position: center;
    display: block;
  }

  /*
   * Tablet product slider: image band matches desktop tile (12rem × full tile width).
   * Phone (<768) keeps intrinsic ratio above.
   */
  @media (min-width: 768px) {
    .item-list-slide-section-slide .elementor-widget-image img {
      height: 12rem !important;
      max-height: none !important;
      aspect-ratio: auto !important;
      object-fit: cover !important;
      object-position: center;
    }
  }
}
/* ============================================================
   Logo Marquee
   ============================================================ */
.sg-logo-marquee {
  width: 100%;
  overflow: hidden;
  padding: 24px 0 0;
  background: #ffffff;
  position: relative;
  --sg-logo-gap: 24px;
}

.sg-logo-marquee::before,
.sg-logo-marquee::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 160px;
  z-index: 2;
  pointer-events: none;
}

.sg-logo-marquee::before {
  left: 0;
  background: linear-gradient(to right, #ffffff, transparent);
}

.sg-logo-marquee::after {
  right: 0;
  background: linear-gradient(to left, #ffffff, transparent);
}

.sg-logo-marquee-content {
  display: flex;
  align-items: center;
  gap: var(--sg-logo-gap);
  width: max-content;
  animation: sg-marquee-scroll 45s linear infinite;
  will-change: transform;
}

.sg-logo-marquee-item {
  flex: 0 0 auto;
  width: 190px;
  height: 90px;
  margin: 0;
  /* border-radius: 10px; */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px;
  overflow: hidden;
}

.sg-logo-marquee-item img {
  max-width: 100%;
  max-height: 100%;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain;
}

@keyframes sg-marquee-scroll {
  0% {
    transform: translateX(0);
  }

  100% {
    transform: translateX(-25%);
  }
}

/* Pause animation on hover */
.sg-logo-marquee:hover .sg-logo-marquee-content {
  animation-play-state: paused;
}

/* responsive */
@media (min-width: 1025px) {
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
  }

  .navbar-expand-lg .navbar-toggler {
    display: none !important;
  }
}

@media (max-width: 1366px) {

  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  footer .container-xl {
    padding: 0 40px !important;
    max-width: 100% !important;
  }

  .e-parent>.e-con-inner {
    max-width: 100% !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
  }
}
@media (max-width: 1200px) {
.item-list-slide-section-title.home-products h2.elementor-heading-title{
     font-size: 2.6rem!important;
}
}
  .dropdown-item.active, .dropdown-item:active {
    background-color: transparent!important;
}
@media (max-width: 1024px) {
  .no-br-tab h2 br {
    display: none;
  }
    

  /* Opening/closing submenu on tablet/mobile: #primary-menu rules above */

.sg-header .nav-link {
    font-size: 18px;
}
  .sg-logo-marquee {
    padding: 20px 0 0;
    --sg-logo-gap: 16px;
  }

  .sg-logo-marquee-item {
    width: 125px;
    height: 65px;
  }

  .navbar-expand-lg .navbar-collapse {
    display: none !important;
    flex-basis: 100%;
  }

  .navbar-expand-lg .navbar-collapse.show {
        display: block !important;
        position: absolute;
        width: 100%;
        left: 0;
        top: 60px;
        background: rgb(255 255 255 / 95%);
        padding: 0 40px;
        height: calc(100vh - 60px);
        max-height: calc(100vh - 60px);
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
  }
  .navbar-expand-lg .navbar-toggler {
    display: block !important;
  }

  header nav {
    padding: 16px 0 !important;
  }

  .navbar-brand {
    padding: 0;
    margin: 0;
  }

  .sg-header .navbar-brand img,
  .sg-header .navbar-brand .custom-logo {
    height: 26px;
  }

  footer.sg-footer {
    padding: 60px 0;
  }

  .sg-footer__tagline {
    font-size: 0.8125rem;
    max-width: 300px;
  }

  .sg-footer__link {
    font-size: 0.8125rem;
  }

  .footer-nav-wrap {
    gap: 30px;
  }

  a.sg-footer__social-link svg {
    width: 20px;
    height: 20px;
  }

  .social-list {
    gap: 18px;
  }

  .footer-top {
    padding-bottom: 32px;
    margin-bottom: 32px;
  }

  .sg-footer__copy {
    font-size: 0.6875rem;
  }

  .sg-footer__legal-link {
    font-size: 0.6875rem;
  }

  .legal-list {
    gap: 8px;
  }
}

@media (max-width: 768px) {}

@media (max-width: 767.98px) {
  .no-br-mob h2 br{
display:none;
  }
  .sg-whoweare-navy__col-image {
    background: none !important;
}
  .footer-nav li {
    margin-bottom: 0px !important;
  }

  .social-list {
    gap: 32px;
    display: flex;
    flex-direction: row;
    margin: 0;
    justify-content: center;
  }

  .sg-footer__copy {
    margin-bottom: 20px;
  }

  .sg-logo-marquee-item {
    width: 180px;
    height: 80px;
    padding: 5px;
  }

  .sg-logo-marquee {
    padding: 14px 0 0;
    --sg-logo-gap: 12px;
  }

  .footer-nav-wrap {
    flex-direction: column;
    gap: 35px;
    justify-content: center;
  }
}

@media (max-width: 600px) {
 .navbar-expand-lg .navbar-collapse.show {

             padding: 0 16px 50px;
        height: auto;
 }
  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  footer .container-xl {
    padding: 0 16px !important;
  }

  .e-parent>.e-con-inner {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}



@media (min-width: 2048px) {
  html {
    font-size: 1.1875rem;
  }

  main.site-main,
  main.sg-blank-page {
    font-size: 1.08rem;
  }

  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  footer .container-xl,
  nav .container-xl {
    max-width: 94rem !important;
  }

  .e-con>.e-con-inner {
    max-width: 94rem !important;
  }

  .sg-header .nav-link {
    font-size: 1.125rem;
  }

  .sg-header .dropdown-item {
    font-size: 1.0625rem;
  }

  .tag-text-img-section .elementor-widget-heading p.elementor-heading-title,
  .text-tile-preset-section .elementor-widget-heading p.elementor-heading-title,
  .teaser-section .elementor-widget-heading p.elementor-heading-title,
  .text-slide-marque-section .elementor-widget-heading p.elementor-heading-title,
  .item-list-slide-section .elementor-widget-heading p.elementor-heading-title {
    font-size: 0.92rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
  }

  .tag-text-img-section .elementor-widget-heading h2.elementor-heading-title,
  .text-tile-preset-section .elementor-widget-heading h2.elementor-heading-title,
  .teaser-section .elementor-widget-heading h2.elementor-heading-title,
  .text-slide-marque-section .elementor-widget-heading h2.elementor-heading-title,
  .item-list-slide-section .elementor-widget-heading h2.elementor-heading-title {
    font-size: 3.15rem !important;
    line-height: 1.16 !important;
    max-width: 26ch !important;
    text-wrap: normal !important;
  }

  .text-tile-preset-section .elementor-widget-heading h3.elementor-heading-title,
  .teaser-section .elementor-widget-heading h3.elementor-heading-title,
  .item-list-slide-section .elementor-widget-heading h3.elementor-heading-title {
    font-size: 1.6rem !important;
    line-height: 1.2 !important;
  }

  .tag-text-img-section .elementor-widget-text-editor,
  .tag-text-img-section .elementor-widget-text-editor p,
  .text-tile-preset-section .elementor-widget-text-editor,
  .text-tile-preset-section .elementor-widget-text-editor p,
  .teaser-section .elementor-widget-text-editor,
  .teaser-section .elementor-widget-text-editor p,
  .text-slide-marque-section .elementor-widget-text-editor,
  .text-slide-marque-section .elementor-widget-text-editor p,
  .item-list-slide-section .elementor-widget-text-editor,
  .item-list-slide-section .elementor-widget-text-editor p {
    font-size: 1.16rem !important;
    line-height: 1.58 !important;
  }

  .item-list-slide-section .item-list-slide-section-slide .elementor-widget-heading h2.elementor-heading-title,
  .item-list-slide-section .item-list-slide-section-slide .elementor-widget-heading h3.elementor-heading-title {
    font-size: 1.6rem !important;
    line-height: 1.2 !important;
    max-width: none !important;
  }

  .hero-section .hero-tittle h2.elementor-heading-title {
    font-size: 5.35rem !important;
    line-height: 1.04 !important;
    /* max-width: 50rem !important; */
    text-wrap: normal !important;
  }
  .w-hero-section .hero-tittle h2.elementor-heading-title {
    max-width: 50rem !important; 
  }
    .hero-section .hero-tittle.home-hero h2.elementor-heading-title {
        max-width: 57rem !important;
    }
  .hero-section .hero-tittle {
    width: min(100%, 76rem) !important;
    max-width: 76rem !important;
    flex: 0 0 auto !important;
  }

  .hero-section .elementor-widget-heading p.elementor-heading-title {
    font-size: 0.92rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    max-width: none !important;
  }
.hero-text.leader-hero-text {
    max-width: 45rem !important;
    width: 100% !important;
}
  .hero-section .elementor-widget-text-editor,
  .hero-section .elementor-widget-text-editor p {
    font-size: 1.28rem !important;
    line-height: 1.4 !important;
    /* max-width: 50rem !important; */
  }
  .w-hero-section .elementor-widget-text-editor,
  .w-hero-section .elementor-widget-text-editor p {
   
    max-width: 50rem !important; 
  }

  .hero-section .hero-tittle {
    max-width: 76rem !important;
    width: min(100%, 76rem) !important;
  }
.hero-tittle.history-hero {
    max-width: 54rem ! Important;
}
.sg-whoweare-navy__col-image{
  height: 46rem !important; 
  width: 42rem !important;
}
}
@media (max-width: 991px) and (orientation: landscape) {
.hero-wrap {
    position: absolute!important;
    top: 50%;
    transform: translateY(-50%) !important;
            width: 95% !important;
}
.hero-wrap h2 {
   font-size:40px!important
}
}
@media (min-width: 2560px) {
  .hero-text.leader-hero-text {
    max-width: 50rem !important;
  }
  html {
    font-size: 1.25rem;
  }

  main.site-main,
  main.sg-blank-page {
    font-size: 1.1rem;
  }

  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  footer .container-xl,
  nav .container-xl,
  .e-con>.e-con-inner {
    max-width: 108rem !important;
  }

  .sg-header .nav-link {
    font-size: 1.1875rem;
  }

  .sg-header .dropdown-item {
    font-size: 1.1rem;
  }

  .tag-text-img-section .elementor-widget-heading p.elementor-heading-title,
  .text-tile-preset-section .elementor-widget-heading p.elementor-heading-title,
  .teaser-section .elementor-widget-heading p.elementor-heading-title,
  .text-slide-marque-section .elementor-widget-heading p.elementor-heading-title,
  .item-list-slide-section .elementor-widget-heading p.elementor-heading-title {
    font-size: 0.98rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
  }

  .tag-text-img-section .elementor-widget-heading h2.elementor-heading-title,
  .text-tile-preset-section .elementor-widget-heading h2.elementor-heading-title,
  .teaser-section .elementor-widget-heading h2.elementor-heading-title,
  .text-slide-marque-section .elementor-widget-heading h2.elementor-heading-title,
  .item-list-slide-section .elementor-widget-heading h2.elementor-heading-title {
    font-size: 3.45rem !important;
    line-height: 1.15 !important;
    max-width: 55rem !important;
    text-wrap: normal !important;
  }
.item-list-slide-section-title.home-products h2.elementor-heading-title{
     max-width: 50rem !important;
}
  .text-tile-preset-section .elementor-widget-heading h3.elementor-heading-title,
  .teaser-section .elementor-widget-heading h3.elementor-heading-title,
  .item-list-slide-section .elementor-widget-heading h3.elementor-heading-title {
    font-size: 1.72rem !important;
    line-height: 1.18 !important;
  }

  .tag-text-img-section .elementor-widget-text-editor,
  .tag-text-img-section .elementor-widget-text-editor p,
  .text-tile-preset-section .elementor-widget-text-editor,
  .text-tile-preset-section .elementor-widget-text-editor p,
  .teaser-section .elementor-widget-text-editor,
  .teaser-section .elementor-widget-text-editor p,
  .text-slide-marque-section .elementor-widget-text-editor,
  .text-slide-marque-section .elementor-widget-text-editor p,
  .item-list-slide-section .elementor-widget-text-editor,
  .item-list-slide-section .elementor-widget-text-editor p {
    font-size: 1.24rem !important;
    line-height: 1.58 !important;
  }
.home-whoweare {
    padding-right: 4rem!important;
}
  .item-list-slide-section .item-list-slide-section-slide .elementor-widget-heading h2.elementor-heading-title,
  .item-list-slide-section .item-list-slide-section-slide .elementor-widget-heading h3.elementor-heading-title {
    font-size: 1.72rem !important;
    line-height: 1.18 !important;
    max-width: none !important;
  }

  .hero-section .hero-tittle h2.elementor-heading-title {
    font-size: 5.85rem !important;
    line-height: 1.04 !important;
    /* max-width: 52rem !important; */
    text-wrap: normal !important;
  }
    .hero-section .hero-tittle.home-hero h2.elementor-heading-title {
        max-width: 75rem !important;
    }
  .hero-section .hero-tittle {
    /* width: min(100%, 86rem) !important;
    max-width: 86rem !important; */
    flex: 0 0 auto !important;
  }
  

  .hero-section .elementor-widget-heading p.elementor-heading-title {
    font-size: 0.98rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    max-width: none !important;
  }

  .hero-section .elementor-widget-text-editor,
  .hero-section .elementor-widget-text-editor p {
    font-size: 1.38rem !important;
    line-height: 1.4 !important;
    max-width: 50rem !important;
  }

  .w-hero-section .elementor-widget-text-editor,
  .w-hero-section .elementor-widget-text-editor p {
    
    max-width: 32rem !important;
    width: 32rem !important;
  }

  .hero-section .hero-tittle {
    /* max-width: 86rem !important;
    width: min(100%, 86rem) !important; */
  }
  
}

@media (min-width: 3200px) {
  html {
    font-size: 1.3438rem;
  }

  main.site-main,
  main.sg-blank-page {
    font-size: 1.12rem;
  }

  .sg-header .nav-link {
    font-size: 1.2188rem;
  }

  .sg-header .dropdown-item {
    font-size: 1.1563rem;
  }

  .tag-text-img-section .elementor-widget-heading p.elementor-heading-title,
  .text-tile-preset-section .elementor-widget-heading p.elementor-heading-title,
  .teaser-section .elementor-widget-heading p.elementor-heading-title,
  .text-slide-marque-section .elementor-widget-heading p.elementor-heading-title,
  .item-list-slide-section .elementor-widget-heading p.elementor-heading-title {
    font-size: 1.01rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
  }

  .tag-text-img-section .elementor-widget-heading h2.elementor-heading-title,
  .text-tile-preset-section .elementor-widget-heading h2.elementor-heading-title,
  .teaser-section .elementor-widget-heading h2.elementor-heading-title,
  .text-slide-marque-section .elementor-widget-heading h2.elementor-heading-title,
  .item-list-slide-section .elementor-widget-heading h2.elementor-heading-title {
    font-size: 3.65rem !important;
    line-height: 1.14 !important;
    max-width: 26ch !important;
    text-wrap: normal !important;
  }

  .text-tile-preset-section .elementor-widget-heading h3.elementor-heading-title,
  .teaser-section .elementor-widget-heading h3.elementor-heading-title,
  .item-list-slide-section .elementor-widget-heading h3.elementor-heading-title {
    font-size: 1.82rem !important;
    line-height: 1.16 !important;
  }

  .tag-text-img-section .elementor-widget-text-editor,
  .tag-text-img-section .elementor-widget-text-editor p,
  .text-tile-preset-section .elementor-widget-text-editor,
  .text-tile-preset-section .elementor-widget-text-editor p,
  .teaser-section .elementor-widget-text-editor,
  .teaser-section .elementor-widget-text-editor p,
  .text-slide-marque-section .elementor-widget-text-editor,
  .text-slide-marque-section .elementor-widget-text-editor p,
  .item-list-slide-section .elementor-widget-text-editor,
  .item-list-slide-section .elementor-widget-text-editor p {
    font-size: 1.3rem !important;
    line-height: 1.58 !important;
  }

  .item-list-slide-section .item-list-slide-section-slide .elementor-widget-heading h2.elementor-heading-title,
  .item-list-slide-section .item-list-slide-section-slide .elementor-widget-heading h3.elementor-heading-title {
    font-size: 1.82rem !important;
    line-height: 1.16 !important;
    max-width: none !important;
  }

  .hero-section .hero-tittle h2.elementor-heading-title {
    font-size: 6.1rem !important;
  }

  .hero-section .elementor-widget-heading p.elementor-heading-title {
    font-size: 1.01rem !important;
  }

  .hero-section .elementor-widget-text-editor,
  .hero-section .elementor-widget-text-editor p {
    font-size: 1.44rem !important;
  }

  .w-hero-section .hero-tittle h2.elementor-heading-title{
    max-width: 53rem !important;
    width: min(100%, 53rem) !important;
  }
}

@media (min-width: 3840px) {
  html {
    font-size: 1.4375rem;
  }

  main.site-main,
  main.sg-blank-page {
    font-size: 1.14rem;
  }

  .container,
  .container-lg,
  .container-md,
  .container-sm,
  .container-xl,
  footer .container-xl,
  nav .container-xl,
  .e-con>.e-con-inner {
    max-width: 124rem !important;
  }

  .sg-header .nav-link {
    font-size: 1.25rem;
  }

  .sg-header .dropdown-item {
    font-size: 1.1875rem;
  }

  .tag-text-img-section .elementor-widget-heading p.elementor-heading-title,
  .text-tile-preset-section .elementor-widget-heading p.elementor-heading-title,
  .teaser-section .elementor-widget-heading p.elementor-heading-title,
  .text-slide-marque-section .elementor-widget-heading p.elementor-heading-title,
  .item-list-slide-section .elementor-widget-heading p.elementor-heading-title {
    font-size: 1.04rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
  }

  .tag-text-img-section .elementor-widget-heading h2.elementor-heading-title,
  .text-tile-preset-section .elementor-widget-heading h2.elementor-heading-title,
  .teaser-section .elementor-widget-heading h2.elementor-heading-title,
  .text-slide-marque-section .elementor-widget-heading h2.elementor-heading-title,
  .item-list-slide-section .elementor-widget-heading h2.elementor-heading-title {
    font-size: 3.9rem !important;
    line-height: 1.12 !important;
    max-width: 26ch !important;
    text-wrap: normal !important;
  }

  .text-tile-preset-section .elementor-widget-heading h3.elementor-heading-title,
  .teaser-section .elementor-widget-heading h3.elementor-heading-title,
  .item-list-slide-section .elementor-widget-heading h3.elementor-heading-title {
    font-size: 1.94rem !important;
    line-height: 1.14 !important;
  }

  .tag-text-img-section .elementor-widget-text-editor,
  .tag-text-img-section .elementor-widget-text-editor p,
  .text-tile-preset-section .elementor-widget-text-editor,
  .text-tile-preset-section .elementor-widget-text-editor p,
  .teaser-section .elementor-widget-text-editor,
  .teaser-section .elementor-widget-text-editor p,
  .text-slide-marque-section .elementor-widget-text-editor,
  .text-slide-marque-section .elementor-widget-text-editor p,
  .item-list-slide-section .elementor-widget-text-editor,
  .item-list-slide-section .elementor-widget-text-editor p {
    font-size: 1.36rem !important;
    line-height: 1.58 !important;
  }

  .item-list-slide-section .item-list-slide-section-slide .elementor-widget-heading h2.elementor-heading-title,
  .item-list-slide-section .item-list-slide-section-slide .elementor-widget-heading h3.elementor-heading-title {
    font-size: 1.94rem !important;
    line-height: 1.14 !important;
    max-width: none !important;
  }

  .hero-section .hero-tittle h2.elementor-heading-title {
    font-size: 6.3rem !important;
    line-height: 1.03 !important;
    max-width: 24ch !important;
    text-wrap: normal !important;
  }

  .hero-section .hero-tittle {
    /* width: min(100%, 100rem) !important;
    max-width: 100rem !important; */
    flex: 0 0 auto !important;
  }

  .hero-section .elementor-widget-heading p.elementor-heading-title {
    font-size: 1.04rem !important;
    line-height: 1.2 !important;
    letter-spacing: 0.08em !important;
    max-width: none !important;
  }

  .hero-section .elementor-widget-text-editor,
  .hero-section .elementor-widget-text-editor p {
    font-size: 1.5rem !important;
    line-height: 1.4 !important;
    /* max-width: 54ch !important; */
  }

  .hero-section .hero-tittle {
    /* max-width: 100rem !important;
    width: min(100%, 100rem) !important; */
  }
}