/*
 * Theme Name: Divi Child
 * Theme URI: http://www.elegantthemes.com/gallery/divi/
 * Template: Divi
 * Author: OMCBase
 * Author URI: http://www.omcbase.nl
 * Description: Custom Divi child theme for Rietveld.
*/

/**
 * Fix `contact` menu styling
 */
@media all and (min-width: 768px) {
    li.menu-item-105,
    li.menu-item-20765,
    li.menu-item-20781 {
        display: flex !important;
        align-items: center !important;
    }
}
@media all and (max-width: 768px) {
    .header--mobile .header__menu .menu a {
        font-size: 0.875rem !important;
    }
    li.menu-item-105.menu-item::after {
        content: none !important;
    }
}

/**
 * Force align WooCommerce product title to the left
 */
body.single-product div.et_pb_wc_title h1 {
    text-align: left !important;
}

/**
 * Fix 'Contact` menu item styling
 */
li.menu-item-105,
li.menu-item-20765,
li.menu-item-20781 {
    display: flex !important;
    align-items: center !important;
}

/**
 * Force WooCommerce product description inline button styling
 * note: this is due to how they internally added buttons to the description
 */
div.et-dynamic-content-woo--product_description a.small-button.smallblue {
    border-radius: 0.875em 0 !important;
    font-weight: 400 !important;
    color: #fff !important;
    background: #6086E6 !important;
    font-size: 13px !important;
    transition: all 0.2s !important;
    border: unset !important;
    text-shadow: unset !important;
    box-shadow: unset !important;
}
div.et-dynamic-content-woo--product_description a.small-button.smallblue:hover,
div.et-dynamic-content-woo--product_description a.small-button:hover,
div.et-dynamic-content-woo--product_description a.smallblue:hover {
    background: #4765B5 !important;
}

/**
 * Force unordered list styling for specific pages
 * note: this is due to a mismatch styling setup between default pages
 * note: specific page overrides always have 3 `page-id-NUMBER` associated with them for each language
 * note: related list is in chronological order with the classes
 *
 * related to:
 * - single-case
 * - single-article
 * - single-partner
 * - single-tms_partner
 * - single-news
 * - werken-bij-rietveld (nl + de + en)
 * - sub pages of `werken bij rietveld` (nl + de + en)
 */
body.single-case div#main-content ul,
body.single-articles div#main-content ul,
body.single-partner div#main-content ul,
body.single-tms_partner div#main-content ul,
body.single-news div#main-content ul,
body.page-id-8683 div#main-content ul,
body.page-id-20139 div#main-content ul,
body.page-id-19861 div#main-content ul,
body.parent-pageid-8683 div#main-content ul,
body.parent-pageid-20139 div#main-content ul,
body.parent-pageid-19861 div#main-content ul {
    list-style-type: disc !important;
}
body.single-case div#main-content ul li,
body.single-articles div#main-content ul li,
body.single-news div#main-content ul li,
body.single-partner div#main-content ul li,
body.single-tms_partner div#main-content ul li,
body.page-id-8683 div#main-content ul li,
body.page-id-20139 div#main-content ul li,
body.page-id-19861 div#main-content ul li,
body.parent-pageid-8683 div#main-content ul li,
body.parent-pageid-20139 div#main-content ul li,
body.parent-pageid-19861 div#main-content ul li {
    font-weight: 300 !important;
}

/**
 * Force WooCommerce product description unordered list styling
 * note: this is due to a mismatch styling setup between default pages and product descriptions
 */
div.et-dynamic-content-woo--product_description ul {
    list-style-type: disc !important;
}
div.et-dynamic-content-woo--product_description ul li {
    font-weight: 300 !important;
}

/**
 * Fix unordered list spacing
 */
body.single-articles div#main-content ul {
    padding-bottom: 0.5rem !important;
}

.gform_heading {
    display: none !important;
}

.button--red {
    background-color: #E2071B !important;
}

.button--red:hover {
    background-color: #E2071B !important;
}

.button--red--hover:hover {
    background-color: #A8101F !important;
    color: #F5F5F5 !important;
    box-shadow: 0.4375em 0.437rem 0 0 rgba(0, 0, 0, 0.3) !important;
}

