/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

:root {
  --header-height: 108px;
}
.pad-lg {padding-block: clamp(40px, 7.3vw, 100px);}
.pad-lg-start {padding-block-start: clamp(40px, 7.3vw, 100px);}
.pad-lg-end {padding-block-end: clamp(40px, 7.3vw, 100px);}
.pad-md {padding-block: clamp(30px, 5.8vw, 80px);}
.pad-md-start {padding-block-start: clamp(30px, 5.8vw, 80px);}
.pad-md-end {padding-block-end: clamp(30px, 5.8vw, 80px);}
.pad-sm {padding-block: clamp(20px, 3.75vw, 60px);}
.pad-sm-start {padding-block-start: clamp(20px, 3.75vw, 60px);}
.pad-sm-end {padding-block-end: clamp(20px, 3.75vw, 60px);}
.pad-inline {padding-inline: clamp(1.25rem, -0.625rem + 8.3333vw, 9.375rem);}
p:last-of-type {margin-bottom: 0px;}

#mega-menu-menu-1 > li.mega-menu-item> a::after {
  --slant: 4px;
  display: inherit !important;
  position: absolute;
  content: '';
  width: calc(100% - 25px);
  height: 4px;
  background-color: #be9347;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant)) calc(100% + 1px), var(--slant) calc(100% + 1px));
  scale: 0 1;
  transition: scale 0.2s ease-in-out;
  transform-origin: left top;
  box-shadow: 0 1px 0 0 #827150;
}
#mega-menu-menu-1 > li.mega-menu-item:is(.mega-current-menu-item, :hover) > a::after {
  scale: 1 1;
}
.elementor-widget-button:not(.no-rotate) .elementor-button-icon:has(svg) {
    font-size: 24px;
  	height: 15px;
	transition: transform 0.2s ease-in-out;
}
.elementor-widget-button:not(.no-rotate) > a.elementor-button:not(:hover) .elementor-button-icon:has(svg) {
	color: var(--e-global-color-secondary);
}
.elementor-widget-button:not(.no-rotate) > a.elementor-button:hover .elementor-button-icon:has(svg) {
	transform: rotate(45deg);
}
.has-hook {
  padding-left: 28px;
  width: fit-content;
  &::before {
    content: '';
    position: absolute;
    left: 0;
    bottom: -5px;
    width: clamp(1.5625rem, 1.3462rem + 0.9615vw, 2.5rem);
    height: clamp(2.1875rem, 1.4663rem + 3.2051vw, 5.3125rem);
    background: url('https://demo-house.com/sg/ahlaw/wp-content/uploads/2026/04/llavane.png') top left no-repeat;
    background-size: contain;
  }
  &::after {
    content: '';
    position: absolute;
    left: calc(100% + 20px);
    width: 150px;
    height: 1px;
    top: calc(50% - 1px);
    background: linear-gradient(to right, #be9347, #171d2f);
  }
}
.has-hook.center {
	margin-bottom: 25px !important;
	&::after {
	  top: calc(100% + 25px);
	  left: 50%;
	  transform:  translateX(-50%);
	  background: linear-gradient(to right,#1b202f,#bd9347,#1b202f);
	}
}
.has-hook.center.white::after {
	background: linear-gradient(to right,#c49d58,#fff,#c49d58);
}

.has-glow::after {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: -20%;
  background: url('https://demo-house.com/sg/ahlaw/wp-content/uploads/2026/04/png-glow.png') center no-repeat;
  background-size: contain;
  z-index: -1;
  opacity: 0.12;
}

.format-content {
  :is(h2, h3, h4) {
    color: var(--e-global-color-secondary);
	  text-transform: none;
  }
  h2 {
    font-size: 30px;
  }
	h2:not(:first-of-type) {margin-top: clamp(1.5625rem, 1.2324rem + 1.0563vw, 2.5rem);}
	h3 {font-size:28px; margin-top:clamp(1.25rem, 1.0299rem + 0.7042vw, 1.875rem);}
	h4 {font-size: 22px;}
	h5 {font-size: 20px;}
	h6 {font-size: 18px;}
	p:last-of-type {margin-bottom: 0.9rem;}
}
.format-ol {
    ol {
    padding-left: 0px;
    list-style: none;
    counter-reset: count;
    > li {
      position: relative;
      padding-bottom: 0.9rem;
      padding-left: 50px;
      counter-increment: count;
      &::before {
        position: absolute;        
        content: counter(count);
        left: 0;
        top: 0px;
        display: inline-grid;
        place-content: center;
        width: 33px;
        height: 33px;
        border-radius: 17px;
        background-color: #495268;
      }
    }
  }
}
.format-ul {
	ul {
    padding-left: 0px;
    list-style: none;
    > li {
      position: relative;
      padding-bottom: 0.9rem;
      padding-left: 25px;
      counter-increment: count;
      &::before {
        position: absolute;        
        content: '';
        left: 0;
        top: 10px;
        display: inline-grid;
        place-content: center;
        width: 10px;
        height: 10px;
        border-radius: 17px;
        background-color: #495268;
      }
    }
  }
  ul.svg-marker > li {
	  padding-left: 50px;
	  &::before {
		width: 24px;
		height: 9px;
		top: 12px;
		background: url('data:image/svg+xml,<svg width="23" height="7" viewBox="0 0 23 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23 0H0L3 6.5H20L23 0Z" fill="%239F712C"/></svg>') center no-repeat;
		background-size: contain;
		border-radius: 0px;
	  }
	}
}

.practice-menu-links ul.menu {
  padding-left: 0;
  list-style: none;
  & > li {
    margin-bottom: 1.2rem;
    font-size: clamp(1.25rem, 1.0299rem + 0.7042vw, 1.875rem);
    font-family: var(--e-global-typography-primary-font-family);
	  line-height: 1.4;
    .sub-menu {
      margin-top: 1.5rem;
      padding-left: 0px;
      li {
        list-style: none;
        font-size: clamp(1rem, 0.956rem + 0.1408vw, 1.125rem);
        font-family: var(--e-global-typography-text-font-family);
      }
      li {
        position: relative;
        margin-bottom: 1.2rem;
        padding-left: 40px;
        counter-increment: count;
        &::before {
          position: absolute;        
          content: '';
          left: 0;
          top: 10px;
          display: inline-grid;
          place-content: center;
          width: 24px;
          height: 9px;
          top: 8px;
          background: url('data:image/svg+xml,<svg width="23" height="7" viewBox="0 0 23 7" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M23 0H0L3 6.5H20L23 0Z" fill="%239F712C"/></svg>') center no-repeat;
          background-size: contain;
          border-radius: 0px;
        }
	  }
    }
  }
}
.practice-menu-links ul.menu a {
  color: #fff
}
.practice-menu-links ul.menu li:is(:hover, .current-menu-item, .current-menu-ancestor) > a {
  color: var(--e-global-color-secondary)
}

@media screen and (min-width:1025px) {
	header.sticking {
	  position: sticky;
	  top: 0;
	  z-index: 999;
	  & > div {
		animation: showmenu 0.6s ease-in-out forwards;
		padding-bottom: 0px !important;
	  }
	}
}

@media screen and (min-width: 991px) {
  .practice-menu-links ul.menu {
    & > li > a {
      width: fit-content;
      position: relative;
      &::after {
        content: '';
        position: absolute;
        left: calc(100% + 20px);
        width: 150px;
        height: 1px;
        top: 20px;
        background: linear-gradient(to right, #be9347, #171d2f);
      }
    }
  }
}

@media screen and (max-width: 768px) {
	.has-hook {
		padding-left: 0px;
  		width: auto;
		&::before, &::after {
			display: none;
		}
	}
}

@keyframes showmenu {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(calc(-100% + 60px));
  }
}