/*
Theme Name: Hello Elementor Child
Theme URI: https://www.humbolt.nl/
Description: Child theme voor Hello Elementor (hello-elementor). Bewaart aanpassingen bij updates.
Author: Humbolt
Author URI: https://www.humbolt.nl/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child-custom
*/

/* -------------------------------------------- */
/* -------------- BEGIN ALGEMEEN -------------- */
/* ---------- BEGIN BINNENKORT ONLINE --------- */
/* ----------------- BEGIN 404 ---------------- */
/* --------------- BEGIN HEADER --------------- */
/* --------------- BEGIN FOOTER --------------- */
/* ------------ BEGIN GRAVITY FORM ------------ */
/* ---------------- BEGIN HOME ---------------- */
/* ------------- BEGIN ASSORTIMENT ------------ */
/* -------- BEGIN VEELGESTELDE VRAGEN --------- */
/* ------------- BEGIN RESPONSIVE ------------- */
/* -------------------------------------------- */

/* -------------------------------------------- */
/* -------------- BEGIN ALGEMEEN -------------- */
/* -------------------------------------------- */

.hide {
    display: none !important;
}

.admin-only {
    display: none !important;
}

.logged-in .admin-only {
    display: block !important;
}

header > .e-con-boxed.e-parent,
[data-elementor-type="page"] > .e-con-boxed.e-parent,
[data-elementor-type="wp-page"] > .e-con-boxed.e-parent,
[data-elementor-type="error-404"] > .e-con-boxed.e-parent,
[data-elementor-type="single-post"] > .e-con-boxed.e-parent,
[data-elementor-type="archive"] > .e-con-boxed.e-parent,
footer > .e-con-boxed.e-parent {
    padding-left: 5% !important;
    padding-right: 5% !important;
}

input:focus,
input:focus-within,
input:focus-visible,
button:focus,
button:focus-within,
button:focus-visible,
select:focus,
select:focus-within,
select:focus-visible,
a:focus,
a:focus-within,
a:focus-visible {
    outline: none !important;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    text-wrap: balance;
}

p:first-of-type {
    margin-top: 0px !important;
}

p:last-of-type {
    margin-bottom: 0px !important;
}

.jet-listing-grid a.jet-engine-listing-overlay-link { 
    z-index: 1;
}

.elementor-icon-list-text {
    text-wrap: balance;
}

.elementor-widget-heading_with_image .inline-image-wrapper {
    margin: 0 0.15em !important;
}

.elementor-widget-icon .elementor-icon-wrapper {
    line-height: 0;
}

.sub-menu li a {
    border-left: none !important;
}

table {
    border-spacing: 0px !important;
}

html {
  scroll-padding-top: 100px;
}

.elementor-button .elementor-button-text.is-split {
  display: inline-block;
  position: relative;
  overflow: hidden;
  vertical-align: top;
}

.elementor-button .elementor-button-text.is-split::before { 
    display: none; 
}

.elementor-button .elementor-button-text.is-split .stg-char {
    display: inline-block;
    position: relative;
    white-space: pre;
    opacity: 1;
    transform: translateY(0);
    transition: transform .3s cubic-bezier(.65, 0, .25, 1);
    transition-delay: calc(var(--i) * 12ms);
}

.elementor-button .elementor-button-text.is-split .stg-char::after {
    content: attr(data-char);
    position: absolute;
    left: 0;
    top: 100%;
}

.elementor-button:hover .elementor-button-text.is-split .stg-char {
    transform: translateY(-100%);
    opacity: 1;
}

/* ------------ */
/* Button First */
/* ------------ */
.btn_first a.elementor-button {
    
}

.btn_first a.elementor-button:hover {
    
}

/* ------------- */
/* Button Second */
/* ------------- */
.btn_second a.elementor-button {
    color: var(--e-global-color-3b18704);
    background-color: var(--e-global-color-accent);
    border: 1px solid var(--e-global-color-accent);
}

.btn_second a.elementor-button:hover {
    
}

/* ------------- */
/* Button Third */
/* ------------- */
.btn_third a.elementor-button {
    background-color: var(--e-global-color-929c369);
    border: 1px solid var(--e-global-color-929c369);
}

.btn_third a.elementor-button:hover {
    
}

/* ----------- */
/* Button Dark */
/* ----------- */
.btn_dark a.elementor-button {
    background-color: transparent;
    border: none;
    padding: 0px;
    color: var(--e-global-color-3b18704);
}

.btn_dark a.elementor-button:hover {
    
}

.btn_dark a.elementor-button .elementor-button-content-wrapper {
    align-items: center;
}

.btn_dark a.elementor-button .elementor-button-content-wrapper .elementor-button-icon {
    font-size: 24px;
}

/* -------------------------------------------- */
/* --------------- END ALGEMEEN --------------- */
/* -------------------------------------------- */