/* search button and field styling */
.search_field {
    width: 0;
    max-width: 0;
    background: transparent;
    border: none;
    font-size: var(--label);
    color: var(--white);
    font-weight: 300;
    padding: 0;
    transition:
        width 200ms ease-in-out,
        max-width 200ms ease-in-out;
}
.search_field::placeholder {
    font-style: italic;
}
.search_field.active {
    width: 100%;
    max-width: 200px;
}
#search_icon {
    float: right;
    margin-top: 2px;
}
.header--mobile .search_field {
    max-width: 100% !important;
    width: 100% !important;
    z-index: 99;
    opacity: 1;
    color: var(--blue_2);
    margin-left: 1.8rem;
    font-weight: 500;
    font-size: 100%;
}

/* fix header padding issue with divi */
body.search-results .et-db #et-boc .et-l .et_pb_section {
    padding: 0 !important;
}

.woocommerce table.shop_table_responsive tr td, .woocommerce-page table.shop_table_responsive tr td {
    text-align: left !important;
}
.woocommerce-cart-form__contents td a {
    color: #E2071B !important;
}
.woocommerce-cart-form__contents th.product-subtotal,
.woocommerce-cart-form__contents th.product-quantity,
.woocommerce-cart-form__contents td.product-quantity,
.woocommerce-cart-form__contents td.product-subtotal {
    display: none !important;
}
.cart_item strong.product-quantity {
    display: none !important;
}

.woocommerce-billing-fields h3,
.woocommerce-additional-fields h3,
#order_review_heading {
    color: #E2071B !important;
}

.custom-assortment-block:has(div.et-last-child) .et_pb_column:last-child {
    margin-right: auto !important;
}

#lang_sel_list {
    position: relative;
}

#lang_sel_list ul {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

#lang_sel_list li {
    position: relative;
    text-align: center;
}

#lang_sel_list li a {
    text-align: center;
    font-weight: 300;
    font-size: 0.9rem;
}

#lang_sel_list .icl-nl a {
    padding: 0 !important;
}

#lang_sel_list .icl-en,
#lang_sel_list .icl-de {
    display: none;
    position: absolute;
    top: 100%;
    background-color: #2B3C66;
    padding: 5px 10px;
    white-space: nowrap;
    z-index: 10;
    width: 60px;
    left: -22px;
    border: 1px solid #fff;
}

#lang_sel_list .icl-en {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
}

#lang_sel_list .icl-de {
    margin-top: 43px;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
}

#lang_sel_list:hover .icl-en,
#lang_sel_list:hover .icl-de {
    display: list-item;
}

@media all and (min-width: 560px) {
    .custom-last-button-outlining {
        margin-bottom: 2rem !important;
    }
    .custom-last-button-outlining .et_pb_button_module_wrapper {
        position: absolute;
        bottom: -2em;
    }
    .custom-last-button-outlining .et_pb_button_0_wrapper {
        width: 100%;
    }
    .custom-last-button-outlining .et_pb_button_1_wrapper,
    .custom-last-button-outlining .et_pb_button_3_wrapper,
    .custom-last-button-outlining .et_pb_button_5_wrapper,
    .custom-last-button-outlining .et_pb_button_8_wrapper {
        right: 0;
    }
    .custom-last-button-outlining .et_pb_button_module_wrapper a {
        max-width: max-content;
    }
}

/* woo assortment overview page */
#main-content ul.products {
    width: 100%;
    margin-top: 6rem;
}

#main-content ul.products {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4rem 0;
    margin-left: 0 !important;
}

#main-content ul.products::before,
#main-content ul.products::after {
    display: none !important;
}

#main-content ul.products li {
    margin: 0 !important;
    width: auto !important;
}

#main-content ul.products li a {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 !important;
    gap: 2rem;
    min-width: 240px;
}

#main-content ul.products img {
    height: 120px !important;
    width: auto !important;
}

#main-content ul.products h2 {
    font-size: 16px !important;
    padding: 0.75em 1em !important;
    border-radius: 0.875em 0 !important;
    transition: all 0.2s linear;
    background-color: var(--blue) !important;
    color: var(--white) !important;
}

#main-content ul.products h2:hover {
    background: var(--blue_4) !important;
    box-shadow: 0.4375em 0.437rem 0 0 rgba(0, 0, 0, 0.15) !important;
}

