/* 
Theme Name: Project Pi Consulting Inc.
Theme URI: https://projectpi.ca
Description: This is a child theme of Hello Elementor, created by Project Pi Consulting Inc.
Author: Project Pi Consulting Inc.
Author URI: https://projectpi.ca/
Template: hello-elementor
Version: 1.0.6
GitHub Theme URI: https://github.com/projectpi-ca/project-pi-theme
Text Domain: project-pi
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{
    --e-content-width: 85vw;
    --e-global-banner-height: 25vw;
    
    --e-global-color-white: #fff;
    --e-global-color-black: #000;
    
	--e-global-padding: 20px;
    --e-global-column-gap: 20px;
    --e-global-section-gap: 2rem;
	--e-global-widget-gap: 1rem;
    
    /* font size */
    font-size: calc(16px + 0.3vw);
    --e-global-font-size-xs: 0.8rem;
    --e-global-font-size-small: 1rem;
    --e-global-font-size-medium: 1.2rem;
    --e-global-font-size-large: 1.4rem;
    --e-global-font-size-xl: 1.6rem;
    --e-global-font-size-xxl: 1.8rem;
    --e-global-font-size-3xl: 2rem;
    --e-global-font-size-4xl: 2.2rem;
    --e-global-font-size-5xl: 2.4rem;
    --e-global-font-size-6xl: 2.6rem;
	
	--e-global-border-radius: 10px;
    --e-global-image-border-radius: var(--e-global-border-radius);
	
    --e-global-grid-gap: 20px 20px;
    --e-global-image-ratio: 56.25%;
	
	--e-global-shadow: #0008 0 0 10px;
}

:root body[data-elementor-device-mode="tablet"]{
    --e-content-width: 90vw;
}

:root body[data-elementor-device-mode="mobile"]{
    --e-content-width: 95vw;
}

div[data-elementor-type="wp-page"]{
    overflow-x: hidden;
}


/* Default container gap */
.container-gap.e-parent > .e-con-inner{
    padding-block-start: calc(var(--padding-block-start) + var(--e-global-section-gap));
    padding-block-end: calc(var(--padding-block-end) + var(--e-global-section-gap));
}

.container-gap-top.e-child{
    padding-block-start: calc(var(--padding-block-start) + var(--e-global-section-gap));
}

.container-gap-bottom.e-child{
    padding-block-end: calc(var(--padding-block-end) + var(--e-global-section-gap));
}

.container-gap.e-child{
    padding-block-start: calc(var(--padding-block-start) + var(--e-global-section-gap));
    padding-block-end: calc(var(--padding-block-end) + var(--e-global-section-gap));
}

.container-gap-top.e-parent > .e-con-inner{
    padding-block-start: calc(var(--padding-block-start) + var(--e-global-section-gap));
}

.container-gap-bottom.e-parent > .e-con-inner{
    padding-block-end: calc(var(--padding-block-end) + var(--e-global-section-gap));
}

/* Element Gap */
.e-con .element-gap.elementor-element{
    margin-top: var(--e-global-widget-gap);
    margin-block-start: var(--e-global-widget-gap);
    
    margin-bottom: var(--e-global-widget-gap);
    margin-block-end: var(--e-global-widget-gap);
}

.e-con .element-gap-top.elementor-element{
    margin-top: var(--e-global-widget-gap);
    margin-block-start: var(--e-global-widget-gap);
}

.e-con .element-gap-bottom.elementor-element{
    margin-bottom: var(--e-global-widget-gap);
    margin-block-end: var(--e-global-widget-gap);
}

/* Default column gap */
.elementor-column-gap-default>.elementor-column>.elementor-element-populated {
    padding: var(--e-global-column-gap);
}

/* Inner columns */
.inner-columns.elementor-section,
.inner-columns.elementor-inner-section{
    margin-left: calc(-1 * var(--e-global-column-gap));
    margin-right: calc(-1 * var(--e-global-column-gap));
    width: calc(100% + var(--e-global-column-gap) + var(--e-global-column-gap));
}