/* -------------------------------------------- */
/* ---------- BEGIN BINNENKORT ONLINE --------- */
/* -------------------------------------------- */

.elementor-maintenance-mode header,
.elementor-maintenance-mode footer {
    display: none !important;
}

/* -------------------------------------------- */
/* ----------- END BINNENKORT ONLINE ---------- */
/* -------------------------------------------- */

/* -------------------------------------------- */
/* ----------------- BEGIN 404 ---------------- */
/* -------------------------------------------- */

.error404 header,
.error404 footer {
    display: none !important;
}

/* -------------------------------------------- */
/* ------------------ END 404 ----------------- */
/* -------------------------------------------- */

/* -------------------------------------------- */
/* --------------- BEGIN HEADER --------------- */
/* -------------------------------------------- */

.header_top {
    
}

.header_top .header_top_logo {

}

.header_top .header_top_menu {

}

.header_top .header_top_menu .header_top_menu_hoofd {

}

.header_top .header_top_menu .header_top_menu_hoofd .menu-item > a,
.elementor-location-popup .header_top_menu_hoofd .menu-item > a {
    display: flex;
    align-items: center;
}

.header_top .header_top_menu .header_top_menu_hoofd .menu-item > a::before,
.elementor-location-popup .header_top_menu_hoofd .menu-item > a::before {
    content: "" !important;
    position: static !important;
    display: inline-block !important;
    width: var(--icon-w, 22px) !important;
    height: 22px !important;
    flex-shrink: 0;
    margin-right: 8px;
    opacity: 1 !important;
    transform: none !important;
    inset: auto !important;
    transition: none;
    border: 0 !important;
    background: currentColor !important;
    -webkit-mask: var(--icon) no-repeat center / contain;
    mask: var(--icon) no-repeat center / contain;
}

.header_top .header_top_menu .header_top_menu_hoofd .header_top_menu_broodjes {

}

.header_top_menu_hoofd .header_top_menu_broodjes > a {
    --icon: url("/wp-content/uploads/hetdelicatessenhuis_broodje.svg");
    --icon-w: 28px;
}

.header_top .header_top_menu .header_top_menu_hoofd .header_top_menu_hapjesschalen {

}

.header_top_menu_hoofd .header_top_menu_hapjesschalen > a {
    --icon: url("/wp-content/uploads/hetdelicatessenhuis_kaas.svg");
    --icon-w: 25px;
}

.header_top .header_top_menu .header_top_menu_hoofd .header_top_menu_geschenken {

}

.header_top_menu_hoofd .header_top_menu_geschenken > a {
    --icon: url("/wp-content/uploads/hetdelicatessenhuis_wijn.svg");
    --icon-w: 11px;
}

.header_top .header_top_menu .header_top_menu_sub {

}

/* ----------- */
/* Sticky menu */
/* ----------- */
.header_top_menu.elementor-sticky--effects {
    -webkit-box-shadow: 0px 0px 5px 3px rgba(0,0,0,0.05); 
    box-shadow: 0px 0px 5px 3px rgba(0,0,0,0.05);
}


/* ----------- */
/* Pop-up menu */
/* ----------- */
.popup_menu {

}

.popup_menu > .dialog-widget-content a.dialog-close-button svg {
    display: none !important;
}

.popup_menu > .dialog-widget-content a.dialog-close-button {
	padding: 12px;
	box-sizing: border-box;
	width: 44px;
	height: 44px;
	border-radius: 4px;
	justify-content: center;
	align-items: center;
}
  
.popup_menu > .dialog-widget-content a.dialog-close-button::before {
    content: "";
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: none;
	background-color: var(--e-global-color-49897df);
	mask: url("/wp-content/uploads/icon_close_dark.svg") center / contain no-repeat;
}

.popup_menu_menu {

}

.elementor-location-popup .header_top_menu_hoofd .menu-item > a::before {
    width: 28px !important;
    height: 22px !important;
    -webkit-mask: var(--icon) no-repeat center / contain;
    mask: var(--icon) no-repeat center / contain;
}

.popup_menu_button {

}

/* -------------------------------------------- */
/* ---------------- END HEADER ---------------- */
/* -------------------------------------------- */

/* -------------------------------------------- */
/* --------------- BEGIN FOOTER --------------- */
/* -------------------------------------------- */

.footer_openingstijden {

}

.footer_openingstijden > .e-con-boxed > .e-con-inner > .e-con-full {
    transform: translateY(80px);
}

.footer_openingstijden .openingstijden_achtergrond {
    position: relative;
}

.footer_openingstijden .openingstijden_achtergrond::after {
    content: "";
    position:absolute;
    inset: -5.5% auto auto 33%;
    width: 35%;
    height: auto;
    aspect-ratio: 159.1 / 87.1;
    background: url("/wp-content/uploads/hetdelicatessenhuis_achtergrond_sticker.svg") center / contain no-repeat;
    z-index: 3;
    pointer-events: none;
}