#main-content ul.products .count,
#main-content .woocommerce-result-count,
#main-content .woocommerce-ordering,
form.woocommerce-ordering {
    display: none !important;
}

header.woocommerce-products-header {
    max-width: 80ch;
    margin: 0 auto;
}

/* product overview page styling */
.custom_products_overview ul.products {
    display: flex !important;
    flex-direction: column !important;
    gap: 2rem !important;
    margin-top: 0 !important;
}

.custom_products_overview ul.products li.product a {
    width: 100%;
    display: inline-grid !important;
    align-items: start !important;
    column-gap: 1rem;
    gap: 0 2rem !important;
    grid-template-columns: 120px auto 120px 160px;
    grid-template-rows: auto;
    grid-template-areas:
        "image title price quote"
        "image description price quote";
    line-height: 100% !important;
    color: var(--blue);
}

.custom_products_overview ul.products li.product a .et_shop_image {
    grid-area: image;
    border: 3px solid #F2F5FF;
    padding: 0.5rem;
    max-height: 120px;
}

#main-content .custom_products_overview ul.products li.product a .et_shop_image img {
    object-fit: contain;
    width: inherit !important;
    height: inherit !important;
}

#main-content .custom_products_overview ul.products li.product a .woocommerce-loop-product__title {
    grid-area: title;
    padding: 0 !important;
    font-size: 22px !important;
    color: var(--red) !important;
    background-color: unset !important;
}

#main-content .custom_products_overview ul.products li.product a .woocommerce-loop-product__title:hover {
    background-color: unset !important;
    box-shadow: unset !important;
}

.custom_products_overview ul.products li.product a .price {
    grid-area: price;
    display: flex;
    flex-direction: column;
}

.custom_products_overview ul.products li.product a .price .amount {
    margin-top: 1rem;
    color: var(--blue_2) !important;
    font-size: 22px !important;
}

.custom_products_overview ul.products li.product a .description {
    grid-area: description;
}

.custom_products_overview ul.products li.product a .quote {
    grid-area: quote;
    background-color: var(--red) !important;
    padding: 14px 1rem !important;
    color: white !important;
    font-size: 14px !important;
    border-top-left-radius: 14px;
    border-bottom-right-radius: 14px;
}

@media all and (max-width: 768px) {
    .custom_products_overview ul.products li.product {
        width: 100% !important;
        max-width: 100% !important;
    }
    .custom_products_overview ul.products li.product a {
        display: flex !important;
        gap: 1.5rem !important;
    }
    .custom_products_overview ul.products li.product a span.et_shop_image {
        max-height: 120px !important;
    }
    .custom_products_overview ul.products li.product a span.et_shop_image img {
        max-height: 120px !important;
    }
}

.custom_products_overview .woocommerce-pagination ul {
    float: right;
    display: flex !important;
    flex-direction: row !important;
    gap: 1rem;
    border: unset !important;
}

.custom_products_overview .woocommerce-pagination ul li {
    border: unset !important;
    width: auto !important;
}

.custom_products_overview .woocommerce-pagination ul li a,
.custom_products_overview .woocommerce-pagination ul li .current {
    padding: 1rem !important;
    border: 1px solid #2B3C66;
    border-radius: 10px 0px;
    color: var(--blue) !important;
    font-size: 14px !important;
}

.custom_products_filter .wpfFilterWrapper {
    margin-top: 0 !important;
    margin-bottom: 2rem !important;
    padding: 0 !important;
}
.custom_products_filter .wpfFilterTitle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 16px 12px;
    background-color: #89A6EF;
}

.custom_products_filter .wpfFilterTitle div {
    height: auto !important;
    font-size: 14px !important;
    padding: 0;
}

#main-content .custom_products_filter .wpfFilterContent ul {
    margin-left: 0 !important;
}

#main-content .custom_products_filter .wpfFilterContent ul li {
    padding: 0.5rem !important;
}

.custom_products_filter .wpfFilterContent ul li label {
    color: #2B3C66 !important;
    font-weight: 300;
}

.custom_products_filter .wpfFilterContent ul li:nth-child(2n) {
    background-color: #f2f5ff !important;
}

/* single product page styling */
.single-product .woocommerce-product-gallery__trigger {
    background-color: #89A6EF !important;
    border-radius: 10px 0 !important;
}