/* Section boxed */
.section-boxed{
    padding-left: calc((100vw - var(    --e-content-width)) / 2);
    padding-right: calc((100vw - var(    --e-content-width)) / 2);
}

/* Default section gap */
.section-gap{
    padding-top: var(--e-global-section-gap);
    padding-bottom: var(--e-global-section-gap);
}

.section-gap-top{
    padding-top: var(--e-global-section-gap);
}

.section-gap-bottom{
    padding-bottom: var(--e-global-section-gap);
}

/* Default widget gap */
.elementor-widget.widget-gap > .elementor-widget-container {
	margin-top: var(--e-global-widget-gap);
	margin-bottom: var(--e-global-widget-gap);
}

.elementor-widget.widget-gap-top > .elementor-widget-container {
	margin-top: var(--e-global-widget-gap);
}

.elementor-widget.widget-gap-bottom > .elementor-widget-container {
	margin-bottom: var(--e-global-widget-gap);
}

/* Column Grid Template */
/* 2 in a row */
.column-grid-2 .elementor-widget{
    margin-bottom: 0;
}

.column-grid-2 .elementor-widget-container{
    height: 100%;
}

.elementor .column-grid-2 .elementor-widget-wrap{
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: var(--e-global-grid-gap);
}

body[data-elementor-device-mode="tablet"] .column-grid-2 .elementor-widget-wrap{
    grid-template-columns: repeat(2, 1fr);
}

body[data-elementor-device-mode="mobile"] .column-grid-2 .elementor-widget-wrap{
    grid-template-columns: 1fr
}

/* 3 in a row */
.column-grid-3 .elementor-widget{
    margin-bottom: 0;
}

.column-grid-3 .elementor-widget-container{
    height: 100%;
}

.elementor .column-grid-3 .elementor-widget-wrap{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: var(--e-global-grid-gap);
}

body[data-elementor-device-mode="tablet"] .column-grid-3 .elementor-widget-wrap{
    grid-template-columns: repeat(1, 1fr);
}

body[data-elementor-device-mode="mobile"] .column-grid-3 .elementor-widget-wrap{
    grid-template-columns: 1fr
}

/* 4 in a row */
.column-grid-4 .elementor-widget{
    margin-bottom: 0;
}

.column-grid-4 .elementor-widget-container{
    height: 100%;
}

.elementor .column-grid-4 .elementor-widget-wrap{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: var(--e-global-grid-gap);
}

body[data-elementor-device-mode="tablet"] .column-grid-4 .elementor-widget-wrap{
    grid-template-columns: repeat(2, 1fr);
}

body[data-elementor-device-mode="mobile"] .column-grid-4 .elementor-widget-wrap{
    grid-template-columns: 1fr
}

/* Widget width */
body[data-elementor-device-mode="desktop"] .widget-width-66,
body[data-elementor-device-mode="tablet"] .widget-width-66{
    width: var( --container-widget-width, 66% );
    max-width: 66%;
    --container-widget-width: 66%;
    --container-widget-flex-grow: 0;
}

body[data-elementor-device-mode="desktop"] .widget-width-33,
body[data-elementor-device-mode="tablet"] .widget-width-33{
    width: var( --container-widget-width, 33% );
    max-width: 33%;
    --container-widget-width: 33%;
    --container-widget-flex-grow: 0;
}

/* Breadcrumbs */
#breadcrumbs{
    font-size: 1rem;
}

/* Titles & subtitles */
.title-primary .elementor-heading-title{
    font-family: var(--e-global-typography-primary-font-family);
    font-weight: var(--e-global-typography-primary-font-weight);
    letter-spacing: var(--e-global-typography-primary-letter-spacing);
}

.title-secondary .elementor-heading-title{
    font-family: var(--e-global-typography-secondary-font-family);
    font-weight: var(--e-global-typography-secondary-font-weight);
    letter-spacing: var(--e-global-typography-secondary-letter-spacing);
}

/* Remove uneless gap */
.elementor-widget-text-editor p:last-child{
    margin-bottom: 0;
}