.footer_openingstijden .e-con.e-flex.openingstijden_lijst_container {
    position: absolute;
    width: calc(100% - 80px);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    flex-wrap: nowrap;
}

.footer_openingstijden .openingstijden_lijst_container table.openingstijden_tabel {
    width: calc(100% - 20px);
    margin: 0 auto;
    border-collapse: collapse;
}

.footer_openingstijden .openingstijden_lijst_container table.openingstijden_tabel tr:not(:last-child) td {
    padding-bottom: 32px;
}

.footer_openingstijden .openingstijden_lijst_container table.openingstijden_tabel td {
    font-family: "txc-pearl", Sans-serif;
    font-size: 1.5em;
    padding: 0;
    border: 0;
    line-height: 0.9;
    color: var(--e-global-color-3b18704);
}

.footer_openingstijden .openingstijden_lijst_container table.openingstijden_tabel td:last-child {
    text-align: right;
}

.footer_openingstijden .openingstijden_lijst_container table.openingstijden_tabel tr.is-vandaag td {
    color: var(--e-global-color-primary);
}

.footer_top {

}

.footer_top .footer_socials {

}

.footer_top .footer_socials .elementor-social-icons-wrapper,
.social_icons .elementor-social-icons-wrapper {
    display: flex;
    gap: 20px;
}

.footer_top .footer_socials .elementor-social-icons-wrapper .elementor-grid-item,
.social_icons .elementor-social-icons-wrapper .elementor-grid-item {
    margin-inline: 0px !important;
}

.footer_top table.openingstijden_tabel {
    width: 100%;
}

.footer_top table.openingstijden_tabel tr {

}

.footer_top table.openingstijden_tabel tr td {
    padding: 0px 0px 16px 0px;
    font-size: 0.9em;
    color: var(--e-global-color-a7e4d46);
}

.footer_top table.openingstijden_tabel .jet-listing-dynamic-repeater__item.is-vandaag td {
    font-weight: 600;
}

.footer_top table.openingstijden_tabel tr:last-of-type td {
    padding: 0px 0px 0px 0px;
    border-bottom: none !important;
}

.footer_top table.openingstijden_tabel tr td:first-of-type {
    text-transform: capitalize;
}

.footer_top table.openingstijden_tabel tr td:last-of-type {
    text-align: right;
}

.bottom_bar {
    
}

.bottom_bar .bottom_bar_menu {

}

.bottom_bar .bottom_bar_copyright .copyright {
    font-size: 0.8em;
    font-weight: 300;
    letter-spacing: 0.5px;
    color: #D3AFAF;
}

.bottom_bar .bottom_bar_copyright .copyright a {
    text-decoration: underline;
    color: #D3AFAF;
}

.google_recaptcha .elementor-widget-text-editor {
    text-wrap: balance;
}

.google_recaptcha .elementor-widget-text-editor a {
    text-decoration: underline;
}

/* -------------------------------------------- */
/* ---------------- END FOOTER ---------------- */
/* -------------------------------------------- */

/* -------------------------------------------- */
/* ------------ BEGIN GRAVITY FORM ------------ */
/* -------------------------------------------- */

body .gform_wrapper {
    padding: 40px;
    background: var(--e-global-color-49897df);   
    border-radius: 16px;
}

body .gform_wrapper .gform_heading {
    display: none;
}

body .gform_wrapper .gform_body {

}

