/*
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 {

/* 	Color variables */
	--si-black: #000;
	--si-white: #fff;
	--light-gray: #F5F5F5;
}

/*  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(--do-black;
	var(--do-white);
	var(--light-gray);
*/
/**********    Disable default styling    ***************/
ol, ul {
	padding-left: 0;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}
.elementor a {
	color: #797DBD;
}
p {
	margin: 0 0 10px 0;
    color: #0f3f91;
    margin-top: 0px;
    margin-bottom: 0px;
    line-height: 18px;
}
div[data-elementor-type="wp-page"] a {
  text-decoration: underline;
}
div[data-elementor-type="wp-page"] nav ul li a {
  text-decoration: none;
}
div[data-elementor-type="wp-page"] h3 {
	font-family: 'Roboto Condensed', sans-serif !important;
	color: #0f3f91; 
	font-weight: 300 !important;
	font-size: 18px;
	line-height: 18px !important;
	margin: 15px 0;
}
div[data-elementor-type="wp-page"] ul {
	list-style: none;
}
table.links {
	width: 100%;
}
div[data-elementor-type="wp-page"] table,
div[data-elementor-type="wp-page"] table td {
	border: 0;
}
table.links td {
	padding-bottom: 15px;
	padding-right: 15px;
	border: 0;
}
table.links td a { 
	font-weight: 400;
}
.elementor-nav-menu--main .elementor-nav-menu a,
.elementor-nav-menu--main .elementor-nav-menu a.highlighted,
.elementor-nav-menu--main .elementor-nav-menu a:focus,
.elementor-nav-menu--main .elementor-nav-menu a:hover {
  padding: 2px 0;
}
.e--pointer-double-line .elementor-item:after, .e--pointer-double-line .elementor-item:before, .e--pointer-overline .elementor-item:after, .e--pointer-overline .elementor-item:before, .e--pointer-underline .elementor-item:after, .e--pointer-underline .elementor-item:before {
	background: transparent !important;
}
/****************************************** Spacing classes *****************************************/
.padding-section {
	padding-top: 120px;
	padding-bottom: 120px;
}

.padding-top {
	padding-top: 120px;
}

.padding-bottom {
	padding-bottom: 120px;
}

@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: 90px;
		padding-bottom: 90px;
	}

	.padding-top {
		padding-top: 90px;
	}

	.padding-bottom {
		padding-bottom: 90px;
	}
}


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

	.padding-top {
		padding-top: 90px;
	}

	.padding-bottom {
		padding-bottom: 90px;
	}
}

/****************************************** GFORM styles  ******************************************/
/* CUSTOMISE THIS */
body .gform_wrapper input:not([type=submit]),
body .gform_wrapper textarea  {
    background-color: #ffffff !important;
    line-height: 18px;
    margin: 0px;
    box-shadow: none;
    height: auto;
}
footer .gform_wrapper input:not([type=submit]) {
/* 	border: none !important; */
}
footer .gform_wrapper .gform_fields .name_first label {
	width: 39px !important;
}
footer .gform_wrapper input[type="email"] {
	width: 148px;
	background: #797dbd !important;
}
footer .gform_wrapper input[type="text"] {
	background: #797dbd !important;
}

body .gform_wrapper fieldset {
	border: 0;
}
body .gform_wrapper legend {
	display: none;
}
.gform_wrapper .gfield.gfield--width-two-thirds {
	padding-top: 20px;
}

.gform_wrapper .gfield_label {
	font-size: 15px
}
.gform_wrapper .gfield_required { 
	display: none;
}
body .gform_wrapper .gform_heading {
	display: none;
}