.single-product .woocommerce-product-gallery__trigger::before {
    border: 2px solid #fff !important;
}

.single-product .woocommerce-product-gallery__trigger::after {
    background-color: #fff !important;
}

.single-product .woocommerce-product-gallery__image img {
    max-height: 450px;
    width: auto !important;
    margin: 0 auto
}

.single-product .woocommerce-product-gallery ol li {
    width: 100px !important;
    height: 100px !important;
}

.single-product .woocommerce-product-gallery ol li:has(img.flex-active) {
    border-color: #89A6EF !important;
}

.single-product .woocommerce-product-attributes th,
.single-product .woocommerce-product-attributes td {
    width: 50%;
}

.single-product .woocommerce-product-attributes tr:nth-child(2n) th,
.single-product .woocommerce-product-attributes tr:nth-child(2n) td {
    background-color: #F2F5FF !important;
}

.single-product .woocommerce-product-attributes td {
    font-style: normal !important;
}

/* header navigation styling */
.header--desktop nav ul li {
    position: relative !important;
}

.header--desktop nav ul li ul.sub-menu {
    position: fixed !important;
    left: 0 !important;
    width: 100vw !important;
    z-index: 0 !important;
    padding: 3rem 10% 3rem 30% !important;

    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 0 2rem;
    max-height: 300px;
    align-content: end;
}

.header--desktop nav ul li.menu-item-105 ul.sub-menu,
.header--desktop nav ul li.menu-item-20765 ul.sub-menu,
.header--desktop nav ul li.menu-item-20781 ul.sub-menu {
    flex-direction: row !important;
    justify-content: end !important;
}

.header--desktop nav ul li.menu-item-117 ul.sub-menu,
.header--desktop nav ul li.menu-item-20654 ul.sub-menu,
.header--desktop nav ul li.menu-item-20678 ul.sub-menu{
    max-height: 390px !important;
}

.header--desktop nav ul li.menu-item-120 ul.sub-menu,
.header--desktop nav ul li.menu-item-20703 ul.sub-menu,
.header--desktop nav ul li.menu-item-20728 ul.sub-menu {
    max-height: 420px !important;
}

.header--desktop nav ul li ul.sub-menu li {
    flex-shrink: 1;
    min-width: 25%;
    width: auto;
    max-width: 50%;
}

.header--desktop nav ul li ul.sub-menu li a::after {
    float: right;
    padding-left: 0.6rem;
    font-family: "Font Awesome 6 Pro" !important;
    font-size: 0.875rem !important;
    font-style: normal !important;
    font-weight: 300 !important;
    content: "\f054" !important;
}

/* add header logo animation */
/* note: these values must also be changed in the related javascript code for the correct functioning */
#custom_logo {
    width: 170px;
    height: auto;
    transition: width 300ms ease-in-out, height 300ms ease-in-out;
}

/* hide breadcrumbs on selected pages */
.single-articles #breadcrumbs,
.single-case #breadcrumbs,
.single-news #breadcrumbs,
.single-partner #breadcrumbs,
.single-tms-partner #breadcrumbs {
    display: none !important;
/
}

.contactform-horizontal label {
    width: 100% !important;
    display: inline;
}

.contactform-horizontal .ginput_container {
    width: 100% !important;
}

.news-item-block img,
.cases-item-block img {
    height: 350px !important;
    min-height: 350px !important;
    object-fit: cover !important;
}

#main-content ul {
    list-style-position: outside !important;
    margin-left: 14px !important;
}

/* change icon colors to white on vehicles detail page */
.vehicle button i::before {
    filter: brightness(0) invert(1);
}

/* fix team member avatar image height for images that
 * are bigger than 250px on the team page
 */
ul.team_members_list li.team_member_card img {
    max-height: 250px;
}

._fa-big:before {
    width: 40px;
    height: 33px;
}

ul li.underline-blue {
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--blue_3);
}

.btn-override-border-width.et_pb_button {
    border-width: 1px !important;
}

.img-min-width-max-content {
    min-width: max-content;
}

#tns1-ow button[data-action="start"],
#tns1-ow button[data-action="stop"],
#tns2-ow button[data-action="start"],
#tns2-ow button[data-action="stop"] {
    display: none;
}