/* Add necessary gap */
.elementor-widget-text-editor ol:not(:last-child),
.elementor-widget-text-editor ul:not(:last-child){
    margin-bottom: 0.9em;
}

/* Form */
.elementor-field-label{
    margin-bottom: 5px;
}

.elementor-field-group .elementor-field-textual{
    padding: 0.5rem 1rem;
}

/* Full height images */
.image-full-height,
.image-full-height .elementor-widget-container,
.image-full-height .elementor-image,
.image-full-height img{
    height: 100%;
}

.image-full-height figure{
    height: 100%;
}

.image-full-height img{
    object-fit: cover;
}

/*
.image-full-height figcaption{
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 30px 20px 10px;
    background: linear-gradient(0deg, #000, #0000);
	font-style: unset;
	color: var(--e-global-color-white);
}
*/

/* Font size */
h1{
    font-size: var(--e-global-font-size-3xl);
}
h2{
    font-size: var(--e-global-font-size-xxl);
}
h3{
    font-size: var(--e-global-font-size-xl);
}
h4{
    font-size: var(--e-global-font-size-large);
}
h5{
    font-size: var(--e-global-font-size-medium);
}
h6{
    font-size: var(--e-global-font-size-small);
}

.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-xs{
    font-size: var(--e-global-font-size-xs);
}
.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-small{
    font-size: var(--e-global-font-size-small);
}
.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-medium{
    font-size: var(--e-global-font-size-medium);
}
.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-large{
    font-size: var(--e-global-font-size-large);
}
.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-xl{
    font-size: var(--e-global-font-size-xl);
}
.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-xxl{
    font-size: var(--e-global-font-size-xxl);
}
.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-3xl{
    font-size: var(--e-global-font-size-3xl);
}
.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-4xl{
    font-size: var(--e-global-font-size-4xl);
}
.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-5xl{
    font-size: var(--e-global-font-size-5xl);
}
.elementor-widget.elementor-widget-heading .elementor-heading-title.elementor-size-6xl{
    font-size: var(--e-global-font-size-6xl);
}

/* Text Shadow */
.text-shadow h1,
.text-shadow h2,
.text-shadow h3,
.text-shadow h4,
.text-shadow h5,
.text-shadow h6,
.text-shadow p,
.text-shadow span,
.text-shadow a{
    text-shadow: var(--e-global-shadow);
}

/* Submenu Font Size */
.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-sub-item{
	font-size: 1rem;
}

/* Default heading line-height */
.elementor-heading-title {
	line-height: 1.2;
}

/* Image corner radius */
.image-rounded img{
    border-radius: var(--e-global-image-border-radius);
}

/* Image ratio (new) */
.e-con .image-3x2{
    width: 100%;
    height: 0;
    padding-top: 66.67%;
    position: relative;
    overflow: hidden;
}

.e-con .image-16x9{
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    position: relative;
    overflow: hidden;
}

.e-con .image-1x1{
    width: 100%;
    height: 0;
    padding-top: 100%;
    position: relative;
    overflow: hidden;
}

.e-con .image-3x2 img,
.e-con .image-16x9 img,
.e-con .image-1x1 img{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    object-fit: cover;
}

/* image ratio (legacy) */
.elementor-widget-wrap .image-3x2 > div{
    width: 100%;
    height: 0;
    padding-top: 66.67%;
    position: relative;
    overflow: hidden;
}

.elementor-widget-wrap.image-16x9 > div{
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    position: relative;
    overflow: hidden;
}

.elementor-widget-wrap.image-1x1 > div{
    width: 100%;
    height: 0;
    padding-top: 100%;
    position: relative;
    overflow: hidden;
}

.elementor-widget-wrap.image-3x2 img,
.elementor-widget-wrap.image-16x9 img,
.elementor-widget-wrap.image-1x1 img{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Form */
.elementor-widget-form .elementor-widget-container .elementor-form .elementor-form-fields-wrapper .elementor-field-type-upload input.elementor-upload-field{
    border-style: unset;
    background-color: unset;
}