body .gform_wrapper .gform_body .gform_fields {
    grid-row-gap: 24px;
    grid-column-gap: 24px;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_label {
    font-weight: 300;
    font-size: 0.9em;
    line-height: inherit;
    color: var(--e-global-color-3b18704);
    margin-bottom: 6px;
}

body .gform_wrapper .gform_body .gform_fields .gfield .gfield_label .gfield_required {
    color: inherit;
    font-size: inherit;
    padding-inline-start: 0px;
    margin-left: 2px;
}

body .gform_wrapper .gform_body .gform_fields .gfield input,
body .gform_wrapper .gform_body .gform_fields .gfield textarea,
body .gform_wrapper .gform_body .gform_fields .gfield select {
    font-family: inherit;
    font-weight: inherit;
    font-size: 1em;
    line-height: 1.5 !important;
    background-color: #FFFEFA;
    border-color: #FFFEFA;
    border-width: 1px;
    border-radius: 4px;
    border-style: solid;
    padding: 18px 18px;
    min-height: auto !important;
}

body .gform_wrapper .gform_body .gform_fields .gfield input {

}

body .gform_wrapper .gform_body .gform_fields .gfield textarea {
    resize: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield select {
    -webkit-appearance: none;
    appearance: none;
    height: auto;
    line-height: 1.5;
    padding: 18px;
    color: var(--e-global-color-3b18704);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='%23514d4d' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 18px center;
    background-size: 12px 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

body .gform_wrapper .gform_body .gform_fields .gfield :where(textarea:focus, textarea:focus-within, textarea:focus-visible) {
    outline: none !important;
}

body .gform_wrapper .gform_body .gform_fields .gfield input::placeholder,
body .gform_wrapper .gform_body .gform_fields .gfield textarea::placeholder,
body .gform_wrapper .gform_body .gform_fields .gfield select::placeholder {
    font-size: 1em;
    font-weight: 300;
    line-height: 1.5;
    color: var(--e-global-color-text);
}

body .gform_wrapper .gfield select:has(option.gf_placeholder:checked) {
    font-size: 1em;
    font-weight: 300;
    line-height: 1.5;
    color: var(--e-global-color-text);
}

body .gform_wrapper .gfield select option:not(.gf_placeholder) {
    font-size: 1em;
    font-weight: 400;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_date {
    position: relative !important;
    width: 100% !important;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_date input.datepicker {
    flex: 1 1 auto !important;
    width: 100% !important;
    max-width: none !important;
    padding-right: 56px !important;
    cursor: pointer;
    caret-color: transparent;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_date .gform-datepicker-toggle {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 18px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    cursor: pointer;
    z-index: 2;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_date .gform-datepicker-calendar table.calendar {
    table-layout: fixed;
    width: 100%;
}
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_date .gform-datepicker-calendar table.calendar td.nav.prev,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_date .gform-datepicker-calendar table.calendar td.nav.next {
    width: auto;
}
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_date .gform-datepicker-calendar table.calendar th,
body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_date .gform-datepicker-calendar table.calendar td {
    text-align: center;
    vertical-align: middle;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_date .monthMessage {
    display: none;
}

/* body .gform_wrapper .gfield.gfield--input-type-datedropdown .ginput_complex .ginput_container_date {
    flex: 1 1 0;
    max-width: none;
    min-width: 0;
}

body .gform_wrapper .gfield--input-type-datedropdown select:has(option[value=""]:checked) {
    font-size: 1em;
    font-weight: 300;
    line-height: 1.5;
    color: var(--e-global-color-text);
}

body .gform_wrapper .gfield.gfield--input-type-datedropdown .ginput_complex .ginput_container_date select {
    width: 100%;
} */

body .gform_wrapper .gform_body .gform_fields .gfield--type-checkbox .gchoice {
    display: flex;
    column-gap: 8px;
    align-items: center;
    justify-content: flex-end;
}
body .gform_wrapper .gform_body .gform_fields .gfield--type-checkbox .gchoice input {
    margin: 0;
}
body .gform_wrapper .gform_body .gform_fields .gfield--type-checkbox .gchoice .gform-field-label {
    font-size: 0.9em;
    font-weight: 300;
    line-height: 1.5;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_consent {
    display: flex;
    column-gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_consent input {
    margin: 0px 0px;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_consent .gform-field-label {
    font-size: 0.9em;
    font-weight: 300;
    line-height: 1.5;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_consent .gform-field-label a {
    text-decoration: underline;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_consent .gform-field-label .gfield_required_asterisk {
    font-size: inherit;
    color: inherit;
}

body .gform_wrapper .gform_footer {
    margin: 30px 0px 0px 0px !important;
    padding: 0px 0px 0px 0px !important;
    justify-content: flex-start;
}

body .gform_wrapper .gform_footer .gform_button {
    cursor: pointer;
    font-family: "txc-pearl", Sans-serif;
    font-weight: inherit;
    font-size: 1em;
    letter-spacing: 2%;
    line-height: 1 !important;
    color: var(--e-global-color-a7e4d46);
    background-color: var(--e-global-color-primary);
    border-color: var(--e-global-color-primary);
    border-width: 1px;
    border-radius: 40px;
    padding: 15px 25px;
    margin-bottom: 0px !important;
    transition: .3s all;
    -webkit-transition: .3s all;
    min-height: auto !important;
}

body .gform_wrapper .gform_footer .gform_button:hover {
    background-color: var(--e-global-color-accent);
    border-color: var(--e-global-color-accent);
}

/* ------- */
/* Success */
/* ------- */
body .gform_confirmation_wrapper {
    background: green;
    border: 1px solid green;
    border-radius: 8px;
    padding: 20px 24px;
    text-align: center;
    box-shadow: none;
}

body .gform_confirmation_wrapper .gform_confirmation_message {
    color: var(--e-global-color-a7e4d46);
    font-family: inherit;
    font-weight: inherit;
    font-size: 0.9em;
    line-height: 1.5;
    text-wrap: balance;
}

/* ----- */
/* Error */
/* ----- */
body .gform_wrapper.gform_validation_error .gform_validation_errors {
    background: #ff0000;
    border: 1px solid #ff0000;
    border-radius: 8px;
    padding: 20px 24px;
    margin-block-start: 0px;
    margin-block-end: 0px;
    text-align: center;
    box-shadow: none;
    outline: none !important;
    display: none !important;
}

body .gform_wrapper.gform_validation_error .gform_validation_errors h2 {
    color: var(--e-global-color-a7e4d46);
    font-family: inherit;
    font-weight: inherit;
    font-size: 0.9em;
    line-height: 1.5;
    text-wrap: balance;
}

body .gform_wrapper.gform_validation_error .gform_validation_errors h2 span {
    display: none !important;
}

body .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .gfield_label {
    color: #ff0000;
}

body .gform_wrapper .gform_body .gform_fields .gfield.gfield_error input,
body .gform_wrapper .gform_body .gform_fields .gfield.gfield_error textarea,
body .gform_wrapper .gform_body .gform_fields .gfield.gfield_error select {
    border: 1px solid #ff0000;
}

body .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .gfield_description.gfield_validation_message {
    display: none;
}

body .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .ginput_container_consent .gform-field-label,
body .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .ginput_container_consent .gform-field-label a {
    color: #ff0000;
}

body .gform_wrapper .gform_body .gform_fields .gfield.gfield_error .ginput_container_consent .gform-field-label .gfield_required_asterisk {
    color: #ff0000;
}

body .gform_wrapper .gform_body .gform_fields .gfield .ginput_complex .gpld-error-message {
    background: none !important;
    padding-left: 0px !important;
    margin-top: 12px;
    font-size: 0.8em !important;
    color: #ff0000 !important;
    line-height: 1.5;
    font-weight: 400;
}

/* -------------------------------------------- */
/* ------------- END GRAVITY FORM ------------- */
/* -------------------------------------------- */

/* -------------------------------------------- */
/* ---------------- BEGIN HOME ---------------- */
/* -------------------------------------------- */

.home .header_breadcrumb {
    display: none;
}

/* Dynamische openingstijden */
.openingstijden {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 8px;
    font-size: 0.9em;
    font-weight: 400;
    line-height: 1.5;
    color: var(--e-global-color-a7e4d46);
}

.openingstijden span:last-child {
    text-box-trim: trim-both;
    text-box-edge: cap alphabetic;
}

.openingstijden .status-bolletje {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.openingstijden.is-open .status-bolletje {
    background: #39DC47;
}

.openingstijden.is-gesloten .status-bolletje {
    background: red;
}

.openingstijden.is-afwijkend .status-bolletje {
    background-color: #f28c28;
}

/* -------------------------------------------- */
/* ----------------- END HOME ----------------- */
/* -------------------------------------------- */

/* -------------------------------------------- */
/* --------------- BEGIN DETAIL --------------- */
/* -------------------------------------------- */

.generic_section {
    padding-left: 5% !important;
    padding-right: 5% !important;
}

/* Eerste sectie op detailpagina's */
.hero {

}

.header_zoom {

}

.e-con.header_zoom {
    position: relative;
    --overflow: hidden;  
    isolation: isolate;   
}

.header_zoom::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -2;                       
    background-image: inherit;        
    background-position: inherit;
    background-size: cover;
    background-repeat: no-repeat;
    transform-origin: center center;
    will-change: transform;
    animation: headerZoom 10s ease-in-out infinite alternate;
}

.header_zoom::before { 
    z-index: -1;
} 

@keyframes headerZoom {
    0%   { transform: scale(1); }
    100% { transform: scale(1.1); }
}

/* Broodkruimel */
.breadcrumb {

}

.breadcrumb .rank-math-breadcrumb {
    font-size: 0.9em;
}

.breadcrumb .rank-math-breadcrumb p {
    color: #817E75;
    font-weight: 400;
    line-height: 1.5;
}

.breadcrumb .rank-math-breadcrumb p a {
    
}

.breadcrumb .rank-math-breadcrumb p .separator {
    margin: 0px 8px;
}

.breadcrumb .rank-math-breadcrumb p .last {
    font-weight: 500;
    color: var(--e-global-color-3b18704);
}

/* Papieren achtergrond quote */
.quote_container {
    position: relative;
}

.quote_container::after {
    content: "";
    position: absolute;
    inset: auto;
    top: -4%;
    left: 36%;
    width: 24%;
    height: auto;
    aspect-ratio: 159.1 / 87.1; /* viewBox van de SVG */
    background: url("/wp-content/uploads/hetdelicatessenhuis_achtergrond_sticker.svg") no-repeat center / contain;
    z-index: 3;
    pointer-events: none;
}

.quote_container .quote_titel {
    position: relative;
    quotes: "“" "”";
}

.quote_container .quote_titel .elementor-heading-title::before {
    content: open-quote;
    position: absolute;
    right: 100%;   /* hangt links buiten de tekst */
    top: 0;
}

.quote_container .quote_titel .elementor-heading-title::after {
    content: close-quote;
}

.quote_container .quote_subtitel {

}

.quote_container .quote_naam {
    
}

/* Drie geroteerde afbeeldingen */
.detail_afbeeldingen {

}

.detail_afbeeldingen .elementor-widget-image:nth-child(1) {
    transform: rotate(-4deg);
}

.detail_afbeeldingen .elementor-widget-image:nth-child(2) {
    transform: translateY(32px);
}  

.detail_afbeeldingen .elementor-widget-image:nth-child(3) {
    transform: rotate(4deg);
}

/* Broodjes */
.detail_broodjes_titel {
    padding-bottom: 16px;
    border-bottom: 1px solid #C3BFB4;
}

.detail_broodjes_subtitel {
    text-wrap: balance;
}

.detail_broodje_container {
    cursor: pointer;
    row-gap: 0 !important;
    transition: .3s ease;
    -webkit-transition: .3s ease;
}

.detail_broodje_container.is-static { 
    cursor: default;
    pointer-events: none; 
}

.detail_broodje_container .detail_broodje_container_inner,
.e-con.detail_broodje_container_inner {
    flex-wrap: nowrap !important;
}

.detail_broodje_container_inner > :not(.detail_broodje_prijs) {
    flex-shrink: 1;
    min-width: 0;
}

.detail_broodje_container .detail_broodje_container_inner .detail_broodje_naam {

}

.detail_broodje_container .detail_broodje_afbeelding {
    display: grid;
    grid-template-rows: 0fr;
    min-height: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    transition: grid-template-rows .3s ease, opacity .3s ease, margin-top .3s ease !important;
    -webkit-transition: grid-template-rows .3s ease, opacity .3s ease, margin-top .3s ease !important;
}

.detail_broodje_container .detail_broodje_afbeelding img {
    min-height: 0;
}

.detail_broodje_container.is-open .detail_broodje_afbeelding {
    grid-template-rows: 1fr;
    margin-top: 24px;
    opacity: 1;
}

.detail_broodje_container:hover {
    background-color: #ECE6D2 !important;
}

.broodjes_kolom {
    display: flex;
    flex-direction: column;
    gap: 24px;
    min-width: 0;
}

.e-grid:has(> .broodjes_kolom) {
  grid-template-rows: auto !important;
}

.detail_broodje_container_inner .detail_broodje_prijs {
    flex: 0 0 auto;
}

.detail_broodje_container_inner > :not(.detail_broodje_prijs) {
    flex: 1 1 auto;
    min-width: 0;
}

.detail_broodje_container_inner .detail_broodje_prijs .elementor-heading-title {
    white-space: nowrap;
}

/* Assortiment overzicht */
.detail_assortiment {

}

.detail_assortiment .jet-image-accordion__item {
    flex-basis: 0;
}

.detail_assortiment .jet-image-accordion__item:not(.active-accordion)::before {
    background-color: #1E1E1EA6;
    background-image: none;
}

.detail_assortiment .jet-image-accordion__item.active-accordion .jet-image-accordion__content {
    background-color: transparent;
}

.detail_assortiment .jet-image-accordion__title-default {
    transition: opacity .3s ease;
}
.detail_assortiment .jet-image-accordion__item.active-accordion .jet-image-accordion__title-default {
    transition-delay: 0s;
}
.detail_assortiment .jet-image-accordion__content {
    transition: opacity .3s ease;
}
.detail_assortiment .jet-image-accordion__item.active-accordion .jet-image-accordion__content {
    transition: opacity .3s ease .1s;
}

.detail_assortiment .jet-image-accordion__item.active-accordion .jet-image-accordion__content .jet-image-accordion__desc {
    text-wrap: balance;
}

/* Icon list omgezet naar uiterlijk button btn_dark */
.icon_button {

}

.icon_button .elementor-icon-list-item {
    flex-direction: row-reverse;
    gap: 8px;
}

.icon_button .elementor-icon-list-item .elementor-icon-list-icon {

}

.icon_button .elementor-icon-list-item .elementor-icon-list-icon i {
    font-size: 24px;
    color: var(--e-global-color-3b18704);
    width: 24px;
}

.icon_button .elementor-icon-list-item .elementor-icon-list-text {
    font-family: "txc-pearl", Sans-serif;
    font-size: 1.1em;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0.5px;
    padding-inline-start: 0px !important;
    color: var(--e-global-color-3b18704);
    text-wrap: balance;
}

/* -------------------------------------------- */
/* ---------------- END DETAIL ---------------- */
/* -------------------------------------------- */

/* -------------------------------------------- */
/* ------------- BEGIN ASSORTIMENT ------------ */
/* -------------------------------------------- */

.assortiment_listing {

}

.assortiment_listing .assortiment_listing_container {
    position: relative;
    isolation: isolate;
    aspect-ratio: 1 / 1;
    height: auto;
}

.assortiment_listing .assortiment_listing_container::after {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--e-global-color-primary) url(/wp-content/uploads/hetdelicatessenhuis_patroon_rood.svg) left top / 250px auto repeat;
    border-radius: inherit;
    opacity: 0;
    transition: opacity 0.3s ease;
    pointer-events: none;
    z-index: 0;
    will-change: opacity;
}

.assortiment_listing .assortiment_listing_container > * {
    position: relative;
    z-index: 1;
}

.assortiment_listing .assortiment_listing_container > .e-con-inner {
    height: 100%;
}

.assortiment_listing .assortiment_listing_container .assortiment_listing_inner {
    --min-height: 0px;
    min-height: 0;
    flex-grow: 1;
}

.assortiment_listing .jet-engine-listing-overlay-wrap .elementor-element.assortiment_listing_inner::before,
.assortiment_listing .jet-engine-listing-overlay-wrap .elementor-element.assortiment_listing_inner::after {
    content: "" !important;
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: none !important;
    -webkit-mask: url("/wp-content/uploads/hetdelicatessenhuis_masker.svg") center / contain no-repeat;
    mask: url("/wp-content/uploads/hetdelicatessenhuis_masker.svg") center / contain no-repeat;
    transition: opacity 0.3s ease !important;
    will-change: opacity;
    transform: translateZ(0);
}

.assortiment_listing .jet-engine-listing-overlay-wrap .elementor-element.assortiment_listing_inner::before {
    background-color: var(--e-global-color-49897df);
    opacity: 0.95;
}

.assortiment_listing .jet-engine-listing-overlay-wrap .elementor-element.assortiment_listing_inner::after {
    background-color: #50162587;
    opacity: 0;
}

.assortiment_listing .elementor-element.assortiment_listing_inner > * {
    position: relative;
    z-index: 1;
}

.assortiment_listing .assortiment_listing_title .jet-listing-dynamic-field__content {
    transition: color 0.3s ease;
}

.assortiment_listing .btn_dark a.elementor-button .elementor-button-icon,
.assortiment_listing .btn_dark a.elementor-button .elementor-button-text {
    transition: color 0.3s ease;
}

.assortiment_listing .jet-engine-listing-overlay-wrap:hover .assortiment_listing_container::after {
    opacity: 1;
}

.assortiment_listing .jet-engine-listing-overlay-wrap:hover .elementor-element.assortiment_listing_inner::before {
    opacity: 0;
}

.assortiment_listing .jet-engine-listing-overlay-wrap:hover .elementor-element.assortiment_listing_inner::after {
    opacity: 1;
}

.assortiment_listing .jet-engine-listing-overlay-wrap:hover .elementor-element.assortiment_listing_inner .assortiment_listing_title .jet-listing-dynamic-field__content {
    color: var(--e-global-color-a7e4d46);
}

.assortiment_listing .jet-engine-listing-overlay-wrap:hover .elementor-element.assortiment_listing_inner .btn_dark a.elementor-button .elementor-button-icon,
.assortiment_listing .jet-engine-listing-overlay-wrap:hover .elementor-element.assortiment_listing_inner .btn_dark a.elementor-button .elementor-button-text {
    color: var(--e-global-color-a7e4d46);
}

/* -------------------------------------------- */
/* -------------- END ASSORTIMENT ------------- */
/* -------------------------------------------- */

/* -------------------------------------------- */
/* -------- BEGIN VEELGESTELDE VRAGEN --------- */
/* -------------------------------------------- */

.faq_listing .jet-listing-grid__items .jet-listing-grid__item:not(:last-of-type) {
    border-bottom: 1px solid #C3BFB4;
}

.faq_listing .jet-listing-grid__items .jet-listing-grid__item:first-of-type .faq_listing_container {
    padding: 0px 0px 28px 0px;
}

.faq_listing .jet-listing-grid__items .jet-listing-grid__item:last-of-type .faq_listing_container {
    padding: 28px 0px 0px 0px;
}

.faq_listing_container {
    cursor: pointer;
    padding: 28px 0px;
}

.faq_listing_container .faq_listing_vraag {
    font-size: 1em;
    font-weight: 500;
    line-height: 1.5;
    color: var(--e-global-color-3b18704);
    text-wrap: balance;
}

.faq_listing_container .faq_listing_vraag .jet-listing-dynamic-field__content {
    padding-right: 40px;
    text-wrap: balance;
}

.faq_listing_container .faq_listing_vraag .jet-listing-dynamic-field__content::after {
    content: '\f078';
    font-family: 'Font Awesome 6 Pro';
    font-weight: 600;
    font-size: 18px;
    width: 32px;
    height: 32px;
    color: var(--e-global-color-3b18704);
    display: flex;
    align-items: center;
    justify-content: center;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(0deg);
    transition: transform .3s ease;
    -webkit-transition: transform .3s ease;
}

.faq_listing_container .faq_listing_antwoord {
    max-height: 0;
    transition: max-height .3s ease, opacity .3s ease;
    -webkit-transition: max-height .3s ease, opacity .3s ease;
    opacity: 0;
    overflow: hidden;
    width: 700px;
}

.faq_listing_container .faq_listing_antwoord .jet-listing-dynamic-field__content {
    font-size: 1em;
    font-weight: 300;
    line-height: 1.5;
    color: var(--e-global-color-3b18704);
    text-wrap: balance;
}

.faq_listing_container .faq_listing_antwoord .jet-listing-dynamic-field__content a {
    text-decoration: underline;
}

/* ------ */
/* Active */
/* ------ */
.faq_listing_container.active {
    
}

.faq_listing_container.active .e-con-inner {
    gap: 18px;
}

.faq_listing_container.active .faq_listing_vraag {

}

.faq_listing_container.active .faq_listing_antwoord {
    max-height: 500px;
    opacity: 1;
    margin-top: 0px;
}

.faq_listing_container.active .faq_listing_vraag .jet-listing-dynamic-field__content::after {
    content: '\f078';
    transform: translateY(-50%) rotate(-180deg); 
}

/* -------------------------------------------- */
/* --------- END VEELGESTELDE VRAGEN ---------- */
/* -------------------------------------------- */

/* -------------------------------------------- */
/* ------------- BEGIN RESPONSIVE ------------- */
/* -------------------------------------------- */

@media only screen and (max-width: 1600px) {

}

@media only screen and (max-width: 1200px) {
    .assortiment_listing .jet-listing-grid__items {
        justify-content: center;
    }
}

@media only screen and (min-width: 1025px) {
    .detail_assortiment > .e-con:nth-child(1) .jet-image-accordion__list:not(:has(.active-accordion)) > .jet-image-accordion__item:nth-child(1),
    .detail_assortiment > .e-con:nth-child(2) .jet-image-accordion__list:not(:has(.active-accordion)) > .jet-image-accordion__item:nth-child(2),
    .detail_assortiment > .e-con:nth-child(3) .jet-image-accordion__list:not(:has(.active-accordion)) > .jet-image-accordion__item:nth-child(1) {
        flex-grow: 2.33333 !important;
    }
}

@media only screen and (max-width: 1024px) {
    .detail_afbeeldingen .elementor-widget-image:nth-child(2) {
        transform: translateY(0px);
    } 
    .broodjes_kolom { 
        display: contents; 
    }
    .e-con.e-grid:has(> .broodjes_kolom) { 
        grid-template-columns: 1fr; 
    }
}

@media only screen and (max-width: 767px) {
    .header_top_menu {
        background-color: transparent !important;
        -webkit-box-shadow: none !important; 
        box-shadow: none !important;
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        padding: 16px !important;
    }
    .header_top_menu .header_top_menu_responsive a {
        -webkit-box-shadow: 0px 0px 5px 3px rgba(0,0,0,0.05); 
        box-shadow: 0px 0px 5px 3px rgba(0,0,0,0.05);
    }
    .footer_openingstijden .e-con.e-con.e-flex.openingstijden_lijst_container {
        gap: 32px;
    }
    .footer_openingstijden .openingstijden_lijst_container table.openingstijden_tabel tr:not(:last-child) td {
        padding-bottom: 28px;
    }
    /* .form_icons .elementor-icon-list-item > a {
        flex-direction: row;
        gap: 8px;
    } */
    .form_icons .elementor-icon-list-items {
        gap: 16px;
    }
    .form_icons .elementor-icon-list-icon {
        padding: 0 !important;
        margin: 0 !important;
    }
}

@media only screen and (max-width: 640px) {
    body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_date .gform-datepicker-calendar {
        max-width: 100% !important;
        width: 100% !important;
    }
    body .gform_wrapper .gform_body .gform_fields .gfield .ginput_container_date .gform-datepicker-calendar table.calendar {
        width: 100%;
    }
    body .gravity-theme .gform-datepicker-calendar table.calendar td span,
    body .gravity-theme .gform-datepicker-calendar table.calendar th span {
        height: 28px;
        width: 28px;
    }
}

@media only screen and (max-width: 480px) {
    .footer_openingstijden .openingstijden_achtergrond::after {
        display: none;
    }
    body .gform_wrapper {
        padding: 30px;
    }
}

/* -------------------------------------------- */
/* ------------- BEGIN RESPONSIVE ------------- */
/* -------------------------------------------- */