.header--desktop {
    display: none !important;
}

@media (min-width: 64rem) {
    .header--desktop {
        display: flex !important;
    }

    .header--mobile {
        display: none !important;
    }
}

.footer__menu {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(16rem, auto));
    gap: 2rem;
}

.hamburger > div {
    width: 1.61875rem;
}

.hamburger span {
    height: 1px;
    transition: all 0.2s linear;
}

input:checked + .hamburger .hamburger__middle {
    width: 0 !important;
}

input:checked + .hamburger .hamburger__top {
    transform: translate(0, 0.5rem) rotate(45deg);
}

input:checked + .hamburger .hamburger__bottom {
    transform: translate(0, -0.5rem) rotate(-45deg);
}

input:checked + .hamburger + .header__menu {
    display: block !important;
}

.hamburger__text--opened,
.hamburger__text--closed {
    width: 8ch;
    text-align: center;
}

input:checked + .hamburger > .hamburger__text--opened {
    display: none !important;
}

input:checked + .hamburger > .hamburger__text--closed {
    display: block !important;
}

.header--desktop nav ul {
    display: flex;
    gap: 2rem;
}

.header--desktop .sub-menu {
    position: absolute;

    width: max-content;
    min-width: 15rem;
    gap: 0;
    opacity: 0;
    z-index: -1;
    height: 0;
    pointer-events: none;

    display: flex;
    flex-direction: column;
    background-color: var(--white);

    box-shadow: 10px 10px 0px 0px rgba(43, 60, 102, 0.1);
    border: 0px 0px 1px 0px;
    border: 1px solid rgba(43, 60, 102, 1);
}

.header--desktop nav .menu-item-has-children {
    position: relative;
}

.header--desktop nav .menu-item-has-children > a {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    line-height: 200%;
    padding: 0.5rem 0;
}

.header--desktop nav .menu-item-has-children:hover > .sub-menu {
    opacity: 1;
    z-index: 1;
    height: auto;
    pointer-events: visible;
}

.header--desktop nav .menu-item-has-children > a::after {
    content: "\f078";
    font-family: "Font Awesome 6 Pro";
    color: var(--white);
    transform: rotate(0deg);
    transition: transform 0.2s linear;
}

.header--desktop nav .sub-menu .menu-item:hover > * {
    opacity: 0.7;
}

.header--desktop nav .menu-item-has-children.current_page_parent > a::after,
.header--desktop nav .current-menu-parent > a::after,
.header--desktop nav .menu-item-has-children:hover > a::after {
    transform: rotate(180deg);
}

.header--desktop nav .menu-item.menu-item-has-children::before {
    content: "";
    position: absolute;
    bottom: 0;
    background-color: var(--blue_3);
    height: 0.25rem;
    left: 0;
    right: 100%;
    transition: right 0.25s linear;
}

.header--desktop nav .menu-item-has-children.current_page_parent::before,
.header--desktop nav .menu-item-has-children.current-menu-parent::before,
.header--desktop nav .current_page_item.menu-item-has-children::before,
.header--desktop nav .menu-item.menu-item-has-children:hover::before {
    right: 0;
}

.header--desktop nav .menu-item-has-children.current_page_parent > a,
.header--desktop nav .menu-item.menu-item-has-children:hover > a,
.header--desktop nav .menu-item.menu-item-has-children:hover > a::after,
.header--desktop nav .current-menu-parent > a,
.header--desktop nav .current_page_item > a,
.header--desktop nav .current_page_item > a::after,
.header--desktop nav .current-menu-parent > a::after,
.header--desktop nav .menu-item-has-children.current_page_parent > a::after {
    color: var(--blue_3);
}

.header--desktop .sub-menu li {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--blue_2);
}

.header--desktop .sub-menu li a {
    color: var(--blue);
    line-height: 150%;
    letter-spacing: 0.01em;
    text-align: left;
    display: block;
    width: 100%;
}

.header--desktop .sub-menu > li.menu-item:not(.multi-level) a {
    font-size: 0.875rem;
    font-weight: 300;
}

.header--desktop .sub-menu > li.menu-item {
    gap: 1rem;
    padding: 0.625rem 0.375rem;
}

