/*
Theme Name:     Pagecraft Child
Description:    Custom WordPress Child theme for theme "PageCraft"
Author:         Pagecraft
Author URI: 	https://pagecraft.nl
Tested up to:   6.2
Requires PHP:   8.2
Template:       pagecraft
Text Domain:    pagecraft-child
Version:        1.0.1
*/


/****************************************** GLOBAL ******************************************/

/* Variables */

:root {
	--pc-black: #000;
	--pc-white: #fff;
	--pc-transparent: #FFFFFF00;
	--light-gray: #F5F5F5;
	
	--spacing-desktop: 40px;
	--spacing-laptop: 30px;
	--spacing-tablet: 20px;
	--spacing-mobile: 20px;
	
	--gform-asterix-color: #3f3f3f;
	--gform-error-color: #CC405C;
	--gform-placeholder-color: #3f3f3f;
	--gform-border-color: #D6D6D6;
	--gform-active-border-color: #000;
	--gform-font-size: var(--e-global-typography-text-font-size);

}

/*  Variable COLORS - globals form Elementor page builder
	var(--e-global-color-primary);
	var(--e-global-color-secondary);
	var(--e-global-color-accent);
	var(--e-global-color-text);
	var(--e-global-color-584f52f) // Globale kleur 'Zwart'
	var(--e-global-color-43f9ea8) // Globale kleur 'Wit'
*/

/*  Variable Fonts - globals form Elementor page builder
	var(--e-global-typography-primary-font-family);
	var(--e-global-typography-secondary-font-family);
*/
/*  Default Elementor colors from plugin
	var(--e-a-color-black);
	var(--e-a-color-white);
*/