body .gform_wrapper textarea {
/* 	resize: none; */
	padding: 10px 15px !important;
}
body .gform_wrapper .ginput_container_email input::placeholder,
body .gform_wrapper input::placeholder {
	color: #7C7C7C;
	letter-spacing: 0.2px;
}
.gform_button.button {
	margin-top: 15px;
    background: linear-gradient(to bottom, #777cbc, #0f2571);
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
    transition: background 0.3s ease;
}

body .gform_wrapper .gfield .ginput_container label.error {
	color: red !important;
}

.gform_button.button:hover {
    background: linear-gradient(to bottom, #0f2571, #777cbc);
}
footer .gform_button.button {
	border-width: 1px !important;
	padding: 6px 29px;
}
/* Universal CSS for placeholder text across all input types and browsers */
input::placeholder,
textarea::placeholder,
select::placeholder {
	opacity: 1;
}

input,
textarea,
select {
    font-family: Helvetica, Arial, sans-serif !important;
}
input.gfield-choice-input {
	margin-right: 5px !important;
}

/* For Microsoft Edge */
input::-ms-input-placeholder,
textarea::-ms-input-placeholder,
select::-ms-input-placeholder {
    font-family: Helvetica, Arial, sans-serif;
}
/* Rest of styling */
body .gform_wrapper input:focus,
body .gform_wrapper textarea:focus {
    outline: 2px solid var( --e-global-color-c0a0cc9 );
}
body .gform_wrapper input[type="checkbox"]:focus {
	outline: none;
}
body .gform_wrapper .gform_body .gform_fields {
    gap: 5px 20px;
}

body .gform_wrapper .gform_body .gform_fields .gfield:not(.gfield--type-html) {
    padding: 0px;
	display: flex;
	    flex-direction: row;
	align-items: flex-start;
}
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container:not(.ginput_complex):not(.ginput_container_checkbox) {
	width: 100%;
	max-width: 255px;
}
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container.ginput_complex {
	width: 100%;
  display: table;
}
 
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container.ginput_complex .name_first {
	display: table-row;
	width: 100%;
}
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container.ginput_complex .name_first label,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container.ginput_complex .name_first input {
	display: table-cell;
}
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container.ginput_complex .name_first label,
.reservation-form .gfield_label
{
	width: 30%;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 300;
  font-size: 18px;
  color: #0f3f91;
  margin-top: 0px;
  margin-bottom: 0px;
}
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container.ginput_complex .name_first input { 
	width: 100%;
	max-width: 255px;
}
/* Contact and Reservation Form Style */
.contact-form .gform_fields,
.reservation-form .gform_fields,
.footer-form .gform_fields {
    gap: 0px 20px !important;
}

.contact-form .gfield_label, 
.contact-form .gform-field-label,
.reservation-form .gfield_label,
.reservation-form .gform-field-label,
.footer-form .gfield_label,
.footer-form .gform-field-label{
    line-height: 1;
}

.contact-form #field_2_2,
.reservation-form #field_3_2,
.footer-form #field_1_2 {
    padding-left: 6px;
}

.footer-form .gfield_label {
	margin: 0;
}

.footer-form #input_1_2_3 {
	margin-top: 0;
}

.footer-form input {
	border: 1px solid #445b89;
}

.footer-form #input_1_4 {
	max-width: 150px;
}

 .contact-form #field_2_2 input,
.reservation-form #field_3_2 input{
    margin-left: 2px;
}
.footer-form #field_1_2 input {
	margin-left: 0;
}

.footer-form .gfield_checkbox  {
	margin-top: 8px;
}

.footer-form #field_1_4 label {
	font-weight: 300;
}

.contact-form #field_2_2 legend,
.reservation-form #field_3_2 legend,
.footer-form fieldset legend {
     clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
}
.reservation-form #field_3_21 .gfield_description,
.reservation-form #field_3_22 .gfield_description{
	display: none;
} 

div[data-elementor-type="wp-page"] table#Contactform tr td h3,
div[data-elementor-type="wp-page"] .content-contact-form h3 {
	margin: 0 !important;
	line-height: 18px !important;
}
div[data-elementor-type="wp-page"] table#Contactform b,
div[data-elementor-type="wp-page"] .content-contact-form b { 
	font-weight: normal;
}
div[data-elementor-type="wp-page"] table#Contactform input.inputtext,
div[data-elementor-type="wp-page"] .content-contact-form input.inputtext { 
	width: 100%;
}
form.content-contact-form .gfield_label {
	width: 30%;
	font-family: 'Roboto Condensed', sans-serif;
    font-weight: 300;
    font-size: 18px;
    color: #0f3f91;
    margin-top: 0px;
    margin-bottom: 0px;
}
form.content-contact-form .gfield_description.instruction {
	display: none;
}
/* form.content-contact-form #field_2_4 .ginput_container_checkbox {
	display: block;
  position: relative;
  height: 80px;
  right: -240px;
  top: -29px;
} */
.gfield-choice-input {
	width: 15px !important;
    height: 15px !important;
    aspect-ratio: 1;
}

/* CHECKBOX */
.contact-form #field_2_3,
.reservation-form #field_3_3 {
	flex-direction: column;
}

.contact-form #field_2_3 .ginput_container_checkbox,
.reservation-form #field_3_3  .ginput_container_checkbox {
	margin-left: auto;
}

 .contact-form #field_2_3 .gfield_description,