.header--desktop a {
    font-size: 1rem;
    font-weight: 500;
    line-height: 150%;
    letter-spacing: 0.01em;
    text-align: left;
    color: var(--white);
}

.header--mobile {
    display: grid;
    grid-template-areas: "logo hamburger" "nav nav";
    place-content: space-between;
    grid-template-rows: 1fr auto;
    width: 100%;
    height: 4rem;
}

.header--mobile nav ul#menu-main-menu li a {
    width: 100vw !important;
}

.header--mobile input {
    position: absolute;
    z-index: -1;
    opacity: 0;
}

.header--mobile .header__menu .menu {
    display: flex;
}

.header--mobile .header__menu .sub-menu {
    display: none;
}

.header--mobile .header__menu .menu,
.header--mobile .header__menu .sub-menu {
    flex-direction: column;
    overflow-x: hidden;
}

.header--mobile .header__menu .menu > .menu-item {
    display: grid;
    grid-template-areas: "menu-item icon" "sub-menu sub-menu";
    place-content: space-between;
    grid-template-columns: 1rem 1rem;
}

.header--mobile .header__menu .sub-menu > li.multi-level {
    flex-direction: column;
    align-items: flex-start;
}

.header--mobile .header__menu .menu > .menu-item.menu-item-has-children::after {
    content: "\f078";
    font-family: "Font Awesome 6 Pro";
    grid-area: icon;
    align-self: center;
    justify-self: end;
}

.header--mobile .header__menu .menu ._fa {
    gap: 0.5rem;
}

.header--mobile .header__menu .sub-menu {
    grid-area: sub-menu;
    background-color: var(--blue_5);
    width: 100%;
}

.header--mobile .header__menu .sub-menu > .menu-item {
    display: flex;
    align-items: center;
}

.header--mobile .header__menu .sub-menu > li.multi-level > a {
    padding: 1rem;
    position: relative;
    width: 100%;
}

.header--mobile .header__menu .menu > .menu-item:not(._fa) > a {
    padding: 0.75rem 0 0.75rem 1rem;
}

.header--mobile .header__menu .menu a {
    display: block;
    color: var(--blue);
    font-size: var(--body-sm);
    flex: 1;
    line-height: var(--line-height-200);
    letter-spacing: 0.00875rem;
}

.header--mobile .header__menu .sub-menu a {
    font-size: var(--body-xs);
}

.header--mobile .header__menu li.menu-item-has-children > a,
.header--mobile .header__menu .sub-menu > li.multi-level > a {
    color: var(--blue);
    font-size: 0.875rem;
    font-weight: 500 !important;
    line-height: normal;
    letter-spacing: 0.00875rem;
}

.header--mobile .header__menu .sub-menu > li:not(.multi-level) {
    padding: 0.62rem 1rem;
}

.header--mobile .header__menu .sub-menu li:not(.menu-item-has-children) {
    position: relative;
}

.header--mobile .header__menu .sub-menu li:not(.menu-item-has-children)::after {
    content: "";
    position: absolute;
    left: -0.5rem;
    right: -0.5rem;
    background-color: var(--blue_3);
    height: 1px;
    bottom: 0;
}

.header--mobile .header__menu .menu > .menu-item::after {
    padding-right: 1rem;
    transform: rotate(0deg);
    transition: transform 0.2s linear;
}

.header--mobile .header__menu .menu .menu-item.et-hover::after {
    padding-left: 1rem;
}

.header--mobile .header__menu .menu .menu-item.et-hover .sub-menu,
.header--mobile .header__menu .menu .menu-item:focus-within .sub-menu,
.header--mobile .header__menu .menu .menu-item:focus-visible .sub-menu,
.header--mobile .header__menu .menu .menu-item:active .sub-menu {
    display: flex;
}

.header--mobile .header__logo {
    grid-area: logo;
    align-self: center;
    width: max-content;
}

.header--mobile .hamburger {
    grid-area: hamburger;
    align-self: center;
}

.header--mobile .header__menu {
    position: absolute;
    padding-top: 3rem;
    inset-inline: -1rem;
    background-color: var(--white);
    inset-block: 4rem 0;
    background: white !important;
    width: 100vw;
    height: 100vh;
    overflow-y: scroll;
}