/**********    Disable default styling    ***************/
ol, ul {
	padding-left: 20px;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

.elementor-widget-text-editor p:first-of-type {
    margin-top: 0;
}

img {
	object-fit: cover;
}

/****************************************** Spacing classes *****************************************/
.padding-section {
	padding-top: var(--spacing-desktop);
	padding-bottom: var(--spacing-desktop);
}

.padding-top {
	padding-top: var(--spacing-desktop);
}

.padding-bottom {
	padding-bottom: var(--spacing-desktop);
}

@media screen and (min-width: 1160px) {
	.padding-left {
		padding-left: calc((100vw - var(--content-width)) / 2);
	}
	
	.padding-right {
		padding-right: calc((100vw - var(--content-width)) / 2);
	}
}

@media screen and (max-width: 1024px) {
	.padding-section {
		padding-top: var(--spacing-laptop);
		padding-bottom: var(--spacing-laptop);
	}

	.padding-top {
		padding-top: var(--spacing-laptop);
	}

	.padding-bottom {
		padding-bottom: var(--spacing-laptop);
	}
}


@media screen and (max-width: 767px) {
	.padding-section {
		padding-top: var(--spacing-tablet);
		padding-bottom: var(--spacing-tablet);
	}

	.padding-top {
		padding-top: var(--spacing-tablet);
	}

	.padding-bottom {
		padding-bottom: var(--spacing-tablet);
	}
}

@media screen and (max-width: 500px) {
	.padding-section {
		padding-top: var(--spacing-mobile);
		padding-bottom: var(--spacing-mobile);
	}

	.padding-top {
		padding-top: var(--spacing-mobile);
	}

	.padding-bottom {
		padding-bottom: var(--spacing-mobile);
	}
}

header .elementor-element .elementor-widget-container .elementor-icon-wrapper {
	display: flex;
	justify-content: center;
}

/****************************************** Gravity form style ******************************************/
/*** https://docs.gravityforms.com/css-targeting-examples/ ***/
body .gform_heading .gform_required_legend,
body .gform_footer.top_label .gform-loader {
	display: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_required.gfield_required_asterisk {
	color: var(--gform-asterix-color);
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input::placeholder,
body .gform_wrapper .gform_body .gfield .ginput_container textarea::placeholder {
	font-family: var(--e-global-typography-primary-font-family);
	color: var(--gform-placeholder-color);
	font-size: var(--gform-font-size);
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input:not([type='submit']):not([type='radio']):not([type='checkbox']),
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select {
	box-shadow: none;
	border-radius: 0px;
	border-top-width: 0px;
	border-left-width: 0px;
	border-right-width: 0px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: var(--gform-border-color);
	background-color: var(--pc-transparent);
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input:not([type='submit']):not([type='radio']):not([type='checkbox']):focus,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:focus,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select:focus,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container input:not([type='submit']):not([type='radio']):not([type='checkbox']):active,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container textarea:active,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container select:active {
	box-shadow: none;
	border-radius: 0px;
	border-top-width: 0px;
	border-left-width: 0px;
	border-right-width: 0px;
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: var(--e-global-color-accent);
	outline: none;
}

/* Validatie underline */
body .gform_wrapper .gform_body .gform_fields .gfield_error .ginput_container input:not([type='submit']):not([type='radio']):not([type='checkbox']) {
	box-shadow: none;
	border-radius: 0px;
	border-top-width: 0px;
	border-left-width: 0px;
	border-right-width: 0px;
	border-bottom-width: 2px !important;
	border-bottom-style: solid !important;
	border-bottom-color: var(--e-global-color-accent) !important;
	outline: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield legend.gform-field-label,
body .gform_wrapper .gform_body .gform_fields .gfield label.gform-field-label {
    font-family: var(--e-global-typography-text-font-family);
    font-size: 14px;
	font-weight: var(--e-global-typography-text-font-weight);
	color: var(--pc-black);
    line-height: 20px;
}

.gform-theme--framework .gf_progressbar_title,
.gform-theme--framework .gf_step_label {
	font-family: var(--e-global-typography-primary-font-family);
	text-transform: none;
    font-size: 14px;
	font-weight: var(--e-global-typography-8880760-font-weight);
	color: rgba(96, 138, 117, 0.50);
    line-height: 1.3em;
}

.gform-theme--framework .gf_step_number,
.gform-theme--framework .gf_step_active .gf_step_number {
	background: none;
	border: none;
}

.gform-theme--framework .gf_step_active .gf_step_label {
	font-family: var(--e-global-typography-primary-font-family);
	color: var(--e-global-color-secondary);
}

.gform-theme--framework .gf_step {
	align-items: start;
	flex-direction: column;
	gap: 5px !important;
}


.gf_step:nth-child(1) .gf_step_number::before {
  content: "01.";
}

.gf_step:nth-child(2) .gf_step_number::before {
  content: "02.";
}

.gf_step:nth-child(3) .gf_step_number::before {
  content: "03.";
}

.gf_step_number,
.gform_title {
	color: transparent !important;
	position: relative;
	font-size: 0px !important;
}

.gf_step_number::before {
	font-family: var(--e-global-typography-primary-font-family);
	font-size: var(--e-global-typography-653516c-font-size);
	font-weight: var(--e-global-typography-primary-font-weight);
	color: rgba(96, 138, 117, 0.50);
	position: absolute;
	left: 0;
	top: 0;
}

.gf_step_active .gf_step_number::before {
	color: var(--e-global-color-secondary);
}

.gf_step_number::after {
	display: none !important;
}

.gform-theme--foundation .gf_page_steps {
	column-gap: 80px;
}

.gform-theme--foundation .gform_fields {
	row-gap: 25px;
}

.gform-theme--framework .gf_page_steps, 
.gform-theme--framework .gf_progressbar_wrapper {
	margin-block-end: 50px;
}


@media screen and (max-width: 767px) {
	.gform-theme--foundation .gf_page_steps {
		column-gap: 20px;
	}

}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container label.error {
	font-family: var(--e-global-typography-text-font-family) !important;
	font-size: 12px;
	font-weight: 300;
	color: var(--gform-error-color);
}

body .gform_wrapper .gform_body .gform_fields .gfield input[type=text],
body .gform_wrapper .gform_body .gform_fields .gfield input[type=email],
body .gform_wrapper .gform_body .gform_fields .gfield input[type=tel]{
	font-family: var(--e-global-typography-accent-font-family) !important;
	font-size: 14px;
}

.gform_wrapper .gform_page_footer .gform-loader {
	display: none;
}

.gform_wrapper .gform_page_footer .gform_next_button,
.gform_wrapper .gform_page_footer .gform_previous_button,
.gform_wrapper .gform_page_footer input[type=submit],
.gform_confirmation_wrapper .gform_confirmation_message a,
.gform_wrapper .gform_button.button {
	transition: all ease 0.3s;
 	font-family: var(--e-global-typography-primary-font-family) !important;
	font-size: 20px !important;
	background-color: var(--pc-transparent) !important;
	color: var(--e-global-color-243cb70) !important;
	padding: 16px 24px 16px 24px !important;
	border-radius: 30px !important;
	box-shadow: none  !important;
	border-width: 1px !important;
	border-style: solid !important;
	border-color:  var(--e-global-color-243cb70) !important;
}

.gform_wrapper .gform_page_footer .gform_next_button:hover,
.gform_wrapper .gform_page_footer .gform_previous_button:hover,
.gform_confirmation_wrapper .gform_confirmation_message a:hover,
.gform_wrapper .gform_button.button:hover {
	transition: all ease 0.3s;
	border-color:  var(--e-global-color-243cb70) !important;
	background: var(--e-global-color-243cb70) !important;
	color: var(--pc-white) !important; 
}

.gform_wrapper .gform_page_footer {
    justify-content: space-between;	
}


.gform_confirmation_wrapper .gform_confirmation_message {
	font-family: var(--e-global-typography-primary-font-family) !important;
	font-size: 16px;
	color: var(--e-global-color-243cb70) !important;
	background-color: #608A7520;
    padding: 30px 100px;
	text-align: center;
}

.gform_confirmation_wrapper .gform_confirmation_message h3 {
	font-family: var(--e-global-typography-accent-font-family) !important;
	font-weight: 400 !important;
	font-size: 20px;
    margin-bottom: 0;
}

.gform-theme--framework .gform_validation_errors {
	display: none; 
}

.gform-theme--framework .gform_validation_errors .gform_submission_error,
.gform-theme--framework .gfield_validation_message:where(:not(.gform-theme__disable):not(.gform-theme__disable *):not(.gform-theme__disable-framework):not(.gform-theme__disable-framework *)),
.gform-theme--framework .gfield_description.instruction.validation_message {
	font-family: var(--e-global-typography-06a12f8-font-family);
}

.phone-error {
	color: var(--gf-local-color);
	font-family: var(--e-global-typography-06a12f8-font-family);
	font-size: var(--gf-local-font-size);
}

/* Swiper center align*/
.swiper-slide {
	display: flex !important;
	justify-content: center !important;
}

/* Elementor Cart Button*/
.elementor-menu-cart__toggle_button {
	background-color: var(--pc-transparent) !important;
	padding: 0 !important;
}

/* WooCommerce Buttons */

.woocommerce .button {
	color: var(--pc-white) !important;
	background-color: var(--e-global-color-primary) !important;
	transition: all ease .2s;
}

.woocommerce .button:hover {
	color: var(--pc-white) !important;
	background-color: var(--e-global-color-accent) !important;
}

/* WooCommerce My Account */

.woocommerce-MyAccount-content {
	font-family: var(--e-global-typography-text-font-family);
}

.woocommerce-MyAccount-content p {
	font-size: var(--e-global-typography-text-font-size);
}

.woocommerce-MyAccount-navigation ul,
.woocommerce-MyAccount-content-wrapper > p:first-of-type {
	margin-block-start: 0 !important;
}

.woocommerce-MyAccount-content-wrapper p a,
p.woocommerce-LostPassword.lost_password a {
	color: var(--e-global-color-accent) !important;
}

.woocommerce-MyAccount-content-wrapper p a:hover,
p.woocommerce-LostPassword.lost_password a:hover {
	color: var(--e-global-color-primary) !important;
}


/****************************************** Header ******************************************/





/****************************************** Footer ******************************************/

@media screen and (max-width: 767px) {
	footer .elementor-nav-menu a {
    	justify-content: center !important;
	}
}

/****************************************** General ******************************************/

/* Text selection */
::selection {
    background-color: var(--e-global-color-secondary);
    color: var(--pc-white);
}

/* Text selection for Firefox */
::-moz-selection {
    background-color: var(--e-global-color-secondary);
    color: var(--pc-white);
}

/* Blur filter */

.blur-filter {
	backdrop-filter: blur(15px);
   -webkit-backdrop-filter: saturate(180%) blur(15px);
}

/* Align button icon */
.elementor-button-icon {
	display: flex;
	align-items: center;
}

/* Different link color */

.rev-link a {
	color: var(--e-global-color-1bef02a) !important;
}

.rev-link a:hover {
	color: var(--e-global-color-dcc3a19) !important;
}

/* Search bar */

@media screen and (min-width: 1024px) {
	.elementor-widget-search .e-search-input-wrapper {
		width: 200px !important;
	}
	
	.elementor-widget-search .e-search-label>i, .elementor-widget-search .e-search-label>svg {
		transform: translateY(-35%);
	}
}

/* Hidden button, show on hover */

@media screen and (min-width: 1024px) {
	
	.svg-hover-hidden:hover .hidden-button {
		visibility: visible !important;
	}

	.svg-hover-hidden .hidden-button {
		background-repeat: no-repeat;
		background-position: right center;
		display: flex;
		align-items: center;
		background-size: 16px;
		visibility: hidden !important;
	}
	
	.hidden-button .elementor-icon {
		transition: 0s;
	}
}

/* Grayscale */

.gray-filter img {
	filter: grayscale(1);
    transition: all ease .3s;
}

/* Progresstracker Progressbar */

#scroll-container {
  position: relative;
  display: flex;
  flex-direction: row;
}

.progress-column {
  width: 3px;
  position: relative;
  background: var(--e-global-color-text);
  border-radius: 4px;
  overflow: hidden;
}

.scroll-progress-bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  background-color: var(--e-global-color-accent);
  transition: height 0.25s ease;
}


/* Show image on hover */
.image-hover img {
	opacity: 0 !important;
}

.image-hover:hover img {
	opacity: 1 !important;
}

@media screen and (max-width: 1024px) {
	.image-hover img {
		opacity: 1 !important;
	}
}

/* Wie adviseren we */

.wie-adviseren-we .e-n-tab-title[aria-selected=true] {
	text-decoration: underline;
    text-decoration-thickness: 3px;
    text-underline-offset: 3px;
}

/* Afspraak maken block */


@media screen and (min-width: 1024px) {
	
	.afspraak-maken:hover::before {
		transition: all ease 0.5s;
		background-size: 800px !important;
	}
	
	.afspraak-maken p {
		transition: all ease 0.5s;
	}
	
	.afspraak-maken:hover p {
		transition: all ease 0.5s;
		transform: translateY(-50px);
	}
}

.elementor-post-navigation .elementor-post-navigation__link a {
	align-items: end;
}

/* Blog item */

.blogitem-parent {
	transition: all ease 0.3s !important;
}

.blogitem-parent .elementor-icon-box-wrapper {
	align-items: center !important;
}

.blogitem-parent p {
	display: none !important;
}

@media screen and (min-width: 1024px) {

	.blogitem-parent:hover h3 {
		font-size: 16px !important;
	}

	.blogitem-parent:hover p {
		display: block !important;
	}
	
}



/*************************** Remove gradient on hover. Above 1024px. *********************************/

@media screen and (min-width: 1024px) {

	/* Slide up */
	.child-gradient-hvr {
		overflow: hidden;
	}

	.child-gradient-hvr::before {
		transition: transform 0.7s ease;
		transform: translateY(0);
	}

	.parent-gradient-hvr:hover .child-gradient-hvr::before {
		transform: translateY(-100%);
	}

	/* Slide left */
	.child-gradient-hvr-hz {
		overflow: hidden;
	}

	.child-gradient-hvr-hz::before {
		transition: transform 0.7s ease;
		transform: translateX(0);
	}

	.parent-gradient-hvr-hz:hover .child-gradient-hvr-hz::before {
		transform: translateX(-100%);
	}

	/* Slide entire container to left */
	.child-hvr-hz {
		overflow: hidden;
	}

	.child-hvr-hz {
		transition: transform 0.7s ease;
		transform: translateX(0);
	}

	.child-hvr-grow {
		transition: all 0.7s ease;
	}

	.parent-hvr-hz:hover .child-hvr-hz {
		transform: translateX(-100%);
	}

	.parent-hvr-hz:hover .child-hvr-grow,
	.parent-gradient-hvr:hover .child-hvr-grow,
	.parent-gradient-hvr-hz:hover .child-hvr-grow {
		padding: 30px 40px 30px 40px;
		width: 350px;
	}
	
	.blogitem-parent:hover .blogitem-child {
		background-color: rgba(0, 0, 0, 0.85);
	}

}
