/*
 Theme Name:   HAKAY Theme
 Template:     hello-elementor
 Author:       Your Name
 Description:  A child theme for Hello Elementor.
 Version:      1.0.0
 Text Domain:  ema-theme

/* Ana temadan stil dosyasını içeri aktar */
@import url("../hello-elementor/style.css");

:root {
	--root-font-size: 18px;
	--page-section-space: 2rem;
  --grid-gap: 2rem;
  --max-hero-height: 960px;
  --header-height: 11rem;

  --e-global-color-bg-primary: var(--e-global-color-253e533, #F2F1EB);
  --e-global-color-on-dark: var(--e-global-color-d499c7a, #F2F1EB);
  --e-global-color-bg-secondary: var(--e-global-color-e83f7b9, #ECEFF1);
  --e-global-color-text-secondary: var(--e-global-color-c0c04d1, #86898C);
    /* --e-global-color-05d0005: #003B5C;
    --e-global-color-ea5bfc5: #0288D1;
    --e-global-color-206e7b9: #006298;
    --e-global-color-9730bab: #F2F1EB; */
}

html, body {
  max-width: 100vw;
  overflow-x: hidden;
  font-size: var(--root-font-size, 16px) !important;
}

body {
	font-size: var(--root-font-size, 16px) !important;
}

main {
  margin-top: calc(var(--header-height) * -1);
}

header {
  .sticky-header {
    position: absolute;
    transition: transform .3s ease-out;
  }

  .sticky-header__top {
    max-height: 2rem;
  }

  .sticky-header.elementor-sticky--effects {
      transform: translateY(-2rem);
      transition: transform .3s ease-in-out;
      box-shadow: 0px 3px 6px rgba(0,0,0,0.1);
  }

  .sticky-header .sticky-header__container {
      transition: all .3s ease-out;
  }

  .sticky-header.elementor-sticky--effects .sticky-header__container {
      
      padding: 0px;
      transition: all .3s ease-in-out;
  }

  .sticky-header .sticky-header__main {
      transition: all .3s ease-out;
  }
  .sticky-header.elementor-sticky--effects .sticky-header__main {
      padding: 0px;
      transition: all .3s ease-in-out;
  }

  .premium-nav-widget-container {
    line-height: 1em;
  }

  .lang-switch-container {
    z-index: 1 !important;
  }

  .elementor-widget-polylang-language-switcher {
    overflow: visible !important;
    a {
      display: flex;
      padding: 0.5rem;
      background-color: var(--e-global-color-accent);
      border-radius: 50% 50% 50% 50% / 40% 40% 60% 60%;
      font-size: 0.85rem !important;
      font-weight: 600;
      color: var(--e-global-color-on-dark) !important;
    }
  }
}

#breadcrumbs {
	& > span {
		display: flex;
		flex-wrap: wrap;
		max-width: 100%;
		align-items: center;
		justify-content: center;
		gap: 0.5rem;
		text-align: center;
	}
}

.page-hero {
  font-size: 1rem;
  height: min(100vh, var(--max-hero-height)) !important;
  height: min(100dvh, var(--max-hero-height)) !important;
  min-height: auto !important;
  padding: 0px !important;

  h1, h2, h3, .elementor-slide-heading {
      color: var(--e-global-color-d499c7a, #fff);
      font-family: var(--e-global-typography-secondary-font-family) !important;
      line-height: 1.2em !important;
      font-size: 3.5em !important;
      font-weight: 900 !important;
      margin: 0px 0px 0.5rem;

      > span {
        text-decoration: underline;
        text-decoration-color: var(--e-global-color-accent, #C69C54);
      }
  }

  .swiper-slide-inner,
  > div > .e-con-inner {
    padding-top: var(--header-height) !important;
  }
  
  .swiper-slide-contents,
  .elementor-widget-html {
    max-width: clamp(320px,65%,52rem) !important;  
   }

  .page-hero__text, .elementor-slide-description, p {
      color: var(--e-global-color-d499c7a, #fff);
      font-family: var(--e-global-typography-primary-font-family) !important;
      line-height: 1.4em !important;
      font-size: 1em !important;
      font-weight: 400 !important;
      max-width: max(50%, 32rem);
  }

  .page-hero__text {
    text-shadow: 0px 2px 2px var(--e-global-color-text);
  }

  /* h1:has(> strong), h2:has(> strong), h3:has(> strong) {
    font-size: 1.6rem !important;
    text-align: left !important;
  }

  h1 strong,
  h2 strong,
  h3 strong {
      font-family: var(--e-global-typography-secondary-font-family) !important;;
      line-height: 1em !important;;
      font-size: 3.2em !important;;
      margin: 0px !important;
  } */
}

.section-container {
	&.landing-layout {
    --max-hero-height: 100vh;
  }

	.section-content {
		.section-cta {
      
    }
	}
	
	.page-section {
		&:not(.page-section--shrink):not(.page-section--no-space):not(.page-section--fluid) {
			padding-top: 3rem;
			padding-bottom: 3rem;			
		}

    h2 {
			font-family: var(--e-global-typography-secondary-font-family);
			font-weight: 500;
			font-size: 2rem;
			color: var(--e-global-color-primary, #dde);
			margin-block-start: 0px;
			margin-block-end: 1rem;
		}
		
		h3:not(:first-child) {
			font-family: var(--e-global-typography-secondary-font-family);
			font-weight: 500;
			font-size: 1.5rem;
			color: var(--e-global-color-secondary, #dde);
			margin-block-start: 2rem;
			margin-block-end: 1rem;
		}
		
		h3 {
			&:first-child {
			display: inline-block;
			position: relative;
			font-family: var(--e-global-typography-secondary-font-family);
			font-weight: 500;
			font-size: 0.85rem;
      text-align: center;
			color: var(--e-global-color-secondary, 000);
			margin-block-start: 0px;
			margin-block-end: 0.5rem;
			padding-inline: calc(2rem + 0.5em) !important;
      line-height: 1em;
      white-space: nowrap;
			
			& + h2 {
				margin-block-start: 1rem;
			}
			
			&:before {
				content: '';
				display: flex;
				position: absolute;
				top: calc(50% - 1px);
				left: 0px;
				width: 2rem;
				height: 2px;
				background-color: currentcolor;
			}
			
			&:after {
				content: '';
				display: flex;
				position: absolute;
				top: calc(50% - 1px);
				right: 0px;
				width: 2rem;
				height: 2px;
				background-color: currentcolor;
			}	
			}
		}
		
		h4 {
			font-family: var(--e-global-typography-secondary-font-family);
			font-weight: bold;
			font-size: 1.75rem;
			color: var(--e-global-color-secondary, #dde);
			margin-block-start: 0px;
			margin-block-end: 1rem;
		}
		
		h5 {
			font-family: var(--e-global-typography-secondary-font-family);
			font-weight: bold;
			font-size: 1em;
			margin-block-start: 0px;
			margin-block-end: 1rem;
		}

    &__content {
      line-height: 1.4em;
    }

    .section-cta {
      .premium-button {
        font-size: 1rem;
        padding: 0.85em 1.25em !important;
        font-weight: 500;
        text-transform: uppercase;
        line-height: 1em;
        border: solid 1px var( --e-global-color-primary );
        border-radius: 3em;
        color: var(--e-global-color-primary, #C69C54) !important;
        background-color: transparent !important;
  
        .premium-button-text-icon-wrapper * {
          color: currentColor;
        }
  
        &:hover {
          background-color: var(--e-global-color-primary, #C69C54) !important;
          color: var(--e-global-color-d499c7a, #fefefe) !important;
        }
      }
    }
    

		&.page-section--primary {

		}

		&.page-section--secondary {
			background-color: var(--e-global-color-primary, #dde);
			color: var(--e-global-color-d499c7a, #fefefe);
			
			.elementor-widget-text-editor, h2, h4, h5 {
				color: currentcolor !important;
			}

      .section-cta {
        .premium-button {
          color: var(--e-global-color-d499c7a, #fefefe) !important;
          border-color: var(--e-global-color-d499c7a, #fefefe) !important;
  
          .premium-button-text-icon-wrapper * {
            color: currentColor;
          }
  
          &:hover {
            background-color: var(--e-global-color-d499c7a, #fefefe) !important;
            color: var(--e-global-color-primary, #C69C54) !important;
          }
        }
      }
		}

    &.page-section--tertiary {
			background-color: var(--e-global-color-bg-secondary, #dde);
			color: var(--e-global-color-text, #000);
			
			.elementor-widget-text-editor {
				color: currentcolor !important;
			}

      h2, h4, h5 {
				color: var(--e-global-color-primary) !important;
			}

      /* .section-cta {
        .premium-button {
          color: var(--e-global-color-text, #fefefe) !important;
          border-color: var(--e-global-color-text, #fefefe) !important;
  
          .premium-button-text-icon-wrapper * {
            color: currentcolor !important;
          }
  
          &:hover {
            background-color: var(--e-global-color-text, #fefefe) !important;
            color: var(--e-global-color-on-dark, #C69C54) !important;
          }
        }
      } */
		}

    &.page-section--dark {
			background-color: var(--e-global-color-text, #335);
			color: var(--e-global-color-on-dark, #fefefe);
			
			.elementor-widget-text-editor, h2, h4, h5 {
				color: currentcolor !important;
			}

      .section-cta {
        .premium-button {
          color: var(--e-global-color-on-dark, #fefefe) !important;
          border-color: var(--e-global-color-primary, #fefefe) !important;
  
          .premium-button-text-icon-wrapper * {
            color: currentcolor !important;
          }
  
          &:hover {
            background-color: var(--e-global-color-primary, #fefefe) !important;
            color: var(--e-global-color-on-dark, #C69C54) !important;
          }
        }
      }
		}

    &.page-section--fluid {
      .page-section-content {
        padding: 3rem 1rem;
        &.page-section-content--start {
          padding: 3rem 2rem 3rem 0px;
        }
        &.page-section-content--end {
          padding: 3rem 0px 3rem 2rem;
        }
      }
    }
		
		.elementor-widget-text-editor {
			max-width: 65rem !important;
			margin-inline: auto;
		}
	}
}

.article-container {
	.article-meta {
		.article-meta__title {
			h1 {
				
			}
		}
		.article-meta__header {
			.elementor-widget-theme-post-excerpt {
				font-size: 1.1em;
				padding: 0px 1em;
				border-left: solid 8px var(--e-global-color-primary, red);

			}
			
			.elementor-post-info__item--type-author {
				font-family: var(--e-global-typography-secondary-font-family);
				font-weight: bold;
				text-transform: uppercase;
			}
			.elementor-post-info__item--type-date {
				line-height: 1em;
				margin-top: 4px;
			}
		}
	}
	.article-content {
    padding: 0px !important;
    
    .cmplz-document,
    .elementor-widget-text-editor {
      max-width: clamp(360px, 80%, 48rem) !important;  
      margin-inline: auto !important;

      ol {
        padding-left: 1rem;
      }
    }

		h1, h2, h3, h4 {
			font-family: var(--e-global-typography-secondary-font-family);
			font-weight: bold;
			color: var(--e-global-color-primary, #dde);
			&:not(:first-child) {
				margin-block-start: 1.5em;				
			}
			margin-block-end: 0.5em;
			line-height: 1.2em;
		}

    h1 {
      font-size: 2.5em !important;
    }
		
		h2 {
			font-size: 1.75em;
		}
		
		h3 {
			font-size: 1.5em;
		}
		h4 {
			font-size: 1.2em;
		}
		p {
			line-height: 1.6em;
		}
	}
}

.elementor-avatar {
	border: solid 1px var(--e-global-color-secondary, #dde) !important;
}

.article-side {
	.article-side__posts {
		.premium-smart-listing__posts-wrapper {
			grid-auto-rows: auto;
		}
		
		.premium-smart-listing__grid-item {
			& + .premium-smart-listing__grid-item {
				border-top: solid 1px var(--e-global-color-secondary, #dde);
				padding-top: 1rem;
			}
		}
	}
}

.article-item {
	.article-item__header {
		.premium-tcloud-hidden {
			visibility: visible;
			opacity: 1;
		}

		.elementor-post-info__item--type-author {
			font-family: var(--e-global-typography-secondary-font-family);
			font-weight: bold;
			text-transform: uppercase;
		}
		.elementor-post-info__item--type-date {
			line-height: 1em;
			margin-top: 4px;
		}
	}
}

.service-grid {
	.elementor-widget-image-box {
		.elementor-image-box-img {
			position: relative;
			z-index: 0;
			width: 100% !important;
			img {
				aspect-ratio: 1.3;
			    object-fit: cover;
			}
		}
		
		.elementor-image-box-content {
			position: relative;
			z-index: 1;
			margin-block-start: calc(-1.5rem - 0.5em);
			.elementor-image-box-title {
				display: flex;
				font-family: var(--e-global-typography-secondary-font-family);
				font-weight: bold;
				font-size: 0.85rem;
				width: 80%;
				min-height: 5rem;
				margin: 0px auto;
				padding: 1rem 2rem;
				align-items: center;
				justify-content: center;
				justify-self: center;
				background-color: var(--e-global-color-primary, red);
			}
			
			.elementor-image-box-description {
				margin-top: 1rem;
				font-size: 0.9rem;
			}
		}
	}		
}

.service-showcase {
	.elementor-widget-premium-addon-icon-box {
		aspect-ratio: 1;
		/* max-width: max(30vw, 320px) !important; */
		
		& > .elementor-widget-container {
			display: flex;
			flex-direction: column;
			align-items: center;
			justify-content: center;
		}
	}
	
	.premium-icon-box-more {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: .5rem;
	}
	
  .premium-icon-box-icon-container img {
    width: 8rem !important;
    height: 8rem !important;
  }

	.premium-icon-box-title {
    font-size: 1.35rem !important;
		justify-content: center;
	}
}

.main-menu {
  font-size: 1rem;
  

  .premium-mobile-menu-outer-container {
      display: flex;
      align-items: center;
      background-color: var(--e-global-color-primary) !important;
  }

  .premium-mobile-menu-container {
      margin: 0px;
      padding: 0px 2rem;
  }

  .premium-main-nav-menu {

    gap: 0.5rem;

    &:not(.premium-main-mobile-menu) {
      .premium-nav-menu-item {
        &.menu-item-has-children {
          .premium-sub-menu {
            .premium-sub-menu-item:first-child {
              display: none;
            }
          }
        }
      }
    }

    &.premium-main-mobile-menu {
      .premium-nav-menu-item {
        &.menu-item-has-children {
          .premium-sub-menu {
            .premium-sub-menu-item {
              .premium-sub-menu-link {
                font-weight: 600;
              }
              &:first-child {
                margin: 0.5rem 0px 0.75rem;
                border-bottom: solid 2px var(--e-global-color-secondary);
              }
            }
          }
        }
      }
    }
  }

  .premium-nav-menu-item .premium-dropdown-icon, .premium-nav-menu-item .premium-menu-link {
      transition: all .1s ease-out;
      /* font-size: 0.9rem !important;
      font-weight: 500 !important; */
  }

  .premium-nav-menu-item {
    &.premium-active-item {
      .premium-menu-link {
        color: var(--e-global-color-secondary) !important;
      }
    }
  }

  .premium-nav-widget-container .premium-hamburger-toggle .premium-toggle-text {
    line-height: 0px;
    margin: 0px;
  }

  .premium-nav-widget-container .premium-hamburger-toggle i {
      display: inline-flex;
      padding: 0px;
      width: 1em;
      height: 1em;
      align-items: center;
      justify-content: center;
      line-height: 0px;
  }

  .premium-mobile-menu-outer-container {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    padding-top: 8rem !important;

    .premium-mobile-menu-container {
      margin: 0px !important;

      .premium-mobile-menu {
        gap: 0.5rem !important;

        .premium-nav-menu-item {
          
        }

        .premium-menu-link-parent {
          font-size: 1rem !important;
          padding: 0.5rem !important;
        }

        .premium-sub-menu {
          padding: 0.5rem 1rem !important;
          align-items: center !important;
          justify-content: center !important;
        }

        .premium-sub-menu-link {
          font-size: 0.85rem !important;
          line-height: 1.2em !important;
          padding: 0.5rem 1rem !important;
        }

        .premium-sub-menu .premium-sub-menu-link {
          justify-content: center !important;
          align-items: center !important;
          text-align: center !important;
        }
      }
    }
  }
}

.mega-menu {
	font-size: 1rem;
	.mega-menu__service {
		.premium-smart-listing__posts-wrapper {
			row-gap: 0px;
		}		
	}
	
	.mega-menu__our-approach {
		.premium-smart-listing__posts-wrapper {
			grid-template-rows: 1fr 1fr 1fr;
			grid-auto-flow: column;
		}		
	}
	
	.premium-smart-listing__post-title {
		margin: 0px;
	}
	
	.premium-smart-listing__post-content {
		margin: 0px;
	}
}

.contact-form {
	.elementor-field-type-acceptance {
		a {
			color: var(--e-global-color-on-dark, #fefefe) !important;
			font-weight: bold;
			text-decoration: underline;
		}
	}

  .elementor-button {
    color: var(--e-global-color-on-dark, #fefefe) !important;
    background-color: var(--e-global-color-text) !important;
  }

	.elementor-field {
		&.elementor-field-textual,
		&.elementor-upload-field {
			&.elementor-size-lg {
				min-height: 3rem;	
        font-size: 1rem !important;
        color: var(--e-global-color-text) !important;
			}	
		}
	}

  .elementor-field-option {
    label {
      font-weight: 400 !important;
      font-size: 0.9rem !important;
    }
  }
	input[type="file"] {
		position: relative;
		display: flex;
		color: currentcolor;
		background-color: white;
		font-size: 1rem;
		height: 3em;
		
		&::file-selector-button {
			display: inline-flex;
			font-family: var(--e-global-typography-secondary-font-family);
			color: var(--e-global-color-secondary, #dde);
			background-color: var(--e-global-color-d499c7a, #fefefe);
			padding: calc( 2em/2 ) calc( 2em/2 ) calc( 2em/2 ) calc( 2em/2 + 1.75em);
			border: none;
			margin-right: 1em;
			align-items: flex-start;
			justify-content: flex-start;
			text-align:left;
			border-right: solid 1px var(--e-global-color-secondary, #dde);
		}
		
		&::before {
			content: "";
			position: absolute;
			pointer-events: none;
			top: 0.25em;
			left: 0.25em;
			font-size: 2em;
			width: 1em;
			height: 1em;
			background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230964B0'%3E%3Cpath d='M18 15v3H6v-3H4v3c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2v-3h-2zM7 9l1.41 1.41L11 7.83V16h2V7.83l2.59 2.58L17 9l-5-5-5 5z'/%3E%3C/svg%3E");
		}
		
		&:focus-within::file-selector-button,
		&:focus::file-selector-button {
			outline: 2px solid var(--e-global-color-secondary, #dde);
		}
	}
}

.read-more-btn {
	display: flex;
	height: auto;
	line-height: 1em;
	
	& > .elementor-widget-container {
		display: flex;
		height: auto !important;
	}
}

.premium-smart-listing__custom-grid-wrapper:nth-child(even)  {
  margin-top: 3rem;
}

.premium-smart-listing__custom-grid-wrapper:nth-child(odd)  {
  .post-showcase-card {
    flex-direction: row-reverse;
  }
}

.overlay-text {
  h4 {
    font-weight: 300 !important;
    font-size: 1.25rem !important;
  }

  h5 {
    font-weight: 500 !important;
    font-size: 1.75rem !important;
  }
}

.feature-showcase {
  gap: 2rem !important;
}

.feature-card {
  padding: 0px !important;
  font-size: 1rem !important;
  gap: 0px !important;
  border: solid 1px var(--e-global-color-primary, #dde) !important;

  .feature-card__content {
    padding: 1rem  1rem 1.5rem 1rem !important;
  }

  .feature-card__preview {
    min-height: 10rem !important;
  }

  .elementor-icon {
    font-size: 6rem !important;
    svg {
      height: 1em !important;
    }
  }

  h4, h5 {
    font-weight: 500;
    font-size: 1em !important;
    color: var(--e-global-color-primary, #dde) !important;
  }

  ul {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding-left: 1rem !important;

    li::marker {
      color: var(--e-global-color-primary, #dde) !important;
    }
  }
}

.premium-modal-box-modal-header {
  justify-content: flex-end;
}

.premium-modal-trigger-btn,
.elementor-cta__button {
  font-size: 1rem !important;
  line-height: 1em !important;
  padding: 0.85em 1.25em !important;
  font-weight: 400 !important;
  text-transform: uppercase;
  line-height: 1em;
  border: solid 1px var( --e-global-color-primary ) !important;
  border-radius: 3em !important;
  color: var(--e-global-color-primary, #C69C54) !important;
  background-color: transparent !important;

  .premium-button-text-icon-wrapper * {
    color: currentColor;
    line-height: 1em !important;
  }

  &:hover {
    background-color: var(--e-global-color-primary, #C69C54) !important;
    color: var(--e-global-color-d499c7a, #fefefe) !important;
  }
}

.team-showcase {
  .elementor-cta {
    height: 100% !important;

    .elementor-cta__bg-wrapper {
      aspect-ratio: 0.9;
    }
    .elementor-cta__content {
      background-color: var(--e-global-color-primary, #dde) !important;
      flex-grow: 1 !important;
      padding: 1rem 1rem 2rem 1rem !important;
    }
    .elementor-cta__title {
      font-size: 1rem !important;
      font-weight: 400 !important;
      color: var(--e-global-color-d499c7a, #fefefe) !important;
      margin-bottom: 0rem !important;
    }
    .elementor-cta__description {
      font-size: 0.8rem !important;
      font-weight: 400 !important;
      color: var(--e-global-color-d499c7a, #fefefe) !important;
      margin-bottom: 1rem !important;
    }
    .elementor-cta__button {
      color: var(--e-global-color-d499c7a, #fefefe) !important;
      border-color: var(--e-global-color-d499c7a, #fefefe) !important;

      .premium-button-text-icon-wrapper * {
        color: currentColor;
      }

      &:hover {
        background-color: var(--e-global-color-d499c7a, #fefefe) !important;
        color: var(--e-global-color-primary, #C69C54) !important;
      }
    }
  }
}

.dual-image-overlay {
  width: 100%;
  aspect-ratio: 1;

  .main-box {
    position: absolute;
    /* width: 85% !important; */
    aspect-ratio: 1;
    top: 0 !important;
    left: 0 !important;

    img {
      width: 100% !important;
      height: 100%;
      object-fit: cover;
      max-width: none !important;
    }
  }
  .overlay-box {
    position: absolute;
    /* width: 40% !important; */
    aspect-ratio: 1;
    bottom: 1rem !important;
    right: 0 !important;

    img {
      width: 100% !important;
      height: 100%;
      object-fit: cover;
      background-color: var(--e-global-color-bg-secondary, #dde) !important;
      max-width: none !important;
    }
  }
}

.ihover-grid {
  .premium-ihover-content-wrap {
    padding-top: 1em;
  }

  .premium-ihover-title {
    text-transform: uppercase;
  }

  .premium-ihover-info-wrap .premium-ihover-info-back {
    overflow: visible;
  }
  
}

/* Extra Large Screens - min-width: 2401px */
@media (min-width: 1921px) {
	:root {
		--root-font-size: 20px;	
	}
  header {
    .sticky-header.elementor-sticky--effects {
      transform: translateY(-2rem);
    }
  }
  .page-hero {
    .swiper-slide-inner,
    .elementor-widget-html {
      max-width: 1600px;
    }
  }
}

/* Widescreen - min-width: 1367px and max-width: 1920px */
@media (max-width: 1920px) {
	:root {
		--root-font-size: 20px;	
	}
  .main-menu {
    font-size: 0.85rem;
  }

  .page-hero {
    .swiper-slide-inner,
    .elementor-widget-html {
      max-width: 1260px;
    }
  }
}

@media (max-width: 1600px) {
  .main-menu {
    font-size: 0.75rem;
  }

  .page-hero {
    .swiper-slide-inner {
      max-width: 1260px;
    }
    .swiper-slide-contents,
    .elementor-widget-html {
      padding-inline: 2rem !important;
    }
  }
}

/* Laptop - min-width: 1025px and max-width: 1366px */
@media (max-width: 1366px) {
	:root {
		--root-font-size: 16px;	
	}

  .main-menu {
    .premium-nav-menu {
      gap: 1rem;
    }

    .premium-main-nav-menu > .premium-nav-menu-item > .premium-menu-link {
      padding: 6px !important;
    }
  }

  .page-hero {
    .swiper-slide-inner,
    .elementor-widget-html {
      max-width: 960px;
    }
  }

  .service-showcase {
    .elementor-widget-premium-addon-icon-box {
      padding: 1rem !important;
    }

    .premium-icon-box-icon-container img {
      width: 6rem !important;
      height: 6rem !important;
    }
  
    .premium-icon-box-title {
      font-size: 1rem !important;
      justify-content: center;
    }
  }
}

@media (max-width: 960px) {

  .main-menu {
    width: fit-content !important;
    margin-left: auto !important;
  }
	
	.mega-menu {
		.premium-smart-listing__post-content {
			display: none;
		}
		
		.premium-smart-listing__posts-wrapper {
				grid-template-columns: none !important;
				display: flex;
				flex-direction: column;
				gap: 0px;
			}
		.premium-smart-listing__post-meta-container {
			display: none;
		}
	}

  .page-hero {
    .swiper-slide-inner,
    .elementor-widget-html {
      max-width: 720px;
      justify-content: center !important;
    }

    .swiper-slide-contents,
    .elementor-widget-html {
      padding-inline: 0px !important;
    }
  }
}

/* Tablet Portrait - min-width: 768px and max-width: 1024px */
@media (max-width: 1024px) {
	:root {
		--root-font-size: 16px;	
	}
	
  header {
    .sticky-header {
      position: relative;
    }
  }
  .page-hero {
    /* font-size: 1rem !important;; */
  }

	.section-container {
	
	.section-content {
		.section-cta {
      
    }
	}
	
	.page-section {
		&:not(.page-section--shrink):not(.page-section--no-space):not(.page-section--fluid) {
			padding-top: 3rem;
			padding-bottom: 3rem;			
		}

    .elementor-widget-text-editor.custom-text-editor {
      h2, h3 {
        color: currentColor !important;
      }
    }

    h2 {
			font-family: var(--e-global-typography-secondary-font-family);
			font-weight: 500;
			font-size: 2rem;
			color: var(--e-global-color-primary, #dde);
			margin-block-start: 0px;
			margin-block-end: 1rem;
		}
		
		h3:not(:first-child) {
			font-family: var(--e-global-typography-secondary-font-family);
			font-weight: 500;
			font-size: 1.5rem;
			color: var(--e-global-color-secondary, #dde);
			margin-block-start: 2rem;
			margin-block-end: 1rem;
		}
		
		h3 {
			&:first-child {
			display: inline-block;
			position: relative;
			font-family: var(--e-global-typography-secondary-font-family);
			font-weight: 500;
			font-size: 0.85rem;
      text-align: center;
			color: var(--e-global-color-secondary, 000);
			margin-block-start: 0px;
			margin-block-end: 0.5rem;
			padding-inline: calc(2rem + 0.5em) !important;
      line-height: 1em;
      white-space: pre-wrap;
			
			& + h2 {
				margin-block-start: 1rem;
			}
			
			&:before {
				content: '';
				display: flex;
				position: absolute;
				top: calc(50% - 1px);
				left: 0px;
				width: 2rem;
				height: 2px;
				background-color: currentcolor;
			}
			
			&:after {
				content: '';
				display: flex;
				position: absolute;
				top: calc(50% - 1px);
				right: 0px;
				width: 2rem;
				height: 2px;
				background-color: currentcolor;
			}	
			}
		}
		
		h4 {
			font-family: var(--e-global-typography-secondary-font-family);
			font-weight: bold;
			font-size: 1.75rem;
			color: var(--e-global-color-secondary, #dde);
			margin-block-start: 0px;
			margin-block-end: 1rem;
		}
		
		h5 {
			font-family: var(--e-global-typography-secondary-font-family);
			font-weight: bold;
			font-size: 1em;
			margin-block-start: 0px;
			margin-block-end: 1rem;
		}

    &__content {
      line-height: 1.4em;
    }

    .page-section__preview {
      height: 100%;
      
      .elementor-widget-premium-addon-video-box {
        display: flex;
        height: 100% !important;
        width: 100% !important;
        justify-content: center;
        align-items: center;
        padding: 1rem;
        background-color: var(--e-global-color-bg-primary);
      }

      .premium-video-box-container {
        height: 100%;
        width: auto;
        aspect-ratio: 16/9;
        
      }
    }
    
		&.page-section--primary {

		}

		&.page-section--secondary {
			background-color: var(--e-global-color-primary, #dde);
			color: var(--e-global-color-d499c7a, #fefefe);
			
			.elementor-widget-text-editor, h2, h4, h5 {
				color: currentcolor !important;
			}

      .section-cta {
        .premium-button {
          color: var(--e-global-color-d499c7a, #fefefe) !important;
          border-color: var(--e-global-color-d499c7a, #fefefe) !important;
  
          .premium-button-text-icon-wrapper * {
            color: currentColor;
          }
  
          &:hover {
            background-color: var(--e-global-color-d499c7a, #fefefe) !important;
            color: var(--e-global-color-primary, #C69C54) !important;
          }
        }
      }
		}

    &.page-section--tertiary {
			.elementor-widget-text-editor, h2, h4, h5 {
				color: currentcolor !important;
			}

      
		}

    &.page-section--fluid {
      .page-section-content {
        padding: 3.5rem 1rem;
        &.page-section-content--start {
          padding: 3.5rem 2rem 3.5rem 0px;
        }
        &.page-section-content--end {
          padding: 3.5rem 0px 3.5rem 3.5rem;
        }
      }
    }
		
		.elementor-widget-text-editor {
			max-width: min(65rem, 100%) !important;
			margin-inline: auto;

       b, strong {
        font-weight: 600;
      }
		}
	}
}

  .service-showcase {
    & > .e-con-inner {
      grid-template-columns: repeat(2, 1fr) !important;
    }
  }

  .page-section {
    .page-section-content {
      width: 100% !important;
      padding: 1rem !important;
    }
    .page-section-preview {
      width: 100% !important;
      position: relative !important;
      aspect-ratio: 1;
    }
  }
}

/* Mobile Portrait - max-width: 767px */
@media (max-width: 767px) {
	:root {
		--root-font-size: 18px;	
	}

  .page-hero {
    
    h1, h2, h3, .elementor-slide-heading {
      font-size: 2.5em !important;
    }

    .page-hero__text {
      align-self: center;
      text-align: center;
    }
}

	.section-container {
		.section-content {
			.page-section {
				padding-top: 1rem;
				padding-bottom: 1rem;
			}

      .section-cta {
        --align-self: center !important;
      }
		}
	}
	
	.mega-menu {
		.premium-title-header,
		.premium-smart-listing__post-content-wrapper {
			justify-content: center !important;
			align-items: center !important;
		}
	}
	
	.service-icon-grid {
		.elementor-widget-icon-box {
			.elementor-icon-box-wrapper {
				& > div {
					align-items: center;
					text-align: center;
				}
			}
		}
	}

  .premium-smart-listing__custom-grid-wrapper {
    max-width: 100%;
    overflow: hidden;
  }

  .make-card-slider-on-mobile {
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)) !important;
    grid-auto-flow: column !important;
    grid-auto-columns: minmax(320px, 1fr) !important;
    overflow-x: auto !important;
  }

  .service-showcase {
    
    & > .e-con-inner {
      gap: 4px !important;
    }
    
    .elementor-widget-premium-addon-icon-box {
      padding: 1rem !important;
    }

    .premium-icon-box-icon-container img {
      width: 4rem !important;
      height: 4rem !important;
    }

    .premium-icon-wrapper {
      margin-bottom: 0.5rem !important;
    }
  
    .premium-icon-box-title,
    .premium-icon-box-more  {
      font-size: 0.8rem !important;
      justify-content: center;
    }
  }
}