.reservation-form #field_3_3  .gfield_description {
	margin-top: 8px;
	color: red;
}
form.content-contact-form #field_2_4 .ginput_container_checkbox  .gfield_checkbox div {
	margin-bottom: 15px;
}
.gfield_checkbox .gform-field-label {
	color: #0f3f91;
}
form.content-contact-form #field_2_5 {
	margin-bottom: 10px;
}
form.content-contact-form #field_2_5 label.gfield_label {
	align-self: flex-end;
}
form.content-contact-form fieldset#field_2_3 {
	margin-top: 10px;
}
.ginput_container.ginput_container_text,
.ginput_container.ginput_container_textarea {
	width: 100%;
    max-width: 255px;
}
.ginput_container select {
	max-height: 22px;
/* 	background: #ffffff; */
	border: 1px solid #333333;
}
.ginput_container input[type="text"], 
.ginput_container input[type="email"], 
.ginput_container input[type="password"], 
.ginput_container input[type="tel"],
.ginput_container input[type="email"],
.ginput_container textarea {
	width: 100%;
	border: 1px solid #333333 !important;
	
}
.ginput_container input.gform-datepicker,
.ginput_container input[type="number"] {
	width: auto;
}
.ui-datepicker-calendar {
	background: #fff;
  padding: 15px;
  border: 1px solid #333;
	min-width: 200px;
}
.ui-datepicker-calendar td {
	padding: 5px;
}

form.newsletter-optin label,
form.newsletter-optin .name_first label{
	    font-family: 'Roboto Condensed', sans-serif;
    font-weight: 200;
    font-size: 14px !important;
    color: #797dbd !important;
	min-width: 40px;
}
.gform_wrapper .newsletter-optin .gform_body .gform_fields .gfield .ginput_container.ginput_complex .name_first input {
	width: 148px;
  margin-left: -2px;
  margin-top: 5px;
}
/****************************************** Header style ******************************************/
@media screen and (max-width: 768px) {
	#translate_box > div {
		width: 125px;
	}
	body .gform_wrapper .gform_body .gform_fields .gfield:not(.gfield--type-html) {
	    flex-direction: column;
}
	form.content-contact-form #field_2_5 label.gfield_label {
		align-self: flex-start;
}
	.contact-form #field_2_2,
	.contact-form #input_2_2_3_container,
	.reservation-form #field_3_2,
	.reservation-form #input_3_2_3_container {
		display: flex; 
		flex-direction: column;
    	padding-left: 3px;
}

 .contact-form #field_2_2 input {
    margin-left: 2px;
}
	
.contact-form #field_2_3 .ginput_container_checkbox,
.reservation-form #field_3_3  .ginput_container_checkbox {
	margin-left: revert;
}
}
@media screen and (max-width: 766px) {
	#translate_box > div {
		top: -110px;
    	right: 50px;
	}
}
/****************************************** Footer style ******************************************/
footer ul {
	padding-left: 0;
/* 	margin-top: 0; */
}
footer p {
	color: #797dbd;
	font-size: 14px;
}
footer li {
	list-style: none;
	line-height: normal;
}
footer li p {
	padding: 0;
	margin: 0;
	font-size: 14px;
}
.elementor footer p a,
.elementor footer li p a ,
.elementor footer label#label_1_3_1 a {
	text-decoration: underline;
}
.elementor footer p a.infoklik {
	color: #ffffff;
	text-decoration: none;
}
footer li p a:first-of-type {
/* 	text-decoration: none; */
}
/******************* elementor-nav-menu sm-vertical */
.e--pointer-double-line .elementor-item::after, .e--pointer-double-line .elementor-item::before, .e--pointer-overline .elementor-item::after, .e--pointer-overline .elementor-item::before, .e--pointer-underline .elementor-item::after, .e--pointer-underline .elementor-item::before {
	border: 0;
}
ul.elementor-nav-menu.sm-vertical {
	padding: 0 10px;
}
ul.elementor-nav-menu.sm-vertical li {
	border-bottom: dashed 1px #fff;
    padding: 0 0 3px 0;
    line-height: 49px;
}
ul.elementor-nav-menu.sm-vertical li.current-menu-item {
	
}
ul.elementor-nav-menu.sm-vertical li a {
	white-space: nowrap;
}
ul.elementor-nav-menu.sm-vertical li:first-of-type {
	border-top: dashed 1px #fff;
}
ul.elementor-nav-menu.sm-vertical li:last-of-type {
	border-bottom: 0;
} 
.e--pointer-double-line .elementor-item::after, .e--pointer-double-line .elementor-item::before, .e--pointer-overline .elementor-item::after, .e--pointer-overline .elementor-item::before, .e--pointer-underline .elementor-item::after, .e--pointer-underline .elementor-item::before {
	background: transparent;
}
ul.elementor-nav-menu.sm-vertical li a {
	border: 0 !important;
	background-color: transparent;
	padding: 2px 0 2px 0;
}
ul.elementor-nav-menu.sm-vertical li a:hover {
	padding: 2px 0 2px 0;
}
