/*
	Theme Name: Hello Elementor Child
	Theme URI: https://kevinott.ca/hello-elementor
	Description: Hello Elementor Child Theme
	Author: Kevin Ott
	Author URI: https://kevinott.ca
    Template: hello-elementor
	Requires at least: 6.0
	Requires PHP: 7.4
	Version: 0.1.0
*/

/*
 *	Set default font size, weight, and colour
 */
 body{
    font-size: 16px;
}

h1.elementor-heading-title,
h2.elementor-heading-title,
h3.elementor-heading-title,
h4.elementor-heading-title,
h5.elementor-heading-title,
h6.elementor-heading-title,
p,
div.elementor-heading-title,
a{
/*     color: var(--HC-text-color); */
    line-height: 1.3em;
}
h1.elementor-heading-title.elementor-size-default{
    font-size: clamp(48px, 4vw + 1rem, 64px);
    font-weight: 800;
}
h2.elementor-heading-title.elementor-size-default{
    font-size: clamp(40px, 2vw + 1rem, 56px);
    font-weight: 800;
}
h3.elementor-heading-title.elementor-size-default{
    font-size: clamp(32px, 1.5vw + 1rem, 48px);
    font-weight: 700;
}
h4.elementor-heading-title.elementor-size-default{
    font-size: clamp(24px, 1vw + 1rem, 40px);
    font-weight: 700;
}
h5.elementor-heading-title.elementor-size-default{
    font-size: clamp(16px, 1vw + 1rem, 32px);
    font-weight: 600;
}
h6.elementor-heading-title.elementor-size-default{
    font-size: clamp(16px, 1vw + 1rem, 24px);
    font-weight: 600;
}
p,
div,
a
span{
    font-size: clamp(16px, 1vw + 1rem, 20px);
    font-weight: 400;
}
.elementor p a{
    color: var(--HC-accent-color);
    text-decoration: underline;
}
.elementor p a:hover{
    color: var(--HC-text-color);
    text-decoration: none;
}

/* Invert text color class */
.elementor .elementor-element .color-invert h1.elementor-heading-title,
.elementor .elementor-element .color-invert h2.elementor-heading-title,
.elementor .elementor-element .color-invert h3.elementor-heading-title,
.elementor .elementor-element .color-invert h4.elementor-heading-title,
.elementor .elementor-element .color-invert h5.elementor-heading-title,
.elementor .elementor-element .color-invert h6.elementor-heading-title,
.elementor .elementor-element .color-invert div.elementor-heading-title,
.elementor .elementor-element .color-invert div,
.elementor .elementor-element .color-invert p{
    color: var(--HC-color-invert);   
}

/* Span all grid columns */
.HC-grid-col-span{
	grid-column:1 / -1;
}

/* Default styling of buttons */
.elementor-widget-button .elementor-button.elementor-button-link .elementor-button-text,
.elementor-widget-button .elementor-button.elementor-button-link .elementor-button-icon,
.site-header .site-navigation ul.menu li.HC-button a,
div:not(.footer-inner) .HC-button a,
div:not(.footer-inner) .HC-button a:after{
    transition: all 0.3s ease;
}
.elementor-widget-button .elementor-button.elementor-button-link,
.site-header .site-navigation ul.menu li.HC-button a,
div:not(.footer-inner) .HC-button a{
    background-color: var(--HC-accent-color);
    padding: 2rem 4rem;
    border: calc(1rem / 4) solid var(--HC-accent-color);
    border-radius: 40rem;
    height: clamp(16px, 4em, 64px);
    color: var(--HC-color-invert);
}
.elementor-widget-button .elementor-button.elementor-button-link .elementor-button-text,
.site-header .site-navigation ul.menu li.HC-button a,
div:not(.footer-inner) .HC-button a{
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 2rem;
}
div:not(.footer-inner) .HC-button a:after{
    content:'';
    display: inline-block;
    border-top: 0.5rem solid var(--HC-color-invert);
    border-right: 0.5rem solid var(--HC-color-invert);
    width: 1.5rem;
    aspect-ratio: 1 / 1;
    transform: rotate(45deg);
}
.elementor-widget-button .elementor-button.elementor-button-link:hover .elementor-button-text,
.site-header .site-navigation ul.menu li.HC-button a:hover,
div:not(.footer-inner) .HC-button a:hover{
    border-color: var(--HC-accent-color)
}
.elementor-element .elementor-widget-button .elementor-button.elementor-button-link:hover,
.site-header .site-navigation ul.menu li.HC-button a:hover,
div:not(.footer-inner) .HC-button a:hover{
    background-color: transparent;
}

/* Secondary Variant styling of buttons */
.elementor-widget-button.HC-button-v2 a.elementor-button.elementor-button-link,
.site-header .site-navigation ul.menu li.HC-button.HC-button-v2 a,
div:not(.footer-inner) .HC-button.HC-button-v2 a{
    background-color: transparent;
    border-color: var(--HC-secondary-color);
    color: var(--HC-secondary-color);
}
.elementor-widget-button.HC-button-v2 .elementor-button.elementor-button-link .elementor-button-text:only-child::after,
div:not(.footer-inner) .HC-button.HC-button-v2 a:after{
    border-top: 0.5rem solid var(--HC-secondary-color);
    border-right: 0.5rem solid var(--HC-secondary-color);
}
.elementor-widget-button.HC-button-v2 a.elementor-button.elementor-button-link:hover,
.site-header .site-navigation ul.menu li.HC-button.HC-button-v2 a:hover,
div:not(.footer-inner) .HC-button.HC-button-v2 a:hover{
    background-color: var(--HC-primary-color);
	border-color: var(--HC-primary-color);
}
.elementor-widget-button.HC-button-v2 .elementor-button.elementor-button-link:hover .elementor-button-text,
.elementor-widget-button.HC-button-v2 .elementor-button.elementor-button-link:hover .elementor-button-icon,
.site-header .site-navigation ul.menu li.HC-button.HC-button-v2 a:hover,
div:not(.footer-inner)  .HC-button.HC-button-v2 a:hover{
    color: var(--HC-secondary-color);
    fill: var(--HC-secondary-color);
}
.elementor-widget-button.HC-button-v2 .elementor-button.elementor-button-link:hover .elementor-button-text:after,
div:not(.footer-inner) .HC-button.HC-button-v2 a:hover::after{
    border-color: var(--HC-secondary-color)
}