.header--mobile .header__menu li.multi-level > a::before {
    content: "";
    position: absolute;
    left: -0.5rem;
    right: -0.5rem;
    background-color: var(--blue_3);
    height: 1px;
    top: 100%;
}

.footer__menu a {
    color: var(--white);
}

.footer__menu > .menu-item > a {
    font-size: var(--h6);
    font-weight: 500;
    line-height: var(--line-height-200);
    letter-spacing: 0.0525rem;
    text-transform: uppercase;

    display: flex;
    justify-content: space-between;
    border-bottom: 1px solid var(--white);
    padding-bottom: 0.38rem;
    margin-bottom: 1.5rem;
}

.footer__menu > .menu-item > a::after {
    content: "\f054";
    font-family: "Font Awesome 6 Pro";
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    letter-spacing: 0.07rem;
    text-transform: uppercase;
}

.footer__menu .sub-menu {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.footer__menu .sub-menu > .menu-item > a {
    font-size: var(--label);
    font-weight: 300;
}

body .hero-slider::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
}

#main-content {
    min-height: 100vh;
}

body .et_pb_scroll_top.et-pb-icon {
    text-align: center;
    right: 12.5%;
    background: var(--blue_5);
    border-radius: 99em;
    padding: 0.5rem;
    font-size: initial;
}

body .et_pb_scroll_top.et-pb-icon.et-visible {
    background-color: var(--blue_5);
}

body .et_pb_scroll_top.et-pb-icon::before {
    content: "\f0aa";
    font-family: "Font Awesome 6 Pro" !important;
    font-size: 1.375rem;
    font-style: normal;
    font-weight: 300;
    line-height: normal;
    letter-spacing: 0.01375rem;
    color: var(--blue);
}

body #breadcrumbs span,
body #breadcrumbs a,
body #breadcrumbs strong {
    font-size: var(--text-label);
    font-weight: 500;
    letter-spacing: 0.01em;
    color: var(--blue_2);
}

.flex-alternate > *:nth-child(odd) {
    flex-direction: column;
}

@media (min-width: 48rem) {
    .flex-alternate > *:nth-child(odd) {
        flex-direction: row-reverse;
    }
}

.branches-grid {
    display: flex;
    gap: 1rem;
    flex-direction: column;
    align-items: center;
}

.branches-grid li {
    max-width: 40ch;
    width: 100%;
}

@media (min-width: 64rem) {
    .branches-grid {
        display: grid;
        gap: 1rem;
        grid-template-columns: repeat(2, 1fr);
    }

    .branches-grid li {
        max-width: 45ch;
    }
}

@media (min-width: 95rem) {
    .branches-grid {
        display: grid;
        gap: 2rem;
        grid-template-columns: repeat(3, auto);
    }

    .branches-grid li {
        max-width: 50ch;
    }
}

.fleet_overview > div {
    width: 100%;
}

@media (min-width: 64rem) {
    .fleet_overview > div {
        width: 47%;
    }
}

.w-max-content {
    width: max-content;
}

.w-min-content {
    width: min-content;
}

.vehicle-accordion {
    display: flex;
}

.vehicle-accordion .et_pb_tabs_controls {
    display: flex;
    flex-direction: column;
    width: 30%;
}

body .vehicle-accordion .et_pb_tabs_controls li {
    height: auto !important;
    border-color: transparent !important;
}

body .vehicle-accordion .et_pb_tabs_controls a {
    padding: 0;
    font-family: Poppins;
    font-size: 16px;
    font-weight: 300;
    line-height: 24px;
    letter-spacing: 0.01em;
    text-align: left;
}

.vehicle-accordion .et_pb_all_tabs {
    width: 100%;
}

.vehicle-accordion .et_pb_tabs_controls::after {
    display: none;
}

.highlights li {
    border-bottom: 1px solid var(--blue_3);
}

.pagination span,
.pagination a {
    padding: 0.875rem 1rem;
    border: 1px solid var(--blue);
    border-radius: 0.625rem 0;
    color: var(--blue);
}

.pagination span {
    background-color: var(--blue);
    color: var(--white);
}

.vehicle .content h5 {
    font-size: var(--h5);
    color: var(--blue);
    font-weight: 400;
}

.vehicle .nav {
    width: 100%;
}

.vehicle .content,
.vehicle .nav {
    width: 100%;
}

.vehicle .content .block {
    max-width: 60ch;
}

@media (min-width: 80rem) {
    .vehicle .content {
        width: 75%;
    }

    .vehicle .content .block {
        max-width: 75ch;
    }

    .vehicle .nav {
        width: 22%;
    }
}

body .gform_body span > label,
body .gform_body .gfield_description {
    display: none !important;
}

body .gform_body .gfield_label {
    font-size: var(--body);
    font-weight: 400;
    line-height: var(--line-height-200);
    color: var(--white);
    margin: 0;
}

body .gfield_required_asterisk {
    color: var(--white);
}

body .gform_required_legend {
    display: none;
}

body .gform_body textarea,
body .gform_body input {
    padding: 1.125rem !important;
    border-radius: 1.25rem 0 !important;
}

body .gform_body input[type="checkbox"] {
    border-radius: 0 !important;
}

body .gform_body input[type="radio"] {
    border-radius: 50% !important;
    background-color: transparent;
    padding: 0.5rem !important;
    border-color: var(--blue) !important;
}

body .gform_body textarea {
    min-block-size: 6.875rem !important;
    resize: none;
}

#contact-form .gfield_label,
#help-desk .gfield_label {
    color: var(--blue);
}

#contact-form textarea,
#contact-form input,
#help-desk input,
#help-desk textarea {
    border-color: transparent;
}

/* decrease inquiry-form gap */
#inquiry-form .gform-theme--foundation .gform_fields {
    row-gap: 1.8rem !important;
}

#contact-form .gform_footer,
#help-desk .gform_footer,
#inquiry-form .gform_footer,
#tailored-advice .gform_footer {
    justify-content: flex-end;
}

#contact-form *::placeholder,
#help-desk *::placeholder,
#tailored-advice *::placeholder,
#inquiry-form *::placeholder {
    color: #7c869f;
}

#help-desk .ginput_container {
    display: flex;
    align-items: center;
}

@media (min-width: 48rem) {
    /* #contact-form .gfield:not(.gfield--type-textarea), */
    #help-desk .gfield,
    #tailored-advice .gfield,
    #inquiry-form .gfield {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-wrap: wrap;
    }

    #inquiry-form .gfield_label {
        width: 30%;
    }

    #help-desk .gfield_label {
        width: 20%;
    }

    #tailored-advice .ginput_container {
        width: 60%;
    }

    /* #contact-form .ginput_container:not(.gfield--type-textarea), */
    #help-desk .ginput_container,
    #inquiry-form .ginput_container {
        width: 65%;
    }

    #help-desk .gfield--type-textarea > * {
        width: 100%;
    }

    #contact-form .gform_fields {
        grid-column-gap: 2rem !important;
        -moz-column-gap: 2rem !important;
        column-gap: 2rem !important;
        grid-template-columns: unset !important;
        grid-template-rows: unset !important;
        inline-size: unset !important;
        grid-row-gap: 1.5rem !important;
        row-gap: 1.5rem !important;

        display: grid;
        grid-template-areas:
            "choices textarea"
            "name textarea"
            "companyname textarea"
            "email textarea"
            "phonenumber textarea";
    }

    #contact-form .gfield * {
        font-size: 0.75rem !important;
    }

    #contact-form .gfield--type-radio {
        grid-area: choices;
    }

    #contact-form .gfield--type-text {
        grid-area: name;
        display: flex;
        gap: 1rem;
    }

    #contact-form .input-bedrijfsnaam {
        grid-area: companyname;
        display: flex;
        gap: 1rem;
    }

    #contact-form .gfield--type-email {
        grid-area: email;
        display: flex;
        gap: 1rem;
    }

    #contact-form .gfield--type-phone {
        grid-area: phonenumber;
        display: flex;
        gap: 1rem;
    }

    body #contact-form .gform_body textarea,
    #contact-form .gfield--type-textarea {
        grid-area: textarea;
        height: 93%;
    }

    #contact-form .ginput_container {
        height: 100%;
    }

    body #contact-form .gform_body textarea {
        min-block-size: initial !important;

    }

    #contact-form .gfield--type-phone .gfield_label,
    #contact-form .gfield--type-email .gfield_label,
    #contact-form .gfield--type-text .gfield_label {

        width: 50%;

    }
}