/* Button - Forced Default White */
.elementor-widget-button.HC-button-white.HC-button-white a.elementor-button.elementor-button-link,
.elementor-widget-button.HC-button-white.HC-button-white .elementor-button.elementor-button-link .elementor-button-text:after,
.site-header .site-navigation ul.menu li.HC-button.HC-button-white.HC-button-white a,
div:not(.footer-inner) .HC-button.HC-button-white.HC-button-white a,
div:not(.footer-inner) .HC-button.HC-button-white.HC-button-white a:after{
    border-color: var(--HC-color-invert);
    color: var(--HC-color-invert);
}

/* Button - Forced Default Dark */
.elementor-widget-button.HC-button-dark.HC-button-dark:hover a.elementor-button.elementor-button-link,
.elementor-widget-button.HC-button-dark.HC-button-dark:hover .elementor-button.elementor-button-link .elementor-button-text:after,
.site-header .site-navigation ul.menu li.HC-button.HC-button-dark.HC-button-dark:hover a,
div:not(.footer-inner) .HC-button.HC-button-dark.HC-button-dark:hover a,
div:not(.footer-inner) .HC-button.HC-button-dark.HC-button-dark:hover a:after{
    border-color: var(--HC-color-primary);
    color: var(--HC-color-primary);
}

body[data-elementor-device-mode="tablet"] #site-header.site-header .site-navigation ul.menu li.HC-button a,
body[data-elementor-device-mode="mobile"] #site-header.site-header .site-navigation ul.menu li.HC-button a{
        border:unset;
}

/* Button text alignment issue */
a.elementor-button{
    width: max-content;
    align-items: center;
    display: flex;
}
.elementor-button-content-wrapper .elementor-button-icon{
    display: flex;
    align-items: center;
}

/* Header and footer adjustments */
footer.site-footer,
header.site-header{
    padding-block: 4rem;
}
header .site-logo img{
    max-height: 100px;
}
#site-header, #site-footer{
    padding-inline:var(--HC-inline-padding)
}
#site-header .site-navigation-toggle-holder .site-navigation-toggle{
    background-color: unset;
}
#site-header .site-navigation-toggle-holder .site-navigation-toggle-icon{
    width: 4rem;
    aspect-ratio: 1 / 1;
    position: relative;
}
#site-header .site-navigation-toggle-holder .site-navigation-toggle-icon:before,
#site-header .site-navigation-toggle-holder .site-navigation-toggle-icon:after{
    all:unset;
    content: "";
    display:block;
    height: 0.5rem;
    width: 100%;
    position: absolute;
    background-color: transparent;
    border-block: 0.5rem solid var(--HC-color-invert);
    transition: all 0.3s ease;
}
#site-header .site-navigation-toggle-holder .site-navigation-toggle-icon:before{
    /* transform: translateY(-100%); */
    top: calc(50% - 0.75rem - 1rem);
}
#site-header .site-navigation-toggle-holder .site-navigation-toggle-icon:after{
    /* transform: translateY(100%); */
    top: calc(50% - 0.75rem + 1rem);
}
#site-header .site-navigation-toggle-holder.elementor-active .site-navigation-toggle-icon:before,
#site-header .site-navigation-toggle-holder.elementor-active .site-navigation-toggle-icon:after{
    height: 0;
    background-color: var(--HC-color-invert);
}
#site-header .site-navigation-toggle-holder.elementor-active .site-navigation-toggle-icon:before{
    transform: rotate(45deg);
    top: calc(50% - 0.5rem);
}
#site-header .site-navigation-toggle-holder.elementor-active .site-navigation-toggle-icon:after{
    transform: rotate(-45deg);
    top: calc(50% - 0.5rem);
}

/* Header menu adjustments */
.site-navigation ul.menu{
    align-items: center;
    gap: 1rem;
}
/* 
 * Navigation Fixes
 */
@media (max-width:1024px){
	.sub-menu li{
		margin-left: 24px;
	}
	nav, .sub-menu{
		transition: opacity 0.5s ease!important;
	}
	nav[aria-hidden="true"],.sub-menu{
		opacity:0;
	}
	nav[aria-hidden="false"],.elementor-active .sub-menu{
		opacity:1;
	}
}

/* Footer layout */
body .site-footer .footer-inner{
    display: grid;
    grid-template-columns: 1fr 1fr;
}
body .site-footer .footer-inner .site-navigation{
    justify-self: end;
}
body .site-footer .footer-inner .site-logo a{
    max-height: 100px;
	width: max-content;
}
body .site-footer .footer-inner .site-logo img{
    max-height: 100px;
	width:auto
}

/* Footer Copyright */
.footer-inner{
    row-gap: 4rem;
}
.copyright{
    grid-column: span 2;
    text-align: center;
}
.copyright p{
    width: 100%;
    text-align: center;
    font-size: 2rem;
}